Javascript 防止面积图Y轴从零开始
Y轴不以零开始,而是以接近HighCharts/HighStock中最低Y轴数据点的值开始的配置是什么 下面是图表的演示,其中Y轴数据值非常大,而最小Y轴绘图点为零: 以及演示中使用的示例配置:Javascript 防止面积图Y轴从零开始,javascript,highcharts,highstock,Javascript,Highcharts,Highstock,Y轴不以零开始,而是以接近HighCharts/HighStock中最低Y轴数据点的值开始的配置是什么 下面是图表的演示,其中Y轴数据值非常大,而最小Y轴绘图点为零: 以及演示中使用的示例配置: { series: [{ type: 'area', data: [ [1375660800000, 106861], [1375747200000, 107397], [1375833600000, 108674], [1375920
{
series: [{
type: 'area',
data: [
[1375660800000, 106861],
[1375747200000, 107397],
[1375833600000, 108674],
[1375920000000, 108792],
[1376006400000, 110504],
[1376265600000, 110658],
[1376352000000, 110792]
]
}],
}
这里的问题是,您使用的是“区域”类型,根据定义,它需要显示从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
}
});
});
当您从服务器获取数据并计算最小值点时,可以提前计算最小值。希望这有帮助。根据@Vadim的回答,从今天起,我建议计算
yAxis.min
配置本身内的最低Y轴值,以保持代码一致性和可移植性。唯一的要求是将数据提取到图表初始化之外的变量中
对于格式为的数据,
以下内容将起作用:
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;
})()
}
});
var数据=[
[1375660800000, 106861],
[1375747200000, 107397],
[1375833600000, 108674]
];
$(“#容器”).highcharts('StockChart'{
系列:[{
类型:'区域',
数据:数据
}],
亚克斯:{
min:(函数(){
var min=数据[0][1];
对于(变量i=0;i
现场演示:谢谢。但是,您的示例线下没有填充区域。有可能解决这个问题吗?我希望Highcharts有一个配置选项可以自动完成。现在我将按照您的建议设置yAxis.min。非常感谢。