当 highstock 的设置远高于数据系列时,如何在 highstock 上显示情节线?

How to show plotlines on highstock when its set much higher than the data series?

我有一个 highstock 图表。例如,在该图表中,我想为用户可能输入的目标设置一条情节线。

yAxis: {
        plotLines: [{
            value: 1000,
            color: 'red',
            dashStyle: 'shortdash',
            width: 2,
            label: {
                text: 'Target'
            }
        }]
},

如果目标在系列的最小和最大数据范围内,那么它会像这样显示在图表上:jsFiddle

但是如果绘图线设置得比最小或最大数据系列高得多,那么绘图线根本不会像这样显示在图表上:jsFiddle。无论目标是多少,如何确保情节线显示在 highstock 图表上?

我认为一个想法是使用 yAxis.min 和 yAxis.max 来设置满足您要求的轴的最小值和最大值。您可以在这里找到它如何工作的示例:

  yAxis: {
    max: 1200,
    plotLines: [{
      value: 1100,
      color: 'red',
      dashStyle: 'shortdash',
      width: 2,
      label: {
        text: 'Target'
      }
    }]
  },

http://jsfiddle.net/bo36afyt/1/

您还可以添加一个不可见的系列,它将参与计算您的极值:

var data2 = [];
Highcharts.each(data, function(p, i) {
  data2.push([p[0], 1100]);
});


  series: [{
    name: 'AAPL',
    data: data,
    tooltip: {
      valueDecimals: 2
    }
  }, {
    name: 'ghost',
    data: data2,
    enableMouseTracking: false,
    color: 'rgba(0,0,0,0)'
  }]

http://jsfiddle.net/bo36afyt/2/