当前位置:   article > 正文

在uniapp+vue cli中使用lime-echart图表,关于使用异步数据

lime-echart

1.前言

        在uniapp项目中,我们想要用图表,但是一般的echarts由于代码中存在使用浏览器对象,不能使用,本篇文章推荐使用lime-echart作为图表组件。

        项目环境:uniapp vue3 vue-cli

2.使用

        2.1 安装

  1. pnpm add echarts
  2. -or-
  3. npm install echarts

        2.2 引入

        引入echarts

  1. // 全量包 二选一
  2. import * as echarts from 'echarts'
  3. // 按需引入 二选一
  4. import * as echarts from 'echarts/core';
  5. import {LineChart, BarChart} from 'echarts/charts';
  6. import {TitleComponent,TooltipComponent,GridComponent, DatasetComponent, TransformComponent, LegendComponent } from 'echarts/components';
  7. // 标签自动布局,全局过渡动画等特性
  8. import {LabelLayout,UniversalTransition} from 'echarts/features';
  9. // 引入 Canvas 渲染器,注意引入 CanvasRenderer 是必须的一步
  10. import {CanvasRenderer} from 'echarts/renderers';
  11. // 按需引入 注册必须的组件
  12. echarts.use([
  13. LegendComponent,
  14. TitleComponent,
  15. TooltipComponent,
  16. GridComponent,
  17. DatasetComponent,
  18. TransformComponent,
  19. LineChart,
  20. BarChart,
  21. LabelLayout,
  22. UniversalTransition,
  23. CanvasRenderer
  24. ]);

        引入lime-echart组件

        将l-chart组件添加到components文件夹中,在项目页面中添加组件。

  1. <template>
  2. <l-echart></l-echart>
  3. </template>
  4. <script setup>
  5. import LEchart from "@/components/l-echart/l-echart.vue";
  6. </script>

3.示例

        html

  1. <template>
  2. <view>
  3. <l-echart ref="chartRef"></l-echart>
  4. </view>
  5. </template>

        script

  1. import {ref} from 'vue';
  2. import { onLoad} from "@dcloudio/uni-app";
  3. import LEchart from "@/components/l-echart/l-echart.vue";
  4. import * as echarts from "echarts";
  5. const chartRef=ref(null)
  6. onLoad(()=>{
  7. getDataList().then(()=>{
  8. initChart(data)
  9. })
  10. })
  11. //向后台获取数据
  12. function getDataList(){
  13. return new Promise((resolve,reject)=>{
  14. //TODO
  15. //你的请求
  16. })
  17. }
  18. //初始化图表
  19. function initChart(data){
  20. if (data.length == 0) return;
  21. chartRef.value.init(echarts, chart => {
  22. chart.setOption(getOption(data));
  23. });
  24. }
  25. // 获取图表选项设置
  26. function getOption(){
  27. var option = {
  28. color: ["#F19C91", "#F3D48C", "#F4DFAD"],
  29. series: [
  30. {
  31. name: "form",
  32. type: "pie",
  33. minAngle: 30,
  34. itemStyle: {
  35. borderColor: "#fff",
  36. borderWidth: 2,
  37. borderRadius: 5,
  38. },
  39. radius: [30, 60],
  40. data: data,
  41. label: {
  42. position: "inner",
  43. formatter: function (v) {
  44. // console.log(v);
  45. return `{value|${v.percent.toFixed(0)}%}`;
  46. },
  47. minMargin: 5,
  48. edgeDistance: 0,
  49. lineHeight: 15,
  50. rich: {
  51. value: {
  52. fontFamily: "SourceHanSansCN Bold",
  53. fontSize: 10,
  54. color: "#fff",
  55. },
  56. },
  57. },
  58. }
  59. ],
  60. };
  61. return option;
  62. }

4.相关链接

lime-echart-一个基于 JavaScript 的开源可视化图表库

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/612608
推荐阅读
相关标签
  

闽ICP备14008679号