微信小程序应用echarts

1、clone官方库echarts-for-weixin到本地,将其中的ec-canvas目录复制到自己项目的某个目录下(如components)

2、在自己的组件或页面中(.json文件),按如下方式使用,路径根据自己的项目具体设置

{
  "usingComponents": {
    "ec-canvas": "../components/ec-canvas/ec-canvas"
  }
}
3、在页面中引用(.wxml)
复制代码
样式:
/* 折线图 */
.overview-charts {
width: 100%;
height: 560rpx;
}
 
<view class="overview-charts"> <ec-canvas style="width: 100%; height: 560rpx;z-index: 1;" id="my-analysis-chart" canvas-id="my-analysis-line" ec="{{ overviewChart }}"></ec-canvas> </view>
复制代码

4、在.js文件中,获取图标数据,然后获取echarts实例,设置数据和配置项

复制代码
data: {
overviewChart: {
      // 将 lazyLoad 设为 true 后,需要手动初始化图表
      lazyLoad: true
    },
}

// 折线图
  initLineChart(chartData) {
    let myAnalysisComponent = this.selectComponent('#my-analysis-chart');
    myAnalysisComponent.init((canvas, width, height, dpr) => {
      // 获取组件的 canvas、width、height 后的回调函数
      // 初始化图表
      const lineChart = echarts.init(canvas, null, {
        width: width,
        height: height,
        devicePixelRatio: dpr
      });
      this.setLineChartOption(lineChart, chartData)
      return lineChart;
    });
  },
  setLineChartOption(chart, chartData) {
    const option = {
      grid: {
        top: 10,
        left: '2%',
        right: '2%',
        bottom: '3%',
        containLabel: true
      },
      tooltip: {
        trigger: 'item',
        borderColor: '#FFFFFF',
        formatter: (params) => {
          console.log('params--',params);
          let str = params.name + '\n'
          str += `${params.marker}${params.seriesName}: ${params.value}`
          return str;
        }
      },
      dataZoom: [
        //滑动条
        {
          xAxisIndex: 0, //这里是从X轴的0刻度开始
          show: true, //是否显示滑动条,不影响使用
          type: "inside", // 这个 dataZoom 组件是 slider 型 dataZoom 组件
          startValue: 0, // 从头开始。
          endValue: 6, // 一次性展示6个。
          zoomLock: false,
        },
      ],
      xAxis: {
        type: 'category',
        data: chartData.xdata || [],
        axisLabel: {
          interval: 0,
          rotate: 70
        }
      },
      yAxis: {
        minInterval: 1,
        type: 'value'
      },
      series: [
        {
          name: '折线图',
          lineStyle: {
            color: '#0075EF'
          },
          areaStyle: {
            color: {
              type: 'linear',
              x: 0,
              y: 0,
              x2: 0,
              y2: 1,
              colorStops: [{
                offset: 0, color: 'rgba(0,117,239,0.15)' // 0% 处的颜色
              }, {
                offset: 1, color: 'rgba(0,117,239,0)' // 100% 处的颜色
              }],
              global: false // 缺省为 false
            }
          },
          symbol: 'circle',
          symbolSize: '6',
          itemStyle: {
            // 设置symbol的颜色
            normal: {
              color: '#0075EF'
            }
          },
          data: chartData.ydata || [],
          type: 'line'
        }
      ]
    };
    chart.setOption(option);
    return chart;
  },
复制代码

 

 
posted @   xiaoxiaoxigua  阅读(190)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示