Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript D3.js D3.json()函数不接受有效的json,如何使用与D3.csv相同的json?_Javascript_Json_Csv_D3.js_Histogram - Fatal编程技术网

Javascript D3.js D3.json()函数不接受有效的json,如何使用与D3.csv相同的json?

Javascript D3.js D3.json()函数不接受有效的json,如何使用与D3.csv相同的json?,javascript,json,csv,d3.js,histogram,Javascript,Json,Csv,D3.js,Histogram,在学习d3.js时,我用.csv文件中的原始数据构建了一个直方图,如下所示 [{"y":["16","18","18","19"],"x":["2","3","5","12"]}] CSV D3 ……等等。这是我第一次打电话,效果很好 将相同的数据放入如下有效的json格式中 [{"y":["16","18","18","19"],"x":["2","3","5","12"]}] 这样调用数据是行不通的 d3.json("data.json", function (json) { var

在学习d3.js时,我用.csv文件中的原始数据构建了一个直方图,如下所示

[{"y":["16","18","18","19"],"x":["2","3","5","12"]}]
CSV

D3

……等等。这是我第一次打电话,效果很好

将相同的数据放入如下有效的json格式中

[{"y":["16","18","18","19"],"x":["2","3","5","12"]}]
这样调用数据是行不通的

d3.json("data.json", function (json) {

var map = data.map(function (i) {
    return parseFloat(i.y);
})

var histogram = d3.layout.histogram()
    .bins(4)
    (map)

如何让d3.js以与原始.csv格式相同的方式解释.json文件,以便我必须更改的代码最少。这可能吗?我读到的文档让我很困惑,似乎与我的示例不符。Youtube上最好的教程使用.csv而不是json。我需要使用json。

为您的json文件尝试以下数据:

[{"x":"2","y":"16"}, {"x":"3","y":"18"}, {"x":"5","y":"18"}, {"x":"12","y":"19"}] [{“x”:“2”,“y”:“16”},{“x”:“3”,“y”:“18”},{“x”:“5”,“y”:“18”},{“x”:“12”,“y”:“19”}] 如果您用数字而不是字符串指定数据,您还可以去掉
parseFloat(i.y)
(只需返回
i.y
)。CSV值被强制转换为字符串,而JSON可以有数字


编辑:将第一行更改为:
d3.json(“data.json”,function(errordata){
。注意参数名称。您的代码应该在这之后工作。

您得到了什么结果?这很有帮助。但是,当访问map方法时,会给我“undefined”或“null”。请尝试更改function(json)运行(数据)我不认为这是问题所在。d3支持回调函数,根据@rebrine的最后一个函数定义,这些回调函数需要
数据
参数,但无法在JSFIDLE上运行,但我已经通过建立data.csv和data.json文件并使用我的本地web确认了d3.json的工作原理如本答案所述服务器确认。您是否已尝试通过将数据参数写入控制台来将代码缩减到最小值?您是否查看了JavaScript控制台以查看是否存在任何错误(例如,与从URI检索相关)?好的,Thach Mai关于格式的看法是对的。我还遇到了“映射”问题和代码中的其他内容。这段视频帮助我确定下来。谢谢你的帮助! [{"x":"2","y":"16"}, {"x":"3","y":"18"}, {"x":"5","y":"18"}, {"x":"12","y":"19"}]