Javascript plotbands以两个窗格中的一个为目标
嗨,我使用的是双窗格图表 然后我在那张图上放了一个“砰”的键,发生的是两个“x”的键影响,就像在这里,我注意到这张图只有一个“x” 我怎样才能让这个游戏只针对第一个yAxis而不是两个 代码如下:Javascript plotbands以两个窗格中的一个为目标,javascript,jquery,highcharts,highstock,Javascript,Jquery,Highcharts,Highstock,嗨,我使用的是双窗格图表 然后我在那张图上放了一个“砰”的键,发生的是两个“x”的键影响,就像在这里,我注意到这张图只有一个“x” 我怎样才能让这个游戏只针对第一个yAxis而不是两个 代码如下: $(function() { $.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=aapl- ohlcv.json&callback=?', function(data) { //
$(function() {
$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=aapl- ohlcv.json&callback=?', function(data) {
// split the data set into ohlc and volume
var ohlc = [],
volume = [],
dataLength = data.length;
for (i = 0; i < dataLength; i++) {
ohlc.push([
data[i][0], // the date
data[i][1], // open
data[i][2], // high
data[i][3], // low
data[i][4] // close
]);
volume.push([
data[i][0], // the date
data[i][5] // the volume
])
}
// create the chart
chart = new Highcharts.StockChart({
chart: {
renderTo: 'container',
alignTicks: false
},
rangeSelector: {
selected: 5
},
title: {
text: 'AAPL Historical'
},
xAxis:[{
plotBands : [{
from : 1115856000000,
to : 1128384000000,
color : 'rgba(68, 170, 213, 0.2)',
label : {
text : 'Last quarter\'s value range'
}
}]
}],
yAxis: [{
title: {
text: 'OHLC'
},
height: 200,
lineWidth: 2
}, {
title: {
text: 'Volume'
},
top: 300,
height: 100,
offset: 0,
lineWidth: 2
}],
series: [{
type: 'candlestick',
name: 'AAPL',
data: ohlc,
}, {
type: 'column',
name: 'Volume',
data: volume,
yAxis: 1,
}]
});
});
});
$(函数(){
$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-json&回调=?',函数(数据){
//将数据集拆分为ohlc和卷
var ohlc=[],
卷=[],
dataLength=data.length;
对于(i=0;i
将绘图条带添加到yAxis时,可以只设置高点和低点。如果将plotBand放在X轴上,它将显示在所有Y轴上。
因此,如果您只想在第一个轴上绘图,您可能必须创建一个具有相同绘图带样式的新系列并添加到其中。
首先:您必须创建一个从开始日期到结束日期的区域序列,其中所有值都将与窗格的最大值相同。在我的例子中是800。
秒:确保最大值高于系列的最高值。在我的示例中,我没有这样做,因此您必须在代码中这样做。
第三个:将enableMouseTracking and showInLegend设置为false,从图例和工具提示中删除序列号
你能告诉我更多细节吗?@MinaGabriel当然,看看我编辑的答案,我将解释如何操作。谢谢,这似乎是答案,但如果您需要循环并向图表中添加更多绘图条带,您会怎么做?如将此区域作为“从”添加到“类似绘图条带”您可以执行相同的操作,或在呈现图表时使用chart.addPlotBand(plotBandOptions)通过参数传递plotBand对象。您应该接受以下答案。这是一个很好的答案。