circle-gradient.html 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  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 Concept 2</title>
  8. <link href="../../assets/styles.css" rel="stylesheet" />
  9. <style>
  10. #card {
  11. background: #fff;
  12. max-width: 650px;
  13. margin: 35px auto;
  14. padding: 0px;
  15. text-align: center;
  16. }
  17. h2 {
  18. font-size: 18px;
  19. margin-bottom: 0;
  20. color: rgb(192, 192, 192);
  21. }
  22. h1 {
  23. font-size: 22px;
  24. margin-top: 0;
  25. color: #333;
  26. }
  27. .footer {
  28. position: absolute;
  29. bottom: 16px;
  30. left: 0;
  31. right: 0;
  32. font-size: 14px;
  33. text-align: center
  34. }
  35. </style>
  36. <script>
  37. window.Promise ||
  38. document.write(
  39. '<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"><\/script>'
  40. )
  41. window.Promise ||
  42. document.write(
  43. '<script src="https://cdn.jsdelivr.net/npm/eligrey-classlist-js-polyfill@1.2.20171210/classList.min.js"><\/script>'
  44. )
  45. window.Promise ||
  46. document.write(
  47. '<script src="https://cdn.jsdelivr.net/npm/findindex_polyfill_mdn"><\/script>'
  48. )
  49. </script>
  50. <script src="https://cdn.jsdelivr.net/npm/react@16.12/umd/react.production.min.js"></script>
  51. <script src="https://cdn.jsdelivr.net/npm/react-dom@16.12/umd/react-dom.production.min.js"></script>
  52. <script src="https://cdn.jsdelivr.net/npm/prop-types@15.7.2/prop-types.min.js"></script>
  53. <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.34/browser.min.js"></script>
  54. <script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
  55. <script src="https://cdn.jsdelivr.net/npm/react-apexcharts@1.3.6/dist/react-apexcharts.iife.min.js"></script>
  56. </head>
  57. <body>
  58. <div id="app"></div>
  59. <div id="html">
  60. &lt;div id=&quot;card&quot;&gt;
  61. &lt;div id=&quot;chart&quot;&gt;
  62. &lt;ReactApexChart options={this.state.options} series={this.state.series} type=&quot;radialBar&quot; height={350} /&gt;
  63. &lt;/div&gt;
  64. &lt;/div&gt;
  65. </div>
  66. <script type="text/babel">
  67. class ApexChart extends React.Component {
  68. constructor(props) {
  69. super(props);
  70. this.state = {
  71. series: [75],
  72. options: {
  73. chart: {
  74. height: 350,
  75. type: 'radialBar',
  76. toolbar: {
  77. show: true
  78. }
  79. },
  80. plotOptions: {
  81. radialBar: {
  82. startAngle: -135,
  83. endAngle: 225,
  84. hollow: {
  85. margin: 0,
  86. size: '70%',
  87. background: '#fff',
  88. image: undefined,
  89. imageOffsetX: 0,
  90. imageOffsetY: 0,
  91. position: 'front',
  92. dropShadow: {
  93. enabled: true,
  94. top: 3,
  95. left: 0,
  96. blur: 4,
  97. opacity: 0.24
  98. }
  99. },
  100. track: {
  101. background: '#fff',
  102. strokeWidth: '67%',
  103. margin: 0, // margin is in pixels
  104. dropShadow: {
  105. enabled: true,
  106. top: -3,
  107. left: 0,
  108. blur: 4,
  109. opacity: 0.35
  110. }
  111. },
  112. dataLabels: {
  113. show: true,
  114. name: {
  115. offsetY: -10,
  116. show: true,
  117. color: '#888',
  118. fontSize: '17px'
  119. },
  120. value: {
  121. formatter: function(val) {
  122. return parseInt(val);
  123. },
  124. color: '#111',
  125. fontSize: '36px',
  126. show: true,
  127. }
  128. }
  129. }
  130. },
  131. fill: {
  132. type: 'gradient',
  133. gradient: {
  134. shade: 'dark',
  135. type: 'horizontal',
  136. shadeIntensity: 0.5,
  137. gradientToColors: ['#ABE5A1'],
  138. inverseColors: true,
  139. opacityFrom: 1,
  140. opacityTo: 1,
  141. stops: [0, 100]
  142. }
  143. },
  144. stroke: {
  145. lineCap: 'round'
  146. },
  147. labels: ['Percent'],
  148. },
  149. };
  150. }
  151. render() {
  152. return (
  153. <div>
  154. <div id="card">
  155. <div id="chart">
  156. <ReactApexChart options={this.state.options} series={this.state.series} type="radialBar" height={350} />
  157. </div>
  158. </div>
  159. <div id="html-dist"></div>
  160. </div>
  161. );
  162. }
  163. }
  164. const domContainer = document.querySelector('#app');
  165. ReactDOM.render(React.createElement(ApexChart), domContainer);
  166. </script>
  167. </body>
  168. </html>