wordCloud.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. <template>
  2. <div class="word-container">
  3. <div class="chart" id="chart_right1"></div>
  4. </div>
  5. </template>
  6. <script>
  7. import '@/assets/js/echarts-wordcloud.min'
  8. export default {
  9. name: "wordCloud",
  10. data() {
  11. return {
  12. timer: null
  13. }
  14. },
  15. mounted() {
  16. this.getEchartRight1();
  17. this.timer = setInterval(() => {
  18. this.getEchartRight1();
  19. }, 5000)
  20. },
  21. methods: {
  22. getEchartRight1() {
  23. let myChart = echarts.init(document.getElementById('chart_right1'));
  24. let option = {
  25. // tooltip: {
  26. // show: false
  27. // },
  28. series: [{
  29. type: 'wordCloud',
  30. gridSize: 1,
  31. sizeRange: [12, 50],
  32. rotationRange: [-90, 90],
  33. rotationStep: 45,
  34. shape: 'diamond',
  35. width: '90%',
  36. textPadding: 0,
  37. autoSize: {
  38. enable: true,
  39. minSize: 6
  40. },
  41. textStyle: {
  42. normal: {
  43. textBorderColor: 'rgba(255,255,255,0.3)',
  44. textBorderWidth: 1,
  45. color: () => {
  46. return 'rgb(' + [
  47. Math.round(Math.random() * 160),
  48. Math.round(Math.random() * 160),
  49. Math.round(Math.random() * 160)
  50. ].join(',') + ')';
  51. }
  52. },
  53. emphasis: {
  54. fontSize: 20,
  55. // shadowBlur: 10,
  56. // shadowColor: 'rgba(255,255,255, .1)'
  57. }
  58. },
  59. data: [{
  60. name: '钟南山',
  61. value: 810
  62. }, {
  63. name: '武汉',
  64. value: 520
  65. },{
  66. name: "隔离",
  67. value: 928
  68. },{
  69. name: "白衣天使",
  70. value: 906
  71. },{
  72. name: "健康码",
  73. value: 825
  74. },{
  75. name: "口罩",
  76. value: 514
  77. },{
  78. name: "火神山",
  79. value: 486
  80. },{
  81. name: "清零",
  82. value: 53
  83. },{
  84. name: "驰援",
  85. value: 927
  86. },{
  87. name: "方舱医院",
  88. value: 1308
  89. },{
  90. name: "一级响应",
  91. value: 693
  92. },{
  93. name: "休舱",
  94. value: 611
  95. },{
  96. name: "集中救治",
  97. value: 512
  98. },{
  99. name: "中国速度",
  100. value: 382
  101. },{
  102. name: "大国担当",
  103. value: 312
  104. },{
  105. name: "制造自信",
  106. value: 187
  107. },{
  108. name: "科学防治",
  109. value: 163
  110. },{
  111. name: "依法防控",
  112. value: 104
  113. },{
  114. name: "中国加油",
  115. value: 3
  116. },{
  117. name: "致敬",
  118. value: 31
  119. },{
  120. name: "最美逆行",
  121. value: 941
  122. },{
  123. name: "会师武汉",
  124. value: 585
  125. },{
  126. name: "战胜疫情",
  127. value: 473
  128. },{
  129. name: "捐赠",
  130. value: 358
  131. },{
  132. name: "共渡难关",
  133. value: 246
  134. },{
  135. name: "共抗疫情",
  136. value: 207
  137. },{
  138. name: "众志成城",
  139. value: 194
  140. },{
  141. name: "山河无恙",
  142. value: 104
  143. },{
  144. name: "守望相助",
  145. value: 87
  146. },{
  147. name: "大爱无疆",
  148. value: 415
  149. },{
  150. name: "隔离",
  151. value: 253
  152. },{
  153. name: "隔空喊话",
  154. value: 211
  155. },{
  156. name: "人类命运共同体",
  157. value: 116
  158. },{
  159. name: "人民战疫",
  160. value: 1309
  161. }]
  162. }]
  163. }
  164. myChart.setOption(option, true);
  165. window.addEventListener('resize', () => {
  166. myChart.resize();
  167. });
  168. },
  169. },
  170. beforeDestroy() {
  171. clearInterval(this.timer);
  172. }
  173. };
  174. </script>
  175. <style lang="scss" scoped>
  176. .word-container {
  177. .chart {
  178. height: 3rem;
  179. }
  180. }
  181. </style>