ECharts柱状排名图柱子上方显示文字与图标代码实例

 更新时间:2023年11月02日 11:05:03   作者:陈大大9527  
我们在绘制柱状图时如果想要柱条上显示文字,可以参考本文,这篇文章主要给大家介绍了关于ECharts柱状排名图柱子上方显示文字与图标的相关资料,需要的朋友可以参考下

直接上干货!

效果如下:

代码如下:

methods: 中的方法

initChart() {
  let that = this;
  const fontColor = '#00D8FE'
  this.chart = this.$echarts.init(this.$refs.chart);//this.chart是data() {return {chart: null}}中创建的属性
  var option = {
    grid: {
      //柱状图位置
      top: "18%",
      left: "5%",
      right: "4%",
      bottom: "5%",
      containLabel: true,
    },
    // 柱图的标题文字
    //   title: {
    //     text: '平均游览时长:' + this.averageTime + '小时',
    //     textStyle: {
    //         align: 'left',
    //         color: '#18F6FF',
    //         fontSize: that.$base.nowSize(14),
    //     },
    //     top: '5%',
    //     left: '15%',
    // },
    tooltip: {
      show: true,
      trigger: "axis",
      axisPointer: {
        type: "shadow",
        shadowStyle: {
          color: "#65A3FF",
          opacity: 0.2,
          width: "auto",
        },
      },
      textStyle: {
        color: "#FFFFFF",
        fontFamily: "MicrosoftYaHei",
        fontSize: that.$base.nowSize(14),
      },
      borderWidth: 0,
      borderRadius: 5,
      padding: 0,
      backgroundColor: "transparent",
      formatter: function (v) {
        var str =
          '<span>' +
          v[0].name +
          ":" +
          v[0].data +
          "人</span><br/>";
       var inner =
          '<div style="color: #fff;text-align: left;font-family:Microsoft YaHei;line-height:' +
          that.$base.nowSize(22) +
          "px;font-size:" +
          that.$base.nowSize(14) +
          "px;padding: " +
          that.$base.nowSize(5) +
          "px " +
          that.$base.nowSize(10) +
          'px; border-radius:' +
          that.$base.nowSize(8) +
          'px; background: linear-gradient(90deg, #286CE9 0%, #6004F4 100%);">' +
          str +
          "</div>";
        return inner;
      },
    },
      xAxis: [
        {
          type: "category",
          data: ['光华小区', '光华小区', '光华小区', '光华小区', '光华小区', '光华小区', '光华小区', '光华小区', '光华小区', '光华小区'],
          axisLine: {
            //x轴样式
            show: false
          },
          axisTick: {
            //轴线刻度
            show: false
          },
          shadowBlur: 10,
          axisLabel: {
            show: true,
            interval: 0,//使x轴文字显示全
            textStyle: {
              color: "#FFFFFF",
              fontSize: that.$base.nowSize(12),
            },
            inside: false,
            
            // rotate: 20,
          },
          splitLine: {
            show: false
          },
        },
      ],
      yAxis: [
        {
          type: "value",
          name: "",
          nameLocation: "end",
          nameTextStyle: {
            fontFamily: "Source Han Sans CN",
            color: "#26BCF8",
            opacity: 0.7,
          },
          axisLine: {
            //y轴样式
            show: false
          },
          axisLabel: {
            show: false,
            inside: false
          },
          axisTick: {
            show: false
          },
          splitLine: {
            show: false
          },
        },
      ],
      series: [
        {
          //柱的信息
          name: "体育健康",
          type: "bar",
          data: [200, 170, 167, 150, 146, 132, 120, 115, 100, 80],
          itemStyle: {
            normal: {
                barBorderRadius: 0,
                color: function (params) {
                    //渐变色,也可以直接用数组给不同的柱子设置不同的颜色
                    return new that.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
                        {
                        offset: 0,
                        color: "rgba(103, 245, 200, 1)",
                        },
                        {
                        offset: 1,
                        color: "rgba(89, 252, 198, 0)",
                        },
                    ]);
                },  
            }
          },
          emphasis: {
            itemStyle: {
                color: {
                    type: 'linear',
                    x: 0,
                    y: 0,
                    x2: 0,
                    y2: 1,
                    colorStops: [{
                        offset: 0, color: '#F9E142' // 0% 处的颜色
                    }, {
                        offset: 1, color: '#40523F' // 100% 处的颜色
                    }],
                    global: false // 缺省为 false
                },
            }
          },
          // 只能展示数据中的value字段
          label: {
            show: false,
            position: 'top',
            color: fontColor,
            fontSize: that.$base.nowSize(14)
          },
          zlevel: 11,
          barWidth: that.$base.nowSize(10), //柱子宽度
          markPoint: {
            symbol:'rect',// circle:圆形,rect:方形
            itemStyle:{
              normal:{
                label:{
                  show:true,
                  color:'#fff',
                  position: 'top',
                  color: fontColor,
                  fontSize: that.$base.nowSize(14),
                  formatter: function (param) {
                    // if(param.data.coord[1]>20){
                    //   return '优秀'
                    // }else if (param.data.coord[1]>10){
                    //   return '良好'
                    // } else {
                    //   return '不达标'
                    // }
                    return param.name
                  }
                },
                color:'rgba(89, 252, 198, 0)'
              }
            },
            symbolSize:[50, 50],
            symbolOffset:[0,24],
            // data中的数据,name字段是你想要展示的内容,coord字段中的第一个数是指第几个柱子,第二个字段是柱子的值
            data:[
              {name:'Top1',coord:[0,200]},
              {name:'Top2',coord:[1,170]},
              {name:'Top3',coord:[2,167]},
              {name:'Top4',coord:[3,150]},
              {name:'Top5',coord:[4,146]},
              {name:'Top6',coord:[5,132]},
              {name:'Top7',coord:[6,120]},
              {name:'Top8',coord:[7,115]},
              {name:'Top9',coord:[8,100]},
              {name:'Top10',coord:[9,80]},
            ],
          },
        //   markLine: {
        //     data: [
        //       {type: 'average', name: '平均值'}
        //     ]
        //   }
        },
      ],
    };
    option && this.chart.setOption(option);
 },
// tooltip 自动循环展示
setHighlightFun() {
    this.chart.dispatchAction({
      type: "showTip",
      seriesIndex: 0,
      dataIndex: this.loopIndex,
      position: (pos, params, dom, rect, size) => {
        this.$utils.positionFun(pos, params, dom, rect, size)
      },
    });
    this.loopIndex++;
    // this.resData 是data() {return {resData: []}}中创建的属性,内容是对应的柱图的数据条数的数据
    if (this.loopIndex == this.resData.length) {
      this.loopIndex = 0;
    }
},

总结 

到此这篇关于ECharts柱状排名图柱子上方显示文字与图标的文章就介绍到这了,更多相关ECharts柱状排名图显示文字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Layui事件监听的实现(表单和数据表格)

    Layui事件监听的实现(表单和数据表格)

    这篇文章主要介绍了Layui事件监听的实现(表单和数据表格),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 一文带你理解JS中的原型和原型链

    一文带你理解JS中的原型和原型链

    在学习JavaScript中的继承机制时,我们常常会遇到原型和原型链这两个概念,在初学阶段,不理解这些概念很容易陷入迷茫,甚至会导致学习 JS 的路程变得曲折,本文将介绍JavaScript原型和原型链的概念、设计思想以及相关的使用方法,需要的朋友可以参考下
    2023-07-07
  • nodejs实用示例 缩址还原

    nodejs实用示例 缩址还原

    nodejs最近好红火,我也趁寒冷天气在nodejs的火炉边取暖一下。缩址还原实现代码。
    2010-12-12
  • 清除js缓存的多种方法总结

    清除js缓存的多种方法总结

    下面小编就为大家带来一篇清除js缓存的多种方法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • javascript实现数字+字母验证码的简单实例

    javascript实现数字+字母验证码的简单实例

    本篇文章只要是对javascript实现数字+字母验证码的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • Javascript 多浏览器兼容总结(实战经验)

    Javascript 多浏览器兼容总结(实战经验)

    多浏览器兼容一直都是前端备受关注的问题,本文整理了一些实战的经验,个人感觉还不错,需要的朋友可以参考下
    2013-10-10
  • Next.js应用转换为TypeScript方法demo

    Next.js应用转换为TypeScript方法demo

    这篇文章主要为大家介绍了Next.js应用转换为TypeScript方法demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • js进阶语法之变量提升、函数提升以及参数的命名冲突问题解决

    js进阶语法之变量提升、函数提升以及参数的命名冲突问题解决

    JavaScript代码在执行前会经历一个预处理阶段,这个阶段主要涉及变量提升和函数提升,下面这篇文章主要介绍了js进阶语法之变量提升、函数提升以及参数的命名冲突问题解决的相关资料,需要的朋友可以参考下
    2024-09-09
  • 微信小程序uploadFile接口实现文件上传

    微信小程序uploadFile接口实现文件上传

    这篇文章主要介绍了微信小程序uploadFile接口实现文件上传流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • JS文字球状放大效果代码分享

    JS文字球状放大效果代码分享

    这篇文章主要展示了JS文字球状放大效果,和放大镜放大文字一样,很神奇的代码,感兴趣的小伙伴们可以参考一下
    2015-08-08

最新评论