echarts可以画这种柱状图吗

图片描述

在这个柱状图的基础上进行改动,如何对这7个柱子的宽度进行设置,让这7个柱子的宽度不一样。

阅读 4.2k
3 个回答

一个series只允许设置一个barWidth。
如果一定要区分对待每根柱子,那就把每根柱子的data都单独放到一个series里去,然后每个series设置不同的barWidth,再利用barGap: "-100%"让每根柱子居中。

series : [
    {
        name:'直接访问',
        type:'bar',
        barWidth: "20%",
        data:[10, "52", "", "", "", "", ""]
    },
    {
        name:'直接访问',
        type:'bar',
        barWidth: "50%",
        data:["", "", 200, 334, 390, "", ""]
    },
    {
        name:'直接访问',
        type:'bar',
        barWidth: "70%",
        barGap:"-100%",
        data:["", "", "", "", "", 330, 220]
    }
]

clipboard.png

但就是有个问题,柱子宽度不同的时候,有些柱子不会完全居中,应该是echarts的barGap算法只看最后一根柱子的宽度来算的,这个感觉不是太友好,要是所有柱子都能居中就perfect了

好像是不能单独定义每个柱子的宽度的,可以仔细去看官方文档

这个好像不可以,猜测没有开放这个API的原因: 用户体验差,容易产生视觉疲劳

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题