2

我在使用 highstock.js 时遇到问题

没有明显的原因,它似乎在生成图表时中途偏移了日期。

发生这种情况是因为 3 月 25 日的日期在图表中显示了两次,其中 x 轴上的第二个条目的值为 0。没有数据支持第二次错误的日期输入。

我在这里做了一个jsfiddle:http: //jsfiddle.net/DZGz7/

chart = new Highcharts.StockChart({
chart: {
            renderTo: 'containerchart',
            alignTicks: false
        },
        rangeSelector: {
            selected: 0
        },
        title: {
            text: 'New Members'
        },
        yAxis: {
            allowDecimals: false
        },
        xAxis: {
               minTickInterval: 24 * 3600 * 1000
        },
        plotOptions:{
           line:{
              dataGrouping:{enabled:false}
           }
        },
        series: [{
            type: 'column',
            name: 'New Members',
            data: ([
[1322611200000,3],[1322697600000,40],[1322784000000,21],[1322870400000,14],[1322956800000,5],     [1323043200000,6],[1323129600000,11],[1323216000000,14],[1323302400000,16],[1323388800000,11],[1323475200000,9],[1323561600000,8],[1323648000000,8],[1323734400000,3],[1323820800000,5],[1323907200000,5],[1323993600000,4],[1324080000000,4],[1324166400000,5],[1324252800000,3],[1324339200000,5],[1324425600000,4],[1324512000000,5],[1324598400000,0],[1324684800000,1],[1324771200000,1],[1324857600000,2],[1324944000000,9],[1325030400000,4],[1325116800000,5],[1325203200000,9],[1325289600000,0],[1325376000000,6],[1325462400000,4],[1325548800000,3],[1325635200000,4],[1325721600000,6],[1325808000000,8],[1325894400000,4],[1325980800000,4],[1326067200000,6],[1326153600000,6],[1326240000000,2],[1326326400000,6],[1326412800000,5],[1326499200000,3],[1326585600000,3],[1326672000000,5],[1326758400000,5],[1326844800000,1],[1326931200000,9],[1327017600000,11],[1327104000000,6],[1327190400000,0],[1327276800000,2],[1327363200000,4],[1327449600000,4],[1327536000000,5],[1327622400000,3],[1327708800000,5],[1327795200000,8],[1327881600000,3],[1327968000000,6],[1328054400000,3],[1328140800000,2],[1328227200000,2],[1328313600000,3],[1328400000000,4],[1328486400000,0],[1328572800000,2],[1328659200000,3],[1328745600000,8],[1328832000000,2],[1328918400000,5],[1329004800000,2],[1329091200000,2],[1329177600000,10],[1329264000000,5],[1329350400000,2],[1329436800000,3],[1329523200000,4],[1329609600000,0],[1329696000000,2],[1329782400000,13],[1329868800000,5],[1329955200000,6],[1330041600000,6],[1330128000000,4],[1330214400000,5],[1330300800000,3],[1330387200000,5],[1330473600000,3],[1330560000000,2],[1330646400000,5],[1330732800000,2],[1330819200000,8],[1330905600000,1],[1330992000000,3],[1331078400000,3],[1331164800000,3],[1331251200000,8],[1331337600000,5],[1331424000000,3],[1331510400000,2],[1331596800000,2],[1331683200000,3],[1331769600000,1],[1331856000000,6],[1331942400000,1],[1332028800000,3],[1332115200000,2],[1332201600000,3],[1332288000000,6],[1332374400000,2],[1332460800000,4],[1332547200000,2],[1332633600000,7],[1332716400000,0],[1332802800000,5],[1332889200000,1],[1332975600000,4],[1333062000000,4],[1333148400000,1],[1333234800000,8],[1333321200000,1],[1333407600000,4],[1333494000000,3],[1333580400000,3],[1333666800000,4],[1333753200000,1]
])
}]
});

(放大 3 月 25 日左右,看到数据偏移量开始)

日期对应于截至 2012 年 3 月 25 日的正确数据,之后将其移动 1 天。通过将工具提示数据与 x 轴标签进行比较,您将能够看到发生的偏移。显然,这似乎是加载到图表中的数据的问题,但我已经检查过了,它应该显示的下一个日期是 3 月 26 日。数据看起来还不错。

有什么想法我在这里做错了吗?

4

2 回答 2

2

来自http://api.Highcharts.com/highcharts#global.useUTC

使用UTC:布尔值

是否在 Highcharts.dateFormat 中使用 UTC 时间进行轴缩放、刻度线位置和时间显示。

使用 UTC 的优点是无论用户代理的时区设置如何,时间显示均等。当实时加载数据或需要正确的夏令时转换时,可以使用本地时间。默认为真。

因此,如果您希望您的图表以浏览器的本地时间显示,您需要在您的 javascript 中执行以下操作:

Highcharts.setOptions({
    global: {
        useUTC: false
    }
});

据推测,这应该在您创建图表之前设置。

于 2013-09-05T17:27:21.917 回答
1

必须关闭UTC,然后才能正常工作。

global:{
    useUTC: false
}
于 2012-10-26T18:53:40.243 回答