我有一个问题我能够在JFiddle上复制。链接:http://jsfiddle.net/h5sSR/
$(function() {
var chart = new Highcharts.StockChart({
chart: {
renderTo: 'container'
},
tooltip: {
backgroundColor: {
linearGradient: {
x1: 0,
y1: 0,
x2: 0,
y2: 1
},
stops: [
[0, 'white'],
[1, '#EEE']
]
},
xDateFormat: '%m/%e/%y %H:%M',
borderColor: 'gray',
borderWidth: 1
},
rangeSelector: {
selected: 1
},
series: [{
name: 'USD to EUR',
data: usdeur
}]
});
});
问题:我需要始终在工具提示下应用xDateFormat属性(月 / 天 / 年< / em> 小时:分钟)。当您选择少量数据时,它可以很好地工作。当您选择要查看的大量数据时,它使用不同的格式。
示例:在JFiddle上尝试(上面的链接)。它初始化为可见的少量数据,当您悬停时,您将看到日期,如:12/3/12 0:0。那很完美。现在将导航器拖到开头并悬停在图表上,DateFormat更改为(周周日,月日,年)
如何解决:为什么会发生这种情况?无论显示多少数据,我怎样才能始终应用xDateFormat属性?
答案 0 :(得分:4)
查看文档:{{3}}
工具提示标题中的日期格式。如果使用数据分组,则默认值是基于最近点的接近程度的智能猜测。它是从#plotOptions.dataGrouping.dateTimeLabelFormats数组中提取的。
所以在这里你可以找到,应该改变什么:http://api.highcharts.com/highstock#tooltip.xDateFormat - 适用于所有形式相同的格式,并且工作正常。
答案 1 :(得分:1)
以下是解决此问题的新代码(在Pawel Fus将我与解决方案联系起来之后):
plotOptions : {
series : {
dataGrouping : {
dateTimeLabelFormats : {
millisecond: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'],
second: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'],
minute: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'],
hour: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'],
day: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'],
week: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'],
month: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'],
year: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M']
}
}
}
},
那将“完成”。这里是更新的JFiddle链接:http://jsfiddle.net/h5sSR/1/