我正在使用Highstock创建折线图。但是,当日期范围小于特定天数时,我发现了一个问题,出现了重复的x标签。我设置formatter只显示几天。以下是示例:http://jsfiddle.net/ry4DQ/
labels: {
formatter: function() {
return Highcharts.dateFormat('%m/%d', this.value);
}
}
当我将开始日期更改为2011-05-07时,您会在x轴上看到每天两个标签。
有没有办法避免这个问题?
我尝试了setExtremes
事件,将tickInterval
设置为日期范围小于某个值的1天,并且它可以正常工作。但是,当图表调整为较小时,标签文本会重叠。
非常感谢任何帮助或信息!
答案 0 :(得分:2)
标签重复,因为您为每个极端定义标签为%m /%d。即,当您有:18:00/22:00(2011-05-07的日期范围)时,这些值将与格式化程序重叠(%m%d)。因此结果是重复的。
tickInterval / minrange应定义为以毫秒为单位的时间,因此一天为24 * 3600 * 1000。
答案 1 :(得分:0)
如果您从formatter
移除xAsis.labels
,问题就会消失。您可能不喜欢日期格式。这是the fiddle和屏幕截图:
答案 2 :(得分:0)
@ sebastian-bochan的解决方案让我走上了正确的道路:您仍然可以使用格式化程序(与@ dan-dascalescu的答案相反),只需确保将间隔设置为正确的毫秒数量! / p>
if hour_axis == true
date = 'h:MMTT'
interval = 3600 * 1000
else
date = 'm/d/yy'
interval = 24 * 3600 * 1000
xAxis =
xAxis:
tickInterval: interval
tickPositions: 0
type: 'datetime'
labels:
formatter: ->
dateFormat(@value, date)