当 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)'
}]
我有一个 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)'
}]