使用d3.用Json代替d3.csv来创建气泡图
use d3.json instead of d3.csv to create bubble chart
我试图使用以下代码来创建一个气泡图:https://bl.ocks.org/mbostock/4063269下面的代码使用它来加载csv文件:
d3.csv("flare.csv", function(d) {
d.value= +d.value;
if (d.value) return d;
}, function(error, classes) {
if (error) throw error;
我想加载一个json文件,所以我这样写:
d3.json("data1.php", function(d) {
d.forEach(function(data) {
data.value= +data.value;
});
if (d.value) return d;
},function(error, classes) {
if (error) throw error;
PHP文件的输出如下:
[{"disease":"Cold","value":"33"},{"disease":"Anemia","value":"23"},{"disease":"Hepatitis B","value":"21"},{"disease":"Gum disease","value":"19"},{"disease":"Lung Cancer","value":"17"},{"disease":"Diarrhea","value":"15"},{"disease":"Strep Throat","value":"13"},{"disease":"STDs","value":"11"},{"disease":"Heart Disease","value":"8"},{"disease":"Type 2 Diabetes","value":"6"}]
出于某种原因,我的代码(使用d3。Json…)不工作。而我得到的只是一张白纸。我非常感谢你的建议。
与d3.csv
不同,d3.json
不接受访问函数。
所以,不用这个:
d3.json("data1.php", function(d) {
d.forEach(function(data) {
data.value= +data.value;
});
if (d.value) return d;
}, function(error, classes) {
if (error) throw error;
应该是这样的:
d3.json("data1.php", function(error, classes) {
if (error) throw error;
并在回调中使用classes
和forEach
。
相关文章:
- 从数组在d3中创建条形图时出现问题
- D3数学函数创建
- 如何使用D3.js根据json中给出的数据在Heatmap中创建可变大小的矩形
- D3.js:如何在svg上移动鼠标时创建弹出事件
- 正确填充 D3 创建的增强 svg 路径
- 使用 D3 创建具有复杂数据集的灵活条形图
- 为什么在我的 SVG 中说 .selectAll() D3 创建的圆圈是使用 .length 的 1 个元素
- 如何使用d3创建动态附加
- 使用D3创建多尺度、嵌套、有序的条形图
- 使用D3创建三个圆
- 使用D3创建一个表,其中两行是同级行
- d3创建对象而不追加
- 不希望的闪烁效果使用D3创建相邻的矩形
- 用D3创建世界轮廓图
- 使用D3或JQuery更新D3创建的屏幕
- 使用JSON数据在同一页面中使用d3创建多重饼图
- D3 +创建不同格式的饼状图
- 附加“更改”事件以选择使用 d3 创建的 2 列表
- 使用 D3 创建具有动态选择数据源的旭日图
- 为什么在使用d3创建AngularJS指令时使用element[0]而不是element ?