echart线图和柱形图不重叠的方法

本文介绍如何在ECharts中定义两个独立的yAxis,一个用于柱状图,放大其最大值的两倍,另一个用于线图,设置最小值为最大值减去两倍区间。通过代码展示实现技巧,帮助理解图表范围调整策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义两个yAxis(数组),一个给柱形图,一个给线图。

柱形图给一个max:柱形图最大值*2

线图给一个min:线图最大值 -  ((线图最大值 - 线图最小值)* 2)

具体代码如下:

option = {
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: [
        {
            type: 'value',
            max: (value) => value.max*2,
        },
        {
            type: 'value',
            min: (value) => value.max - ((value.max - value.min) * 2),
	    max: (value) => value.max,
        }
    ],
    series: [
        {
            data: [335, 230, 224, 218, 135, 147, 660],
            type: 'bar',
            yAxisIndex: 0
        },
        {
            data: [150, 230, 224, 218, 135, 147, 260],
            type: 'line',
            yAxisIndex: 1
        }
    ]
};

效果:

### 解决ECharts柱形图重叠显示的方法ECharts 中实现柱形图重叠显示效果可以通过调整图表配置来完成。具体来说,通过设置多个 `series` 数据集并合理配置这些系列之间的关系,可以使同数据集在同一位置上叠加展示。 对于希望达到多组柱状图重叠的效果,在同一个 Grid 内存在多组数据的情况下,如果取消图例可能会导致柱子居中的现象发生;因此建议采取每一组柱子对应一个独立的 Grid 的方式处理[^2]。下面是一个简单的例子说明如何做到这一点: ```javascript option = { grid: [ {left: '10%', top: '10%'}, // 第一个grid的位置设定 {right: '10%', bottom: '10%'} // 第二个grid的位置设定 ], xAxis: [ { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], gridIndex: 0, }, { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], gridIndex: 1, axisLabel: {show: false}, // 隐藏第二个X轴标签防止重复 } ], yAxis: [{gridIndex: 0},{gridIndex: 1}], series : [ { name:'Series A', type:'bar', stack: 'total', data:[320, 332, 301, 334, 390, 330, 320], itemStyle:{color:'#d87c7c'}, animationDelay: function (idx) { return idx * 10; } }, { name:'Series B', type:'bar', stack: 'total', data:[120, 132, 101, 134, 90, 230, 210], itemStyle:{color:'#facc14'}, animationDelay: function (idx) { return idx * 10 + 100; } } ] }; ``` 上述代码片段展示了如何创建两个同的 X 轴 Y 轴实例,并分别为它们分配到各自的 Grid 上下文中去。同时设置了相同的分类名称列表用于同步两者的刻度线对齐情况。另外还利用了 `stack` 属性让 SeriesA SeriesB 在视觉上形成堆叠效果而是简单覆盖。 此外,针对 eCharts 柱形图 label 文字过长时可能出现的重叠问题,可以考虑使用自定义 formatter 函数或者启用新版本中提供的自动避障功能来优化文本布局[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值