lime-echart.uvue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <template>
  2. <view style="width: 100%; height: 408px;background-color: aqua;">
  3. <l-echart ref="chartRef" @finished="init"></l-echart>
  4. </view>
  5. </template>
  6. <script lang="uts" setup>
  7. // @ts-nocheck
  8. // #ifdef H5
  9. import * as echarts from 'echarts/dist/echarts.esm.js'
  10. // #endif
  11. const chartRef = ref<LEchartComponentPublicInstance|null>(null)
  12. const option = {
  13. tooltip: {
  14. trigger: 'axis',
  15. // shadowBlur: 0,
  16. textStyle: {
  17. textShadowBlur: 0
  18. },
  19. renderMode: 'richText',
  20. },
  21. // formatter: async (params: any) => {
  22. // console.log('params', params)
  23. // return 1
  24. // },
  25. legend: {
  26. data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎']
  27. },
  28. grid: {
  29. left: '3%',
  30. right: '4%',
  31. bottom: '3%',
  32. containLabel: true
  33. },
  34. xAxis: {
  35. type: 'category',
  36. boundaryGap: false,
  37. data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
  38. },
  39. yAxis: {
  40. type: 'value'
  41. },
  42. series: [
  43. {
  44. name: '邮件营销',
  45. type: 'line',
  46. stack: '总量',
  47. data: [120, 132, 101, 134, 90, 230, 210]
  48. },
  49. {
  50. name: '联盟广告',
  51. type: 'line',
  52. stack: '总量',
  53. data: [220, 182, 191, 234, 290, 330, 310]
  54. },
  55. {
  56. name: '视频广告',
  57. type: 'line',
  58. stack: '总量',
  59. data: [150, 232, 201, 154, 190, 330, 410]
  60. },
  61. {
  62. name: '直接访问',
  63. type: 'line',
  64. stack: '总量',
  65. data: [320, 332, 301, 334, 390, 330, 320]
  66. },
  67. {
  68. name: '搜索引擎',
  69. type: 'line',
  70. stack: '总量',
  71. data: [820, 932, 901, 934, 1290, 1330, 1320]
  72. }
  73. ]
  74. }
  75. const init = async () =>{
  76. if(chartRef.value== null) return
  77. // #ifdef APP
  78. const chart = await chartRef.value!.init(null)
  79. // #endif
  80. // #ifdef H5
  81. const chart = await chartRef.value!.init(echarts, null)
  82. // #endif
  83. chart.setOption(option)
  84. chart.on('mouseover', function (params) {
  85. console.log('params', params);
  86. });
  87. // setTimeout(()=> {
  88. // const option1 = {
  89. // tooltip: {
  90. // trigger: 'axis',
  91. // // shadowBlur: 0,
  92. // textStyle: {
  93. // textShadowBlur: 0
  94. // },
  95. // renderMode: 'richText',
  96. // },
  97. // legend: {
  98. // data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎']
  99. // },
  100. // grid: {
  101. // left: '3%',
  102. // right: '4%',
  103. // bottom: '3%',
  104. // containLabel: true
  105. // },
  106. // xAxis: {
  107. // type: 'category',
  108. // boundaryGap: false,
  109. // data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
  110. // },
  111. // yAxis: {
  112. // type: 'value'
  113. // },
  114. // series: [
  115. // {
  116. // name: '邮件营销',
  117. // type: 'line',
  118. // stack: '总量',
  119. // data: [820, 132, 101, 134, 90, 230, 210]
  120. // },
  121. // {
  122. // name: '联盟广告',
  123. // type: 'line',
  124. // stack: '总量',
  125. // data: [220, 182, 191, 234, 290, 330, 310]
  126. // },
  127. // {
  128. // name: '视频广告',
  129. // type: 'line',
  130. // stack: '总量',
  131. // data: [950, 232, 201, 154, 190, 330, 410]
  132. // },
  133. // {
  134. // name: '直接访问',
  135. // type: 'line',
  136. // stack: '总量',
  137. // data: [320, 332, 301, 334, 390, 330, 320]
  138. // },
  139. // {
  140. // name: '搜索引擎',
  141. // type: 'line',
  142. // stack: '总量',
  143. // data: [820, 932, 901, 934, 1290, 1330, 1320]
  144. // }
  145. // ]
  146. // }
  147. // chart.setOption(option1)
  148. // },1000)
  149. }
  150. </script>
  151. <style>
  152. </style>