需要创建与您在此处看到的图表类似的图表:http://imgbin.org/index.php?page=image&id=20802。到目前为止,设法组建了一个显示两个图表但仍远未完成的jsfiddle。
您如何正确地将底部图表(列)放在第一个图表上以实现您在示例中看到的效果? http://jsfiddle.net/e106L47h/6/
$(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,
// set the allowed units for data grouping
groupingUnits = [[
'week', // unit name
[1] // allowed multiples
], [
'month',
[1, 2, 3, 4, 6]
]],
i = 0;
for (i; i < dataLength; i += 1) {
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
$('#container').highcharts('StockChart', {
navigator: {
enabled: false
},
rangeSelector: {
selected: 1,
inputEnabled: false
},
credits: {
enabled: false
},
yAxis: [{
height: '60%',
lineWidth: 0
}, {
top: '65%',
height: '35%',
offset: 0,
lineWidth: 0,
// gridLineWidth: 0,
labels:
{
//enabled: false
}
}],
series: [{
type: 'candlestick',
name: 'AAPL',
data: ohlc,
dataGrouping: {
units: groupingUnits
}
}, {
type: 'column',
name: 'Volume',
data: volume,
yAxis: 1,
dataGrouping: {
units: groupingUnits
}
}]
});
});
});
答案 0 :(得分:1)
我会删除高度35%/ 65%的分割,并显示两个系列具有相同的基线。
然后我会隐藏音量轴以减少混乱。
您可以通过设置第二个隐藏轴的最大值而不是高度来修改音量条的高度(我已经使用maxValue * 3来逼近35%的高度值)。
在卷系列中找到最大值,如下所示:
var maxVolume = Math.max.apply(Math, volume.map(function(v) { return v[1]}))