强制 yAxis.max 在 Highcharts 中不受尊重

Forcing yAxis.max is not respected in Highcharts

...或者我的错是什么?

我正在尝试在两个轴上设置 yAxis.max 值。但是没用。

左边的 yAxis 应该在 330-410 之间,tickInterval 为 10,右边的 yAxis 应该在 -0.6-1,1 之间,tickInterval 为 0.1。

Here is a fiddle.

   yAxis: [{
        labels: {
            style: {
                color: "#4553c5"
            }
        },
        title: {
            text: "ppm",
            align: "high",
            rotation: 0,
            x: 10,
            y: -30,
            textAlign: 'left',
            style: {
                color: "#4553c5"
            }
        },
        min: 330,
        max: 410,
        tickInterval: 10,
        gridLineWidth: 1,
        gridLineColor: '#efefef',
        endOnTick: false
    }, {
        labels: {
            style: {
                color: "#ec5d61"
            }
        },
        title: {
            text: "°C Anomaly",
            align: "high",
            rotation: 0,
            textAlign: "right",
            x: -10,
            y: -30,
            style: {
                color: "#ec5d61"
            }
        },
        min: -0.6,
        max: 1.1,
        tickInterval: 0.2,
        gridLineWidth: 1,
        gridLineColor: '#efefef',
        opposite: true,
        endOnTick: false
    }],

有什么问题吗?感谢您的任何提示!

当您使用多个 yAxis 时,minmax 值通常由 HighCharts 计算,这些计算值会覆盖您的设置。

诀窍是同时使用 tickAmountstartOnTickendOnTick

这是您的问题的解决方案:jsFiddle

使用双轴时,默认 alignTicks 设置会混淆最小值和最大值。

alignTicks 设置为 false 通常可以解决问题

    chart: { 
        alignTicks: false
    },

示例:

OTOH,使用像这样的双 y 轴图表通常不是一个好主意,因为它混淆了两个相互作用没有任何意义的系列,因为它们是在两个不同的尺度上测量的。

关于该主题的有用读物: