带图标的echarts

需求:实现排行榜的柱状图

思路:由于是排行榜  所以y轴刻度值不固定  我才用使用index索引值 去对应显示的图标

yAxis 下面的formatter定义格式  rich定义样式

效果图:

const weatherIcons = {
  0: ROOT_PATH + '/data/asset/img/weather/sunny_128.png',
  1: ROOT_PATH + '/data/asset/img/weather/cloudy_128.png',
  2: ROOT_PATH + '/data/asset/img/weather/showers_128.png'
};
const seriesLabel = {
  show: true
};
option = {
  title: {
    text: 'Weather Statistics'
  },
  tooltip: {
    trigger: 'axis',
    axisPointer: {
      type: 'shadow'
    }
  },
  legend: {
    data: ['City Alpha', 'City Beta', 'City Gamma']
  },
  grid: {
    left: 100
  },
  toolbox: {
    show: true,
    feature: {
      saveAsImage: {}
    }
  },
  xAxis: {
    type: 'value',
    name: 'Days',
    axisLabel: {
      formatter: '{value}'
    }
  },
  yAxis: {
    type: 'category',
    inverse: true,
    data: ['Sunny', 'Cloudy', 'Showers'],
    axisLabel: {
       inside:true,        // 标签刻度朝内
            margin:0,           // 清除默认间距
            padding:[0,10,0,0], // 右边内边距10
            textStyle:{
                align:'right'   // 文字右对齐
            },
      formatter: function (value,index) {
        //index 对应的是rich里面的具体样式
        return '{' + index + '| }{value|' + value + '}';
      },
   rich: {
        value: {
          lineHeight: 30,
          align: 'center'
        },
        
      
       0: {
          height: 20,
          align: 'left',
      
          backgroundColor: {
            image: weatherIcons[0]
          }
        },
        1: {
          height: 20,
          align: 'center',
          backgroundColor: {
            image: weatherIcons[1]
          }
        },
        2: {
          height: 20,
          align: 'center',
          backgroundColor: {
            image: weatherIcons[2]
          }
        }
      }
    }
  },
  series: [
    {
      name: 'City Alpha',
      type: 'bar',
      data: [165, 170, 30],
     
        stack: 'Total',
      label: { //label值是否显示
        show: true,
        position: 'right'//显示位置
      },
        barWidth: "30%",
      markPoint: {
        symbolSize: 1,
        symbolOffset: [0, '50%'],
        label: {
         
          // backgroundColor: 'rgb(242,242,242)',
          borderColor: '#aaa',
          color:'#f00',
          // borderWidth: 1,
          borderRadius: 4,
          // padding: [4, 10],
    
          // shadowBlur: 5,
          // shadowColor: '#000',
          // shadowOffsetX: 0,
          // shadowOffsetY: 1,
          position: 'right',
          distance: 20,
      
        },
       
      }
    },
 
  ]
};

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值