我遇到了highcharts的问题,我在JSON调用中生成了许多不同的图表。
对于大多数这些图表,我需要将最小y轴值设置为0,但是有几种情况需要显示负值。如果数据中没有负值,我怎么能告诉highcharts最小y轴值为0,这是否可能?
由于
答案 0 :(得分:9)
您可以添加到y轴:
yAxis: {
title: {
text: 'Title of the y-axis'
},
min: 0 // this sets minimum values of y to 0
},
答案 1 :(得分:7)
我通过使用setExtremes
创建一个函数来实现这一目标var setMin = function () {
var chart = this,
ex = chart.yAxis[0].getExtremes();
// Sets the min value for the chart
var minVal = 0;
if (ex.dataMin < 0) {
minVal = ex.dataMin;
}
//set the min and return the values
chart.yAxis[0].setExtremes(minVal, null, true, false);
}
然后在你的图表中,你这样称呼它:
$('#container').highcharts({
chart: {
events: {
load: setMin
}
},
});
答案 2 :(得分:7)
您正在寻找的选项名为softMin
,并在版本 5.0.1 中引入。文档描述如下:
轴的软最小值。如果系列数据最小值更大 比这个,轴将保持在这个最小值,但如果是系列数据 最小值越低,轴将弯曲以显示所有数据。
yAxis: {
softMin: 0
}
答案 3 :(得分:5)
您可以设置&#34; floor&#34;,这定义了min的最小可能值。添加负值时,它们将不可见! (http://api.highcharts.com/highcharts/xAxis.floor)
yAxis: {
floor: 0
}
我知道很久以前就已经问过这个问题了,当时这个属性并不存在。但我刚刚遇到这个问题,我认为其他人会很高兴不必搜索。
答案 4 :(得分:2)
您可以准备自己的功能,检查是否为负,然后设置适当的刻度。要实现这一点,您应该使用tickPositioner http://api.highcharts.com/highcharts#yAxis.tickPositioner