Highcharts日期时间轴,如何禁用时间部分(仅显示日期)?

12

我的图表在显示用户和系统发送的短信/通讯时,是按每天来显示数据的,因此时间部分是不相关和不必要的。这里有一个例子:http://jsfiddle.net/uaxZP/1/,其中时间“12:00”被显示出来。

我应该如何强制Highcharts在“日期时间”轴上永远不显示时间部分

编辑:Highcharts会根据图表或屏幕大小显示日期包含/不包含时间。我已经更新了jsfiddle并删除了一些数据,现在它也显示时间部分。


2
这个问题还存在吗?我在你的fiddle上只看到了日期。 - Mike Robinson
我认为考虑使用Highstock是因为您的数据已经以这种格式存在。 - Mina Gabriel
@MikeRobinson,这里是我们更新后的代码片段,显示了时间。 - gremo
2个回答

12

2
你需要添加 ordinal: false - Ron van der Heijden
对我来说,这个解决方案更准确。谢谢! - alumi

12
您可以拦截x轴标签函数并更改其输出。在我的示例中,我已将其更改为呈现短日期:

http://jsfiddle.net/uaxZP/3/

{ xAxis: 
    labels: {
        formatter: function() {
             return Highcharts.dateFormat("%b %e", this.value);
        }
    }
}

        

xAxis.labels.formatter属性可以控制此内容。你可能注意到我使用了Highcharts.dateFormat,这是一个用于呈现日期的实用程序函数。这不是强制性的,但它是一个很好的内置特性。有关xAxis格式化程序的文档在此处:

http://www.highcharts.com/ref/#xAxis-labels--formatter


实际上,我在Highcharts文档中找到了“tickInterval”选项。当设置为86400000(1天)时,似乎可以做同样的事情。什么是正确的选择? - gremo
2
tickInterval应该在数据没有返回xAxis值时使用。由于您的数据与时间戳相关联,我假设您想要使用它们。您还需要绝对确定间隔与返回的数据匹配,否则会使一切失调。在这种情况下,由于您拥有数据,我建议使用格式化程序。 - Mike Robinson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接