circle-custom-angle.html 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  7. <title>Circle Custom Angle</title>
  8. <link href="../../assets/styles.css" rel="stylesheet" />
  9. <style>
  10. #chart {
  11. padding: 0;
  12. max-width: 650px;
  13. margin: 35px auto;
  14. }
  15. .apexcharts-legend text {
  16. font-weight: 900;
  17. }
  18. </style>
  19. <script>
  20. window.Promise ||
  21. document.write(
  22. '<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"><\/script>'
  23. )
  24. window.Promise ||
  25. document.write(
  26. '<script src="https://cdn.jsdelivr.net/npm/eligrey-classlist-js-polyfill@1.2.20171210/classList.min.js"><\/script>'
  27. )
  28. window.Promise ||
  29. document.write(
  30. '<script src="https://cdn.jsdelivr.net/npm/findindex_polyfill_mdn"><\/script>'
  31. )
  32. </script>
  33. <script src="https://cdn.jsdelivr.net/npm/react@16.12/umd/react.production.min.js"></script>
  34. <script src="https://cdn.jsdelivr.net/npm/react-dom@16.12/umd/react-dom.production.min.js"></script>
  35. <script src="https://cdn.jsdelivr.net/npm/prop-types@15.7.2/prop-types.min.js"></script>
  36. <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.34/browser.min.js"></script>
  37. <script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
  38. <script src="https://cdn.jsdelivr.net/npm/react-apexcharts@1.3.6/dist/react-apexcharts.iife.min.js"></script>
  39. </head>
  40. <body>
  41. <div id="app"></div>
  42. <div id="html">
  43. &lt;div id=&quot;chart&quot;&gt;
  44. &lt;ReactApexChart options={this.state.options} series={this.state.series} type=&quot;radialBar&quot; height={390} /&gt;
  45. &lt;/div&gt;
  46. </div>
  47. <script type="text/babel">
  48. class ApexChart extends React.Component {
  49. constructor(props) {
  50. super(props);
  51. this.state = {
  52. series: [76, 67, 61, 90],
  53. options: {
  54. chart: {
  55. height: 390,
  56. type: 'radialBar',
  57. },
  58. plotOptions: {
  59. radialBar: {
  60. offsetY: 0,
  61. startAngle: 0,
  62. endAngle: 270,
  63. hollow: {
  64. margin: 5,
  65. size: '30%',
  66. background: 'transparent',
  67. image: undefined,
  68. },
  69. dataLabels: {
  70. name: {
  71. show: false,
  72. },
  73. value: {
  74. show: false,
  75. }
  76. }
  77. }
  78. },
  79. colors: ['#1ab7ea', '#0084ff', '#39539E', '#0077B5'],
  80. labels: ['Vimeo', 'Messenger', 'Facebook', 'LinkedIn'],
  81. legend: {
  82. show: true,
  83. floating: true,
  84. fontSize: '16px',
  85. position: 'left',
  86. offsetX: 160,
  87. offsetY: 15,
  88. labels: {
  89. useSeriesColors: true,
  90. },
  91. markers: {
  92. size: 0
  93. },
  94. formatter: function(seriesName, opts) {
  95. return seriesName + ": " + opts.w.globals.series[opts.seriesIndex]
  96. },
  97. itemMargin: {
  98. vertical: 3
  99. }
  100. },
  101. responsive: [{
  102. breakpoint: 480,
  103. options: {
  104. legend: {
  105. show: false
  106. }
  107. }
  108. }]
  109. },
  110. };
  111. }
  112. render() {
  113. return (
  114. <div>
  115. <div id="chart">
  116. <ReactApexChart options={this.state.options} series={this.state.series} type="radialBar" height={390} />
  117. </div>
  118. <div id="html-dist"></div>
  119. </div>
  120. );
  121. }
  122. }
  123. const domContainer = document.querySelector('#app');
  124. ReactDOM.render(React.createElement(ApexChart), domContainer);
  125. </script>
  126. </body>
  127. </html>