Y轴的配置是什么,不能从ZERO开始,而是以接近HighCharts / HighStock中最低Y轴数据点的值开始?
以下是具有非常大的Y轴数据值的图表演示,而最小的Y轴绘图点是零:http://jsfiddle.net/ubnjjups/
以及演示中使用的示例配置:
{
series: [{
type: 'area',
data: [
[1375660800000, 106861],
[1375747200000, 107397],
[1375833600000, 108674],
[1375920000000, 108792],
[1376006400000, 110504],
[1376265600000, 110658],
[1376352000000, 110792]
]
}],
}
答案 0 :(得分:1)
这里的问题是你正在使用' area'根据定义需要显示从0到该点的区域的类型。如果你切换到说'样条',它会自动执行您想要的操作。
$(function () {
$('#container').highcharts('StockChart', {
series: [{
type: 'spline',
data: [[1375660800000, 106861],[1375747200000, 107397],[1375833600000, 108674],[1375920000000, 108792],[1376006400000, 110504],[1376265600000, 110658],[1376352000000, 110792],[1376438400000, 111095],[1376524800000, 112334],[1376611200000, 112775],[1376870400000, 113051],[1376956800000, 113426],[1377043200000, 113516]]
}],
});
});
更新:
如果您想继续使用区域图表(因此您已填充区域),我建议您在yAxis上使用min。我在这里更改了你的代码
$(function () {
$('#container').highcharts('StockChart', {
series: [{
type: 'area',
data: [[1375660800000, 106861],[1375747200000, 107397],[1375833600000, 108674],[1375920000000, 108792],[1376006400000, 110504],[1376265600000, 110658],[1376352000000, 110792],[1376438400000, 111095],[1376524800000, 112334],[1376611200000, 112775],[1376870400000, 113051],[1376956800000, 113426],[1377043200000, 113516]]
}],
yAxis:{
min: 105000
}
});
});
当您从服务器获取数据并计算最小值点时,可以提前计算min的值。希望这会有所帮助。
答案 1 :(得分:1)
基于@Vadim的回答,截至今天,我建议计算yAxis.min
配置内部的最低Y轴值,以保持代码的一致性和可移植性。唯一的要求是将数据提取到图表初始化之外的变量中。
以下格式为<Timestamp>, <Y-axis value>
的数据可行:
var data = [
[1375660800000, 106861],
[1375747200000, 107397],
[1375833600000, 108674]
];
$('#container').highcharts('StockChart', {
series: [{
type: 'area',
data: data
}],
yAxis: {
min: (function() {
var min = data[0][1];
for (var i = 0; i < data.length; i++) {
var value = data[i][1];
if (value < min) {
min = value;
}
}
return min;
})()
}
});