Echarts使用记录

166 阅读2分钟

1、使用Echarts 绘制柱状图 高亮某一个 官网有个方法可以在data数组里设置颜色 ,这样处理起来数据比较麻烦 ,经过查找 可以使用类似formatter 的方法 在itemStyle图形样式属性的color下写个回调函数

  series: [
          {
            name: '学生人数',
            type: 'bar',
            data: [45, 49, 70, 82, 56, 77, 56, 62, 76, 80, 95, 98],
            barWidth: 38,
            itemStyle: { 
              color: function(params) { 
              // 可以使用下标或者name等值匹配都可以 
                const value = params.value;
                if (value === 82) {
                  return '#9271de';
                } else {
                  return '#ffbe00';
                }
              }
            }
          }
        ]

2、绘制柱状图图表 默认高亮并展示指定某个柱状图的的tooltip,使用dispatchAction 方法来显示 ,但是在setOption后使用dispatchAction 显示tooltip,就会导致在柱状图动画还没有结束时候,tooltip已经显示但是显示在数据为0的位置(期望是在柱状图的顶部显示)可以使用finished事件等动画渲染完成再进行回调

const _this = this;
chart.on('finished', function() { // 渲染完成事件。当渲染动画或者渐进渲染停止时触发 ps:注意 rendered也是渲染结束事件 但是并不代表渲染动画或者渐进渲染停止,只代表本帧的渲染结束。
 _this.chart.dispatchAction({ //注意this指向问题
  type: 'showTip',
  seriesIndex: 0,
  dataIndex: 3
});
});

3、自定义tooltip的样式及内容 extraCssText :样式设置 ,要么写在行内 。使用过class类名 写在style里 背景什么的好像不生效

tooltip: {
  trigger: 'item',
  position: 'top', //显示的位置
  formatter: params => {
    return `<div class="map_tips" style="position: relative;">
          <div style="position: absolute;width: 1px;height: 1px;border: 5px solid transparent; border-top: 8px solid #000; bottom: -13px;left: 45%;"></div>
          <div class="tip_row"><span>分数: </span><span> 400 - 600</span></div>
          <div class="tip_row"><span>学生数: </span><span> ${params.value}</span></div></div></div>`;
  },
  extraCssText: 'background: #000;padding-bottom: 5px; opacity: 0.59;width:100px;height:36px; font-size: 13px; color: #fff;text-align: left;border-radius: 2px'
},