<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Basic Line - React</title> <link href="../../assets/styles.css" rel="stylesheet" /> <style> #chart { max-width: 650px; margin: 35px auto; } </style> </head> <body> <div id="app"></div> <div id="html"> <div id="chart"> <ReactApexChart options={this.state.options} series={this.state.series} type="line" height="350" /> </div> </div> <script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script> <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script> <script src="https://unpkg.com/prop-types@15.6.2/prop-types.min.js"> </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.34/browser.min.js"></script> <script src="../../assets/stock-prices.js"></script> <script src="https://cdn.jsdelivr.net/npm/apexcharts@latest"></script> <script src="https://unpkg.com/react-apexcharts@1.1.0/dist/react-apexcharts.iife.min.js"></script> <script type="text/babel"> class LineChart extends React.Component { constructor(props) { super(props); this.state = { options: { annotations: { yaxis: [{ y: 8200, borderColor: '#00E396', label: { borderColor: '#00E396', style: { color: '#fff', background: '#00E396', }, text: 'Support', } }, { y: 8600, y2: 9000, borderColor: '#FEB019', opacity: 0.1, label: { borderColor: '#333', style: { fontSize: '10px', color: '#333', background: '#FEB019', }, text: 'Y-axis range', } }], xaxis: [{ x: new Date('23 Nov 2017').getTime(), strokeDashArray: 0, borderColor: '#775DD0', label: { borderColor: '#775DD0', style: { color: '#fff', background: '#775DD0', }, text: 'Anno Test', } }, { x: new Date('26 Nov 2017').getTime(), x2: new Date('28 Nov 2017').getTime(), borderColor: '#B3F7CA', opacity: 0.5, label: { borderColor: '#B3F7CA', style: { fontSize: '10px', color: '#fff', background: '#00E396', }, offsetY: -10, text: 'X-axis range', } }], points: [{ x: new Date('01 Dec 2017').getTime(), y: 8607.55, marker: { size: 8, fillColor: '#fff', strokeColor: 'red', radius: 2, cssClass: 'apexcharts-custom-class' }, label: { borderColor: '#FF4560', offsetY: 0, style: { color: '#fff', background: '#FF4560', }, text: 'Point Annotation', } }] }, chart: { height: 350, type: 'line', id: 'areachart-2' }, dataLabels: { enabled: false }, stroke: { curve: 'straight' }, grid: { padding: { right: 30, left: 20 } }, title: { text: 'Line with Annotations', align: 'left' }, labels: series.monthDataSeries1.dates, xaxis: { type: 'datetime', } }, series: [{ data: series.monthDataSeries1.prices }], } } render() { return ( <div> <div id="chart"> <ReactApexChart options={this.state.options} series={this.state.series} type="line" height="350" /> </div> <div id="html-dist"> </div> </div> ); } } const domContainer = document.querySelector('#app'); ReactDOM.render(React.createElement(LineChart), domContainer); </script> </body> </html>