xDateFormat字符串不适用于大量数据

时间:2013-03-04 22:35:16

标签: highstock

我有一个问题我能够在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属性?

2 个答案:

答案 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/