【问题标题】:'Echarts' cannot assign both X-axis and Y-axis as type: value'Echarts' 不能同时指定 X 轴和 Y 轴作为类型:值
【发布时间】:2020-09-28 07:36:23
【问题描述】:

我使用 Apache Echarts,但在使用 type: 'value' 时遇到问题,在 X 轴的情况下有效。

我的代码: You can try here

option = {
xAxis: {
    type: 'value',
    data: [1.12, 2.19, 3.84, 3.47, 5.75, 6.76, 9.141],
},
yAxis: {
    type: 'value'
},
series: [{
    data: [820, 932, 901, 934, 1290, 1330, 1320],
    type: 'line'
}]

};

根据 API 的文档,

x轴。输入

'category'分类轴,适用于离散的分类数据。

'value'数值轴,适用于连续数据。

当我使用“类别”作为类型时:对于 x 轴,它会按预期为我提供曲线,但 x 轴的间距不均匀。

但是我必须绘制来自传感器的大约 10,000 个连续数据点,就像 x 轴的数据一样。 API 建议对此类数据使用 xAxis.type: 'value'。 当我设置 xAxis.type: 'value' 时,渲染看起来像这样。

如果有人可以帮助我并告诉我哪里出了问题或者这是一个实际的错误,那就太好了。

【问题讨论】:

    标签: reactjs charts echarts apache-echarts


    【解决方案1】:

    当两个轴类型都是值时,数据应采用以下格式,以便正确映射 x 和 y 值。

    data = [
            [1.12,820],
            [2.19, 932],
            [3.84, 901], //xaxis value is not in order
            [3.47,934], //xaxis value is not in order
            [5.75,1290],
            [6.76,1330], 
            [9.141,1320]
        ];
    

    如果坐标轴值不按顺序排列,可以排序显示。

    //sort data by xaxis values to plot the values in order
    data.sort(function(a, b){return a[0] - b[0]}) 
    

    然后给图表设置数据

    option = {
            xAxis: {
                type: 'value',
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: data,
                type: 'line'
            }]
        };
    

    【讨论】:

    • 谢谢,它按预期工作,如果用户数据不是从任何轴中的 0 开始,那么将属性 'scale': true 添加到该特定轴配置对象(xAxis/yAxis 配置对象),它将显示从给定数据起点和终点开始和结束的轴。供参考:echarts.apache.org/en/option.html#xAxis.scale
    猜你喜欢
    • 2022-01-16
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多