信通院-灾备 图表源码(在产品图表库基础上进行修改),开发逻辑和产品图表库一致

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475
  1. import Chart from "../../../src/chart/pie/ChartPie17/ChartPie17";
  2. import option from '../../../src/chart/pie/ChartPie17/defaultOption';
  3. let pie=new Chart(document.querySelector(".c1"),{});
  4. window.addEventListener('resize',function() {
  5. pie.resize();
  6. })
  7. setTimeout(()=>{
  8. pie.setOption(defaultOption);
  9. },5000)
  10. setTimeout(()=>{
  11. pie.setOption(defaultOption1);
  12. },3000)
  13. // setTimeout(()=>{
  14. // pie.setOption(defaultOption2);
  15. // },6000)
  16. // setTimeout(()=>{
  17. // pie.setOption(defaultOption3);
  18. // },10000)
  19. const defaultOption = {
  20. bg:{
  21. backgroundColor:"#000000"
  22. },
  23. pie:{
  24. addOutline: true,
  25. startAngle: -90,
  26. z: 2,
  27. // 是否圆环显示
  28. isRing:false,
  29. center: {
  30. x:"0%",
  31. y:"0%"
  32. },
  33. radius: '80%',
  34. dis: -50, //饼图的厚度
  35. labelLine: {
  36. show: true,
  37. length1: 20,
  38. length2: 10,
  39. },
  40. label: {
  41. show: false,
  42. fontSize: 16,
  43. // inside outside
  44. position:'inside',
  45. // 强制显示所有标签
  46. allShow:false,
  47. unit:'{value}件'
  48. },
  49. centerLabel:{
  50. show: true,
  51. color:'#ffffff',
  52. fontSize: 18
  53. }
  54. },
  55. // legend: {
  56. // show: true,
  57. // left: "right",
  58. // top: '5%',
  59. // orient: 'vertical',
  60. // itemAngelR:3,
  61. // padding:1,
  62. // },
  63. legend: {
  64. show: true,
  65. // left: "70%",
  66. left: "80%",
  67. top: '5%',
  68. orient: 'vertical',
  69. itemAngelR:3,
  70. padding:1,
  71. itemWidth: 8,
  72. itemHeight: 8,
  73. borderRadius: 4,
  74. textStyle: {
  75. fontSize: 12,
  76. color: "#ffffff"
  77. }
  78. },
  79. tooltip: {
  80. show: true,
  81. paddingW:10,
  82. paddingH: 10,
  83. itemGap: 5,
  84. //距目标的偏移值
  85. offsetX: 15,
  86. offsetY: 0,
  87. titleFontSize:12,
  88. titleColor: '#ffffff',
  89. itemFontSize:12,
  90. itemColor:"#8c61f9",
  91. borderColor: '#011245',
  92. borderWidth: 0,
  93. borderRadius: 0,
  94. backgroundColor: 'rgba(0,16,62,0.9)',
  95. },
  96. shape: {
  97. faceColor:"#daf3fb",
  98. lightColor: "#ffffff"
  99. },
  100. // color: ['#0090ff', '#00f1ff','#0000ff', '#0021ff','#003fff', '#0061ff'],
  101. color:['#3588dc', '#04a2ae', '#42ffff', '#a2f9ff', '#01a0c8', '#73a7cb', '#74e9f2', '#92d2f1', '#b7d4fa','#83b283', '#c3caf8'],
  102. grid:{
  103. left:"20%",
  104. right:"20%",
  105. top:"20%",
  106. bottom:"15%"
  107. },
  108. // valueAxis:{
  109. // },
  110. // xAxis:{
  111. // data:["小米","华为","苹果","三星","vivo","oppo"] //?????????????????
  112. // },
  113. // series:[{
  114. // data:[639539,548671,457822,223133,158514,122348]
  115. // }]
  116. series: [
  117. // {
  118. // name: '类别1',
  119. // value: 99
  120. // },{
  121. // name: '类别10',
  122. // value: 1
  123. // }
  124. {
  125. name: '类别1',
  126. value: 30
  127. },
  128. {
  129. name: "类别2",
  130. value: 50
  131. },
  132. {
  133. name: "类别3",
  134. value: 40
  135. }, {
  136. name: "类别4",
  137. value: 30
  138. }
  139. ,
  140. {
  141. name: "类别5",
  142. value: 50
  143. },
  144. {
  145. name: "类别6",
  146. value: 50
  147. },
  148. // {
  149. // name: "类别7",
  150. // value: 30
  151. // },
  152. // {
  153. // name: "类别8",
  154. // value: 40
  155. // }, {
  156. // name: "类别9",
  157. // value: 30
  158. // }
  159. // ,
  160. // {
  161. // name: "类别10",
  162. // value: 50
  163. // },
  164. // {
  165. // name: "类别11",
  166. // value: 50
  167. // },
  168. // {
  169. // name: "类别12",
  170. // value: 30
  171. // }
  172. ],
  173. };
  174. const defaultOption1 = {
  175. bg:{
  176. backgroundColor:"#000000"
  177. },
  178. pie:{
  179. addOutline: true,
  180. startAngle: -90,
  181. z: 2,
  182. // 是否圆环显示
  183. isRing:false,
  184. center: {
  185. x:"0%",
  186. y:"0%"
  187. },
  188. radius: '80%',
  189. dis: -50, //饼图的厚度
  190. labelLine: {
  191. show: true,
  192. length1: 20,
  193. length2: 10,
  194. },
  195. label: {
  196. show: false,
  197. fontSize: 16,
  198. // inside outside
  199. position:'inside',
  200. // 强制显示所有标签
  201. allShow:false,
  202. unit:'{value}件'
  203. },
  204. centerLabel:{
  205. show: true,
  206. color:'#ffffff',
  207. fontSize: 18
  208. }
  209. },
  210. // legend: {
  211. // show: true,
  212. // left: "right",
  213. // top: '5%',
  214. // orient: 'vertical',
  215. // itemAngelR:3,
  216. // padding:1,
  217. // },
  218. legend: {
  219. show: true,
  220. // left: "70%",
  221. left: "80%",
  222. top: '5%',
  223. orient: 'vertical',
  224. itemAngelR:3,
  225. padding:1,
  226. itemWidth: 8,
  227. itemHeight: 8,
  228. borderRadius: 4,
  229. textStyle: {
  230. fontSize: 12,
  231. color: "#ffffff"
  232. }
  233. },
  234. tooltip: {
  235. show: true,
  236. paddingW:10,
  237. paddingH: 10,
  238. itemGap: 5,
  239. //距目标的偏移值
  240. offsetX: 15,
  241. offsetY: 0,
  242. titleFontSize:12,
  243. titleColor: '#ffffff',
  244. itemFontSize:12,
  245. itemColor:"#8c61f9",
  246. borderColor: '#011245',
  247. borderWidth: 0,
  248. borderRadius: 0,
  249. backgroundColor: 'rgba(0,16,62,0.9)',
  250. },
  251. shape: {
  252. faceColor:"#daf3fb",
  253. lightColor: "#ffffff"
  254. },
  255. // color: ['#0090ff', '#00f1ff','#0000ff', '#0021ff','#003fff', '#0061ff'],
  256. color:['#3588dc', '#04a2ae', '#42ffff', '#a2f9ff', '#01a0c8', '#73a7cb', '#74e9f2', '#92d2f1', '#b7d4fa','#83b283', '#c3caf8'],
  257. grid:{
  258. left:"20%",
  259. right:"20%",
  260. top:"20%",
  261. bottom:"15%"
  262. },
  263. // valueAxis:{
  264. // },
  265. // xAxis:{
  266. // data:["小米","华为","苹果","三星","vivo","oppo"] //?????????????????
  267. // },
  268. // series:[{
  269. // data:[639539,548671,457822,223133,158514,122348]
  270. // }]
  271. series: [
  272. // {
  273. // name: '类别1',
  274. // value: 99
  275. // },{
  276. // name: '类别10',
  277. // value: 1
  278. // }
  279. {
  280. name: '类别1',
  281. value: 30
  282. },
  283. {
  284. name: "类别2",
  285. value: 50
  286. },
  287. {
  288. name: "类别3",
  289. value: 40
  290. }, {
  291. name: "类别4",
  292. value: 30
  293. }
  294. ,
  295. {
  296. name: "类别5",
  297. value: 50
  298. },
  299. {
  300. name: "类别6",
  301. value: 50
  302. },
  303. {
  304. name: "类别7",
  305. value: 30
  306. },
  307. {
  308. name: "类别8",
  309. value: 40
  310. }, {
  311. name: "类别9",
  312. value: 30
  313. }
  314. // ,
  315. // {
  316. // name: "类别10",
  317. // value: 50
  318. // },
  319. // {
  320. // name: "类别11",
  321. // value: 50
  322. // },
  323. // {
  324. // name: "类别12",
  325. // value: 30
  326. // }
  327. ],
  328. };
  329. const defaultOption2 = {
  330. // title: title.option('饼图'),
  331. legend: option.legend,
  332. tooltip: option.tooltip,
  333. // pie: option.pie,
  334. pie:{
  335. startAngle: -90,
  336. z: 2,
  337. // 是否圆环显示
  338. isRing:false,
  339. center: {
  340. x:"0%",
  341. y:"0%"
  342. },
  343. radius: '100%',
  344. dis: -50, //饼图的厚度
  345. labelLine: {
  346. show: true,
  347. length1: 20,
  348. length2: 10,
  349. },
  350. label: {
  351. show: false,
  352. fontSize: 16,
  353. // inside outside
  354. position:'inside',
  355. // 强制显示所有标签
  356. allShow:false,
  357. unit:'{value}件'
  358. },
  359. centerLabel:{
  360. show: true,
  361. color:'#ffff00'
  362. }
  363. },
  364. grid: option.grid,
  365. bg:{
  366. backgroundColor:"#0b162f"
  367. },
  368. // color:['#fe6a01', '#54b3ea', '#ffffff','#00fcff','#0d67a1','#0090ff','#0010ff'],
  369. color:['#ff0000','#ccc','#31dc0a','#dcd70a','#0a3edc','#7d0adc','#212729'],
  370. series: [
  371. // {
  372. // name: '类别1',
  373. // value: 10
  374. // },
  375. {
  376. name: '类别1',
  377. value: 100
  378. },
  379. {
  380. name: "类别2",
  381. value: 15
  382. },
  383. {
  384. name: "类别3",
  385. value: 25
  386. },
  387. {
  388. name: "类别4",
  389. value: 90
  390. }, {
  391. name: "类别5",
  392. value:20
  393. }
  394. ],
  395. };
  396. const defaultOption3 = {
  397. // title: title.option('饼图'),
  398. legend: option.legend,
  399. tooltip: option.tooltip,
  400. // pie: option.pie,
  401. pie:{
  402. startAngle: -90,
  403. z: 2,
  404. // 是否圆环显示
  405. isRing:false,
  406. center: {
  407. x:"0%",
  408. y:"0%"
  409. },
  410. radius: '100%',
  411. dis: -50, //饼图的厚度
  412. labelLine: {
  413. show: true,
  414. length1: 20,
  415. length2: 10,
  416. },
  417. label: {
  418. show: false,
  419. fontSize: 16,
  420. // inside outside
  421. position:'inside',
  422. // 强制显示所有标签
  423. allShow:false,
  424. unit:'{value}件'
  425. },
  426. centerLabel:{
  427. show: false,
  428. color:'#ffff00'
  429. }
  430. },
  431. grid: option.grid,
  432. bg:{
  433. backgroundColor:"#0b162f"
  434. },
  435. // color:['#fe6a01', '#54b3ea', '#ffffff','#00fcff','#0d67a1','#0090ff','#0010ff'],
  436. color:['#ff0000','#ccc','#31dc0a','#dcd70a','#0a3edc','#7d0adc','#212729'],
  437. series: [
  438. // {
  439. // name: '类别1',
  440. // value: 10
  441. // },
  442. {
  443. name: '类别1',
  444. value: 100
  445. },
  446. {
  447. name: "类别2",
  448. value: 15
  449. },
  450. {
  451. name: "类别3",
  452. value: 25
  453. },
  454. {
  455. name: "类别4",
  456. value: 90
  457. }, {
  458. name: "类别5",
  459. value:20
  460. }
  461. ],
  462. };