javascript - d3.json 有问题,不起作用

标签 javascript json d3.js

我对 Javascript 和 D3 都很陌生,我一直在尝试自己尝试网站上的示例。

我将以下内容用于 JS/HTML 代码:

<!DOCTYPE html>
<html>
    <head>

        <script src="http://d3js.org/d3.v3.min.js"></script>

        <style type="text/css">

        </style>

    <head>
    <body>
        <script>
        d3.json("mydata.json", function (data) { 
            var canvas = d3.select("body").append("svg")
            .attr("width", 500)
            .attr("height", 500)

            canvas.selectAll("rect")
                .data(data)
                .enter()
                .append("rect")
                .attr("width", function (d) { return d.age * 10; })
                .attr("y", function (d, i) { return i * 50; })
                .attr("fill", "blue")
        })
           </script>
    </body>
</html>

对于我的“mydata.json”,我正在使用:

[
    {"name": "Maria",   "age": 30},
    {"name": "Fred",    "age": 50},
    {"name": "Jason",   "age": 12}  
]

每次我尝试运行它时,它的结果都与 d3 示例页面上的示例不同。请帮助,我正在尝试弄清楚 d3 是如何工作的,我是一个新手程序员。

最佳答案

看来您必须设置 height 属性才能显示某些内容。

调试此类问题的一个好方法是首先在没有 json 调用的情况下使一切正常。为此,我建议您使用 chrome javascript 控制台显示错误,并使用 chrome 检查器查看 html 代码。

data = [{
    "name": "Maria",
    "age": 30
}, {
    "name": "Fred",
    "age": 50
}, {
    "name": "Jason",
    "age": 12
}]
//d3.json("mydata.json", function (data) { 
var canvas = d3.select("body").append("svg")
    .attr("width", 500)
    .attr("height", 500)

canvas.selectAll("rect")
    .data(data)
    .enter()
    .append("rect")
    .attr("width", function (d) {
        return d.age * 10;
    })
    .attr("height", "20px")        
    .attr("y", function (d, i) {
        return i * 50;
    })
    .attr("fill", "blue")
//})

jsFiddle:http://jsfiddle.net/chrisJamesC/LX9BF/

关于javascript - d3.json 有问题,不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18933372/

相关文章:

javascript - android webview使用本地javascript文件加载远程html文件

javascript - 如何从异步调用返回响应?

python - 在表格单元格中填充颜色

javascript - 如何配置 d3.js 的 x 轴并手动设置开始/结束时间

javascript - D3 - 饼图和力导向标签

javascript - 使用 AnalyserNode 提高 FFT 分辨率

javascript - 如何将 .PNG 文件转换为可以存储到 mysql 中并通过 CSS 作为 "png"调用的源代码

json - 将文本文件读入 R

python - 迭代多个 json 行

javascript - nvd3.js-带取景器的折线图 : rotate axis labels and show line values when mouse over