【问题标题】:Highcharts calculated max value not working with 2+ Y axisHighcharts 计算的最大值不适用于 2+ Y 轴
【发布时间】:2016-11-09 21:40:48
【问题描述】:

我已经坚持了一段时间了,尽管进行了多次尝试和大量研究,但我还没有找到解决方案。 我正在构建带有两个 Y 轴的图表。一切都很好,除了 highcharts 计算的最大 Y 值总是比它应该的高得多。导致缩小的图表。 我在这里复制了这个问题:http://jsfiddle.net/9vmtz3nf/

我无法硬编码任何最大值,因为它始终取决于来自数据库的数据,并且可能存在非常大的值余量。

所以基本上,我如何调整选项和参数以确保图形最大值设置为最接近的刻度(在 jsfiddle 示例中为 150/600)?

提前谢谢你

$(function () {
    Highcharts.chart('container', {
        chart: {
            type: 'line'
        },
        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },
        yAxis: [{
            title: {
                text: 'Primary Axis'
            },
        }, {
            title: {
                text: 'Secondary Axis'
            },
            opposite: true
        }],
        plotOptions: {
        },
        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 124.0, 126.0, 135.6, 111.5, 116.4, 114.1, 95.6, 54.4]

        }, {
            data: [129.9, 271.5, 306.4, 29.2, 544.0, 376.0, 435.6, 348.5, 216.4, 294.1, 35.6, 354.4],
            yAxis: 1

        }]
    });
});

【问题讨论】:

    标签: highcharts


    【解决方案1】:

    这是图表试图找到共同点的结果。即使您对 max 值进行硬编码,图表也会以这种方式运行。

    alignTicks 属性设置为false 将解决此问题。

    chart: {
      alignTicks: false
    }
    

    小提琴:

    参考:

    【讨论】:

    • 感谢 jlbrrigs。我已经玩过 alignTicks 了,是的,它的工作原理是正确设置了最大刻度,但它看起来一点也不好看(即使我隐藏了第二个轴网格线)。我了解公分母逻辑,但它没有解释为什么在我的示例中这不是 150/600 ?没有一个值超过该阈值
    • 在我的例子中,它 150/600,所以我有点困惑你还想让它做什么,什么看起来不好?
    • 在您的示例中,右侧 Y 轴标签对齐良好(尽管 alignTicks 已关闭),但大多数情况下并非如此。你会在网格线前面没有正确的标签,这看起来不太好:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 2016-05-07
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 2013-02-17
    • 2021-12-21
    相关资源
    最近更新 更多