不显示不存在的日期值

时间:2013-02-23 07:46:49

标签: highcharts

我正在尝试让Highcharts显示日常使用情况统计信息,例如:公司的资源。公司的开业日期是星期一到星期五。

我的数据集如下所示:

[Date.UTC(2012, 8, 6),17.5], (Thu)
[Date.UTC(2012, 8, 7),42.5], (Fri)
-- weekend
[Date.UTC(2012, 8, 10),20],  (Mon)
[Date.UTC(2012, 8, 11),20],  (Tue)
[Date.UTC(2012, 8, 12),40],  (Wed)
[Date.UTC(2012, 8, 13),30],  (Thu)
...

在时间序列图表中,为缺少的两个周末日期(2012年,8月8日和2012年,8月9日)插入了两个标签,但我不希望显示这些标签,因为没有值对于这些标签,所以相邻的日期将通过一条线连接,但这是错误的。

是否可以关闭此“日期插值”并仅显示我插入的值?

谢谢,菲尔

3 个答案:

答案 0 :(得分:0)

可以使用散点图系列并自定义x轴的tickPositioner回调并过滤不是工作日的x系列数据(日期)。

我在http://jsfiddle.net/hkskoglund/6jNGg/

创造了一个小提琴

为了允许错过的周末,应该按系列数据中的y值推送 null (如上面评论中所述)

不使用日期时间轴的另一个选项是使用类别轴,您可以在其中按下您拥有数据的系列中的日期。这将允许有连续的情节。看看新的小提琴:Areaspline with categories as dates

xAxis: {
            labels: {
                formatter: function() {
                    // http://api.highcharts.com/highcharts#Highcharts.dateFormat()
                    return Highcharts.dateFormat('%d %b', this.value);
                }
            },
            categories : [            
                Date.UTC(2012, 8, 6),Date.UTC(2012, 8, 7),
                Date.UTC(2012, 8, 10),Date.UTC(2012, 8, 11),
                Date.UTC(2012, 8, 11)]
       },

        series: [{
            name : 'resources',
            data: [17.5,42.5,20,25,20]

        }]

据我所知,在不更改Highcharts系列的源/渲染的情况下,使用您请求的绘图配置在x轴上使用datetime是不可能的。似乎具有空值的不连续性被分成所谓的

答案 1 :(得分:0)

您是否尝试将oridinal设为false?

http://api.highcharts.com/highstock#xAxis.ordinal

答案 2 :(得分:0)

我知道这是一个老问题,但您是否尝试在插入之前将日期格式化为字符串?如果是,则可以使用类别轴。只要您没有任何日期条目与空白条目,这应该有效。

我使用嵌入在JasperReports中的Highcharts,但这可以让我们得到你想要的行为。