gpt4 book ai didi

php - D3 的格式数据

转载 作者:行者123 更新时间:2023-12-02 19:08:06 24 4
gpt4 key购买 nike

如何为我在 d3.js 中制作的图表设置此示例数据的格式?

[
[
[
"2",
"2013-01-02 00:00:00+00"
],
[
"3",
"2012-12-28 00:00:00+00"
],
[
"3",
"2012-12-27 00:00:00+00"
],
[
"1",
"2012-12-26 00:00:00+00"
],
[
"1",
"2012-12-24 00:00:00+00"
],
[
"4",
"2012-12-21 00:00:00+00"
],
[
"1",
"2012-12-20 00:00:00+00"
]
],
[
[
"1",
"2012-12-27 00:00:00+00"
],
[
"2",
"2012-12-21 00:00:00+00"
],
[
"2",
"2012-12-18 00:00:00+00"
],
[
"1",
"2012-12-17 00:00:00+00"
],
[
"1",
"2012-11-27 00:00:00+00"
],
[
"1",
"2012-11-03 00:00:00+00"
],
[
"1",
"2012-10-27 00:00:00+00"
]
]
]

目前,当 d3 尝试解析此数据时,我的 javascript 控制台会出现Uncaught TypeError: Cannot use 'in' operator to search for '_dateElement' in NaN inside d3.v3.js:1033

似乎 d3 不想处理引号中的数字,没有引号会使 json 无效,我的 ajax 调用将不会返回该 json,这意味着我将无法解析 d3 函数中的数组.

我相信 d3 可以解析和格式化 json,但我陷入了僵局。如何格式化这些数据,日期对象将是我的 X 轴按升序排列,Y 轴将是整数值的最大值

最佳答案

您需要将输入数组解析为输出数组,其中的数据采用您想要的格式。正如 C.Reed 在评论中所说,使用 parseInt 将字符串转换为数字,使用 d3.time.format 将字符串转换为日期。 https://github.com/mbostock/d3/wiki/Time-Formatting

var date_in = "2013-01-02 00:00:00+00";
var format = d3.time.format("%Y-%m-%d 00:00:00+00");
var date_out = format.parse(date_in);

(假设时间始终为 0)

关于php - D3 的格式数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14131183/

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