<!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>Donut Chart with pattern</title> <link href="../../assets/styles.css" rel="stylesheet" /> <style> #chart { padding: 0; max-width: 380px; margin: 35px auto; } </style> <script> window.Promise || document.write( '<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"><\/script>' ) window.Promise || document.write( '<script src="https://cdn.jsdelivr.net/npm/eligrey-classlist-js-polyfill@1.2.20171210/classList.min.js"><\/script>' ) window.Promise || document.write( '<script src="https://cdn.jsdelivr.net/npm/findindex_polyfill_mdn"><\/script>' ) </script> <script src="https://cdn.jsdelivr.net/npm/react@16.12/umd/react.production.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/react-dom@16.12/umd/react-dom.production.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/prop-types@15.7.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="https://cdn.jsdelivr.net/npm/apexcharts"></script> <script src="https://cdn.jsdelivr.net/npm/react-apexcharts@1.3.6/dist/react-apexcharts.iife.min.js"></script> </head> <body> <div id="app"></div> <div id="html"> <div id="chart"> <ReactApexChart options={this.state.options} series={this.state.series} type="donut" width={380} /> </div> </div> <script type="text/babel"> class ApexChart extends React.Component { constructor(props) { super(props); this.state = { series: [44, 55, 41, 17, 15], options: { chart: { width: 380, type: 'donut', dropShadow: { enabled: true, color: '#111', top: -1, left: 3, blur: 3, opacity: 0.2 } }, stroke: { width: 0, }, plotOptions: { pie: { donut: { labels: { show: true, total: { showAlways: true, show: true } } } } }, labels: ["Comedy", "Action", "SciFi", "Drama", "Horror"], dataLabels: { dropShadow: { blur: 3, opacity: 0.8 } }, fill: { type: 'pattern', opacity: 1, pattern: { enabled: true, style: ['verticalLines', 'squares', 'horizontalLines', 'circles','slantedLines'], }, }, states: { hover: { filter: 'none' } }, theme: { palette: 'palette2' }, title: { text: "Favourite Movie Type" }, responsive: [{ breakpoint: 480, options: { chart: { width: 200 }, legend: { position: 'bottom' } } }] }, }; } render() { return ( <div> <div id="chart"> <ReactApexChart options={this.state.options} series={this.state.series} type="donut" width={380} /> </div> <div id="html-dist"></div> </div> ); } } const domContainer = document.querySelector('#app'); ReactDOM.render(React.createElement(ApexChart), domContainer); </script> </body> </html>