3

我正在尝试让 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)插入了两个标签,但我不希望显示这些标签,因为这些标签没有值所以相邻的日期将通过一条线连接,但这是错误的。

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

谢谢你,菲尔

4

3 回答 3

0

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

我使用嵌入在 JasperReports 中的 Highcharts,但这使我们能够获得您想要的行为。

于 2014-12-04T13:25:57.653 回答
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 轴上使用日期时间。似乎带有空值的不连续性被分成所谓的

于 2013-02-23T19:36:04.563 回答
0

您是否尝试将 oridinal 设置为 false?

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

于 2013-02-26T13:46:21.303 回答