Echarts横向柱形图

项目原型图如下:

实际上就是设置两个y轴,第一个显示底色柱子,另一个只显示真实数据的柱子,在这里只显示y轴,x轴不显示..

this.middleLeftOption = {
        tooltip: {
          trigger: 'axis',
          axisPointer: {}
        },
        legend: {
          icon: 'circle', //  字段控制形状  类型包括 circle,rect,line,roundRect,triangle,diamond,pin,arrow,none
          itemWidth:10  // 图例的宽
          itemHeight:10  // 图例的高
          data: ['回退次数'],
          bottom: '5%'
        },
        grid: {
          left: '3%',
          right: '4%',
          bottom: '10%',
          top: '2%',
          containLabel: true //可容纳
        },
        xAxis: {
          show: false
        },
        yAxis: [
          {
            type: 'category',
            data: ydata,   //请求回来的数组y轴数据
            inverse: true,
            axisLine: {
              show: false
            },
            axisTick: {
              show: false
            },
            // 设置第一个y轴上的文字颜色
            axisLabel: {
              color: 'black'
            }
          },
          {
            type: 'category',
            data: [2,16,10,2,11,9,6]
            inverse: true,
            axisLine: {
              show: false
            },
            axisTick: {
              show: false
            },
            // 设置第二个y轴上文字的颜色与字号
            axisLabel: {
              textStyle: {
                fontSize: 12,
                color: 'black'
              }
            }
          }
        ],
        series: [
          {
            type: 'bar',
            yAxisIndex: 1,
            data: [20, 20, 20, 20, 20, 20, 20, 20, 20, 20],
            barWidth: 15, //柱子的宽度
            barCategoryGap: 50,
            tooltip: {
              show: false   //tooltip不显示下面柱子的数据
            },
            itemStyle: {
              // 设置下面y轴柱子颜色
              color: '#f2f2f2',
              // 设置下面y轴柱子边框
              // borderColor: '#00c1de',
              border: 'none',
              // 设置下面y轴柱子的宽度
              borderWidth: 3,
              // 设置下面y轴柱子边框为圆角
              barBorderRadius: 15
            }
          },
          {
            name: '回退次数',
            type: 'bar',
            color: '#facd91',
            data: xdata,
            barWidth: 15,
            itemStyle: {
              // 设置上面y轴柱子颜色
              color: '#facd91',
              // 设置上面y轴柱子边框
              border: 'none',
              // borderColor: '#00c1de',
              // 设置上面y轴柱子的宽度
              borderWidth: 3,
              // 设置上面y轴柱子边框为圆角
              barBorderRadius: 15
            }
          }
        ]
      }

 我的最终效果如下:

其中涉及到 图例修改形状:

1.如果是单个图例,直接配置icon字段控制形状,类型包括 circle,rect,line,roundRect,

 triangle,diamond,pin,arrow,none,i可以修改大小temWidth,itemHeight...

        legend: {
                  icon: 'circle', //  字段控制形状
                  itemWidth:10  // 图例的宽
                  itemHeight:10  // 图例的高
                }

2.如果是多个图例,且不同形状,直接配置legend的data,里面的对象配置name和icon即可.

         legend: {

                  data: [

                    {

                      name: '项目数量',

                      icon: 'rect',

                      itemWidth: 10, // 设置宽度

                      itemHeight: 10 // 设置高度

                    },

                    {

                      name: '平均耗时'  

                       //这里图例形状是默认的就可以不配置

                    }

                  ]

                }

如图:

另外涉及到提示框提示哪个数据,默认是都提示的,在不需要的提示的数据配置tooltip为false即可..在这里我是不需要提示下面一层的数据的

         series: [
                  {
                    type: 'bar',
                    yAxisIndex: 1,
                   data: [20, 20, 20, 20, 20, 20, 20, 20, 20, 20],
                    barWidth: 15, //柱子的宽度
                    barCategoryGap: 50,
                    tooltip: {
                      show: false   //tooltip不显示下面柱子的数据
                    },

                    itemStyle: {
                      // 设置下面y轴柱子颜色
                      color: '#f2f2f2',
                      // 设置下面y轴柱子边框
                      // borderColor: '#00c1de',
                      border: 'none',
                      // 设置下面y轴柱子的宽度
                      borderWidth: 3,
                      // 设置下面y轴柱子边框为圆角
                      barBorderRadius: 15
                    }
                  }]

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ECharts是一个基于JavaScript的开源可视化库,可以用来创建各种交互式的图表。要创建一个横向柱形图,你可以按照以下步骤进行操作: 1. 首先,在你的HTML文件中引入ECharts库的脚本文件: ```html <script src="https://cdn.jsdelivr.net/npm/echarts@5.0.2/dist/echarts.min.js"></script> ``` 2. 接下来,在HTML文件中创建一个容器元素来承载图表: ```html <div id="chart" style="width: 600px; height: 400px;"></div> ``` 请注意,你可以根据需要调整容器元素的宽度和高度。 3. 在JavaScript代码中,使用ECharts的API来配置和绘制横向柱形图: ```javascript // 初始化echarts实例 var chart = echarts.init(document.getElementById('chart')); // 配置图表选项和数据 var option = { xAxis: { type: 'value' }, yAxis: { type: 'category', data: ['A', 'B', 'C', 'D', 'E'] }, series: [{ type: 'bar', data: [10, 20, 30, 40, 50] }] }; // 使用配置项显示图表 chart.setOption(option); ``` 在上面的代码中,xAxis表示横轴,yAxis表示纵轴,series表示数据系列。你可以根据自己的需求自定义配置项,并将其传递给`setOption`方法来显示图表。 以上是使用ECharts创建横向柱形图的基本步骤。你可以根据自己的需求进行更详细的配置,例如添加标题、调整样式等。更多的ECharts用法和示例可以在官方文档中找到:[https://echarts.apache.org/zh/index.html](https://echarts.apache.org/zh/index.html)

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值