当y轴在highcharts中只有'0'作为值时出现图形问题

时间:2013-07-09 06:26:39

标签: highcharts

我有以下图表

http://jsfiddle.net/hcJjX/2/

如果您注意到y轴值始终为“0”。但是线条是在图表中间绘制的。但是,我希望在“x轴”的顶部绘制线条,如下所示(如果存在至少一个非零值的话):

http://jsfiddle.net/hcJjX/2/

我在这里缺少什么?

3 个答案:

答案 0 :(得分:2)

图表无法计算合理的y轴刻度,因为它没有最小/最大值。如果你告诉它最大值,那么它会按你想要的那样渲染:

 yAxis: {
    endOnTick: false,
    minPadding: 0,
    max:1
},

如果您不希望迭代数据以确定所有点是否为零,那么让highcharts为您完成工作,因为它必须计算最小值/最大值。您可以调用getExtremes来计算max y值,并使用setExtremes强制特定的max:

chart: {
        plotBorderWidth: 1,
        type: 'column',
        events: {
            load: function (event) {
                var extremes = this.yAxis[0].getExtremes();
                if (extremes.dataMax == 0) {
                    extremes.max = 1;
                    this.yAxis[0].setExtremes(0, 1);
                }
            }
        }
    },

http://jsfiddle.net/CbwrB/

答案 1 :(得分:0)

此处为具有日期时间值类型的列。所以,请使用“null”而不是0。

如下所示,

系列:[{
            数据:[[1373308338468,null],[1373308938471,null]]
        }]

但yAxis的解决方法是minRange为“0.01”

实施例,

yAxis:{min:0,minRange:0.01}

答案 2 :(得分:-1)

如果您想看到图表,即使值为零,您也可以使用

plotOptions: {
 series: {
   minPointLength: 3
 }
},

这是您更新的小提琴http://jsfiddle.net/hcJjX/4/

希望这将是有用的