【问题标题】:Highchart Min Max for y-axis per series每个系列的 y 轴的 Highchart Min Max
【发布时间】:2018-08-28 22:23:30
【问题描述】:

我有一个包含 4 个系列的高图表。我也只将每个 y 轴的最小值设置为 0,因为不可能有任何负值。现在 highchart 正在自己计算最大值,这很好但我需要为每个系列本身提供这个。原因是我有 2 个系列的值从 5000 到 5000 范围内非常高,而其他两个值相对较小,从 0 到 50。 highcharts 计算的最大值用于所有四个系列 - 因此图表如下所示:

如您所见,您只能看到两个高价值系列 - 其他两个在图表底部并没有真正可见。 当我禁用具有高值的两个系列时,图表对于其他两个值看起来不错:

有没有我可以使用的标志,所以 highchart 将计算每个系列的最大值/比例?或者我真的自己计算它 - 也在缩放等。 我发现了这个:https://github.com/highcharts/highcharts/issues/4248 但我认为这是一些经常需要的基本功能,所以必须有一些东西..

问候

【问题讨论】:

  • 每个系列可以使用不同的 yAxis。创建 2 个不同的 yAxis(1:0 到 2000 / 2:0 到 80),图表会适应。
  • 好的,但是 highcharts 本身没有任何功能可以在每个系列中自行缩放 yAxis 吗?
  • 有,但每个系列都需要一个单独的 yAxis,就像@Core972 说的那样。您不能在同一轴上显示完全不同的值。这没有道理。示例:highcharts.com/demo/combo-dual-axes
  • 好的,我明白了。但我已经为每个系列设置了一个 yAxis - 但我只将 min 设置为 0 和标题(系列的单位),就像你在图片中看到的那样。
  • 好吧,我的错...我创建了四个 yAxis,但将它们全部添加到第一个。感谢答案

标签: highcharts


【解决方案1】:

也许使用logarithmic轴类型会更好?您的图表将只有一个轴调整为系列点值之间的很大差异。当涉及到计量单位之间的差异时,您始终可以为特定系列设置不同的tooltip.pointFormat 定义。

Highcharts.chart('container', {

    title: {
        text: 'Logarithmic axis demo'
    },

    yAxis: {
        type: 'logarithmic',
    },

    series: [{
        data: [1, 20, 30, 22, 16, 32, 45, 24, 11, 2],
        pointStart: 1,
        tooltip: {
            pointFormat: '<b>{point.y} km/h</b>'
        }
    }, {
        data: [4500, 3450, 4242, 2348, 5216, 3212, 4564, 3128, 5256, 4512],
        pointStart: 1,
        tooltip: {
            pointFormat: '<b>{point.y} kW/h</b>'
        }
    }]
});

现场示例: https://jsfiddle.net/bfnj4mp8/

API 参考:

https://api.highcharts.com/highcharts/yAxis.type

https://api.highcharts.com/highcharts/series.line.tooltip.pointFormat

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多