Javascript 数据未从d3图表的json绑定
嗨,我在用D3图表 我使用的是d3图表: 在此图表中,所有数据都是从变量读取的。我想从json文件中读取数据 我已经完成了一半的工作。我也做了同样的工作来完成另一半的工作,但它不起作用 饼图是从json读取的数据。但条形图不是从json读取数据 在这里,我创建了Plunker,请检查并给出一些解决方案。 这里我试图读取的数据不是从json读取的 我希望运行此图表与此示例相同: 我试过这样做 谢谢,您使用了错误的d3.json回调签名。回调的第一个参数是发生的错误,如果没有发生错误,则为null,第二个参数是返回的数据。因此,您应该使用以下方法:Javascript 数据未从d3图表的json绑定,javascript,d3.js,Javascript,D3.js,嗨,我在用D3图表 我使用的是d3图表: 在此图表中,所有数据都是从变量读取的。我想从json文件中读取数据 我已经完成了一半的工作。我也做了同样的工作来完成另一半的工作,但它不起作用 饼图是从json读取的数据。但条形图不是从json读取数据 在这里,我创建了Plunker,请检查并给出一些解决方案。 这里我试图读取的数据不是从json读取的 我希望运行此图表与此示例相同: 我试过这样做 谢谢,您使用了错误的d3.json回调签名。回调的第一个参数是发生的错误,如果没有发生错误,则为null
d3.json("data1.json", function(error, data){
if(error) {
// handle error
} else {
// work with the data array
}
}
下面的代码片段演示如何从外部JSON存储加载数据集。加载数据后,数据将传递给绘制上述饼图的dsPieChart函数
d3.选择窗口。打开“加载”功能{
//从外部JSON源加载数据
d3.json'https://api.myjson.com/bins/1hewit,functionerror,json{
如果错误{
抛出新错误“出现错误”;
}否则{
dsPieChartjson;
}
};
};
//格式选项
var formatAsPercentage=d3.format%,
formatAsPercentage1Dec=d3.format.1%,
formatAsInteger=d3.format,,
fsec=d3.时间格式%S,
fmin=d3.时间格式%M,
fhou=d3.时间格式%H,
fwee=d3。时间格式%a,
fdat=d3。时间格式为%d,
fmon=d3。时间格式%b;
//饼图绘制
函数dsPieChartdataset{
可变宽度=400,
高度=400,
outerRadius=Math.minwidth,height/2,
内半径=外半径*.999,
内半径最终=外半径*.5,
内半径FINAL3=外半径*.45,
颜色=d3.scaleOrdinald3.SchemeCategory 20;
var vis=d3.1图表
.appendsvg:svg
.数据[数据集]
.宽度,宽度
.身高,身高
.svg:g
.attrtransform,translate+outerRadius+,+outerRadius+;
var arc=d3.arc
.outerradius outerradius.innerradiusinerradius;
var arcFinal=d3.arc.InnerRadiusinerradiusFinal.outerRadiusouterRadius;
var arcFinal3=d3.arc.InnerRadiusinerradiusFinal3.outerRadiusouterRadius;
变量pie=d3.pie
.价值函数{
返回d.measure;
};
var arcs=vis.selectAllg.slice
.数据派
进来
.svg:g
.attr类,切片
.onmouseover,mouseover
.onmouseout,mouseout
.onclick,up;
arcs.appendsvg:path
.attrfill,functionad,i{
返回颜色i;
}
.attrd,arc
.附录:标题
.textfunctiond{
返回d.data.category+:+formatAsPercentated.data.measure;
};
d3.selectAllg.slice.selectAllpath.transition
.持续时间750
.10
.attrd,arcFinal;
arcs.FilterFunction{
返回d.endAngle-d.startAngle>.2;
}
.appendsvg:文本
.attrdy,.35em
.attr文本锚定,中间
.attr转换,函数{
返回translate+arcFinal.centroidd+rotate+angled+;
}
.textfunctiond{
返回d.data.category;
};
函数角度{
变量a=d.startAngle+d.endAngle*90/Math.PI-90;
返回a>90°a-180:a;
}
vis.appendsvg:文本
.attrdy,.35em
.attr文本锚定,中间
.2012年收入份额
.级别、头衔;
功能鼠标盖{
d3.selectthis.selectpath.transition
.持续时间750
.attrd,arcFinal3;
}
功能鼠标器{
d3.selectthis.selectpath.transition
.持续时间750
.attrd,arcFinal;
}
函数upd,i{
updateBarChartd.data.category,colori;
updateLineChartd.data.category,colori;
}
}
皮查特{
位置:绝对位置;
顶部:10px;
左:10px;
宽度:400px;
高度:400px;
}
.切片{
字号:12号;
字体系列:Verdana;
填充物:白色;
字体大小:粗体;
}
.头衔{
字体系列:Verdana;
字体大小:15px;
}
投票被否决的原因是什么?可运行的代码段工作正常!
d3.json("data1.json", function(error, data){
if(error) {
// handle error
} else {
// work with the data array
}
}