首页 > 解决方案 > 使用 echarts 调整折线图系列符号的位置

问题描述

我在 E-Chart 中创建了图表。它有两个垂直条,上面有两条线。我需要将符号放在条和线的交叉处。它应该像图片中的第一个图表

但在我的图表中,符号位置位于 xaxis 值上。请参阅第二张图表。有没有办法改变符号的位置。

图片链接:https ://i.stack.imgur.com/rh1Tc.jpg

标签: chartsbar-chartlinechartecharts

解决方案


您可以通过在每个数据系列中散布空值或空白值来对齐条形和线条符号。这是一个示例选项:

option = {
    xAxis: [
        {
            // true axis for all bar and line series
            type: 'category',
            show: false,
            data: [1,1,2,2,3,3,4,4,5,5]
        },
        {
            // axis used for display; not associated with any series
            type: 'category',
            show: true,
            position: 'bottom',
            data: [1,2,3,4,5]
        }
    ],
    yAxis: {
        type: 'value'
    },
    series: [{
        type: 'bar',
        // xAxisIndex associates the series with the first (real) x-axis; may not be strictly necessary, but included for clarity
        xAxisIndex: 0,
        itemStyle: {
            barBorderRadius: 12
        },
        color: '#1ab7c8',
        // barGap is used to center the bar over the x-axis value, in line with the line symbol
        barGap: '-100%',
        barWidth: 32,
        data: [50, '-', 40, '-', 55, '-', 65, '-', 50]
    },
{
        type: 'bar',
        xAxisIndex: 0,
        itemStyle: {
            barBorderRadius: 12
        },
        color: '#fa6176',
        barWidth: 32,
        data: ['-', 50, '-', 40, '-', 64, '-', 25, '-', 50]
    },
    {
        type: 'line',
        xAxisIndex: 0,
        color: '#1ab7c8',
        symbolSize: 16,
        // connectNulls is used to connect lines across the blank values
        connectNulls: true,
        data: [53, '-', 52, '-', 79, '-', 68, '-', 79]
    },
    {
        type: 'line',
        xAxisIndex: 0,
        color: '#fa6176',
        symbolSize: 16,
        connectNulls: true,
        data: ['-', 53, '-', 55, '-', 75, '-', 90, '-', 75]
    }
    ]
};

这是渲染图表的图像

以下是一些相关 echarts 图表配置选项的文档链接:


推荐阅读