将highcharts y轴最小值设置为0,除非有负数据

将highcharts y轴最小值设置为0,除非有负数据,highcharts,axis,default-value,minimum,Highcharts,Axis,Default Value,Minimum,我对highcharts有一个问题,在highcharts中,JSON调用生成了许多不同的图表 对于这些图表中的大多数,我需要将最小y轴值设置为0,但也有一些情况需要显示负值。如果数据中没有负值,我如何告诉highcharts最小y轴值为0,这是否可能 谢谢您可以准备自己的函数,检查是否为负数,然后设置适当的刻度。要实现这一点,您应该使用tickPositioner,您可以在y轴上添加: yAxis: { title: { text: '

我对highcharts有一个问题,在highcharts中,JSON调用生成了许多不同的图表

对于这些图表中的大多数,我需要将最小y轴值设置为0,但也有一些情况需要显示负值。如果数据中没有负值,我如何告诉highcharts最小y轴值为0,这是否可能


谢谢

您可以准备自己的函数,检查是否为负数,然后设置适当的刻度。要实现这一点,您应该使用tickPositioner,您可以在y轴上添加:

 yAxis: {
            title: {
                text: 'Title of the y-axis'
            },
            min: 0 // this sets minimum values of y to 0
        },

我通过使用

var setMin=函数(){
var图表=此,
ex=chart.yAxis[0].getExtremes();
//设置图表的最小值
var-minVal=0;
如果(例如,数据最小值<0){
minVal=ex.dataMin;
}
//设置最小值并返回值
chart.yAxis[0].setextrems(minVal、null、true、false);
}
然后在你的图表中,你这样称呼它:

$('#container').highcharts({ 
  chart: {
    events: {
      load: setMin
    }
  },
});  
您可以设置“地板”,这定义了最小可能值。当添加负值时,它们将不可见!()


我知道这个问题很久以前就被问到了,而这个财产当时并不存在。但是我遇到了这个问题,我想其他人会很高兴不必搜索。

您正在寻找的选项称为
softMin
,并在5.0.1版中引入。文件描述如下:

轴的软最小值。如果序列数据最小值大于 除此之外,轴将保持在此最小值,但如果系列数据 最小值较低时,轴将弯曲以显示所有数据


这将始终将最小值设置为0。问题是“如果数据中没有负值,我如何才能告诉highcharts最小y轴值为0”完美解决方案。如果您在最新版本中使用Highcharts 5.0及以上版本,请保存一些UI spaceLink以获得最佳/正确的解决方案。此解决方案有效。最小值:0也可以工作
yAxis: {
    floor: 0
}
yAxis: {
    softMin: 0
}