gpt4 book ai didi

javascript - Highcharts - 堆积柱形数据系列

转载 作者:行者123 更新时间:2023-11-30 17:14:30 25 4
gpt4 key购买 nike

我正在使用 Highcharts 处理堆叠柱。

我正在构建的数据系列与此类似

series: [{
name: 'Apples',
data: [['2014-01-01',5], ['2014-01-02',3], ['2014-01-04',2], ['2014-01-05',7], ['2014-01-06',8]]
}, {
name: 'Oranges',
data: [['2014-01-01',3], ['2014-01-02',7], ['2014-01-04',9], ['2014-01-05',11], ['2014-01-06',19]]
}, {
name: 'Grapes',
data: [['2014-01-01',15], ['2014-01-02',23], ['2014-01-03',12], ['2014-01-05',17], ['2014-01-06',18]]
}]

http://jsfiddle.net/emgq47px/

如果您仔细查看数据,我会发现苹果缺少 2014-01-04 的数据,而是 2014-01-03 的数据。

解决此问题的一种方法是预填充类别并按照相同的顺序插入我的 y 值,但这不是解决问题的好方法,因为我可能会处理大型数据集。

非常感谢任何朝着正确方向前进的提示。


更新:

我正在用数据库中的值填充我的 x 和 y 坐标。数据库以 (YYYY-mm-dd) 格式给我日期。所以我在 PHP strtotime($res[0])

中使用 strtotime 函数将该字符串转换为纪元时间

但是当我填充绘制图表时,我看到了错误的日期。我检查了在线可用的纪元转换器,看起来转换是正确的,但我仍然无法弄清楚这里有什么问题。甚至 x 轴的刻度似乎也略微偏离。

非常感谢您的建议。

http://jsfiddle.net/emgq47px/3/


已解决:

我必须将纪元时间乘以 1000。这行得通。

原始答案:HighCharts - timeseries chart - irregular datetime interval on xAxis

最佳答案

最好的方法可能是使用日期时间轴。这允许 highcharts 知道数据包含日期,并且它可以正确地对轴进行排序。

    xAxis: {
lineWidth: 2,
type: 'datetime'
},

执行此操作后,您需要在数据中提供有效的日期时间,如下所示:

 data: [[Date.UTC(2014,  0, 1),5],
[Date.UTC(2014, 0, 2),3],
[Date.UTC(2014, 0, 4),2],
[Date.UTC(2014, 0, 5),7],
[Date.UTC(2014, 0, 6),8]]

请注意,月份是从 0 到 11,而不是 1 到 12,所以零是一月。

http://jsfiddle.net/0ofLx86d/

关于javascript - Highcharts - 堆积柱形数据系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26376320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com