gpt4 book ai didi

javascript - D3 不显示但没有错误

转载 作者:行者123 更新时间:2023-11-30 21:10:00 25 4
gpt4 key购买 nike

我正在尝试使用以下代码创建一个非常简单的气泡图。但没有任何显示。我尝试查看控制台,但控制台中未显示任何错误。我遵循的教程的原始来源在这里:https://jrue.github.io/coding/2014/exercises/basicbubblepackchart/

jsfiddle:https://jsfiddle.net/centem/yk4v29rq/

 fruits = [
{"Apple":32},
{"Pear":13},
{"Banana":25},
{"Grapes":29},
{"Strawberry":36}
];

var diameter = 500, //max size of the bubbles
color = d3.scale.category20b(); //color category

var bubble = d3.layout.pack()
.sort(null)
.size([diameter, diameter])
.padding(1.5);

var svg = d3.select("body")
.append("svg")
.attr("width", diameter)
.attr("height", diameter)
.attr("class", "bubble");

d3.csv("fruit.csv", function(error, data){

//convert numerical values from strings to numbers
data = data.map(function(d){ d.value = +d["Amount"]; return d; });

//bubbles needs very specific format, convert data to this.
var nodes = bubble.nodes({children:data}).filter(function(d) { return !d.children; });

//setup the chart
var bubbles = svg.append("g")
.attr("transform", "translate(0,0)")
.selectAll(".bubble")
.data(nodes)
.enter();

//create the bubbles
bubbles.append("circle")
.attr("r", function(d){ return d.r; })
.attr("cx", function(d){ return d.x; })
.attr("cy", function(d){ return d.y; })
.style("fill", function(d) { return color(d.value); });

//format the text for each bubble
bubbles.append("text")
.attr("x", function(d){ return d.x; })
.attr("y", function(d){ return d.y + 5; })
.attr("text-anchor", "middle")
.text(function(d){ return d["Fruit"]; })
.style({
"fill":"white",
"font-family":"Helvetica Neue, Helvetica, Arial, san-serif",
"font-size": "12px"
});
});

最佳答案

本教程从“fruit.csv”加载数据,但在您的情况下,数据直接从变量加载,无需调用 d3.csv

data = [
{"Fruit": "Apple", "Amount": 32},
{"Fruit": "Pear", "Amount": 13},
{"Fruit": "Banana", "Amount": 25},
{"Fruit": "Pear", "Amount": 13},
{"Fruit": "Grapes", "Amount": 29},
{"Fruit": "Strawberry", "Amount": 36}
];

var diameter = 500, //max size of the bubbles
color = d3.scale.category20b(); //color category

var bubble = d3.layout.pack()
.sort(null)
.size([diameter, diameter])
.padding(1.5);

var svg = d3.select("body")
.append("svg")
.attr("width", diameter)
.attr("height", diameter)
.attr("class", "bubble");

//convert numerical values from strings to numbers
data = data.map(function (d) {
d.value = +d["Amount"];
return d;
});

//bubbles needs very specific format, convert data to this.
var nodes = bubble.nodes({children: data}).filter(function (d) {
return !d.children;
});

//setup the chart
var bubbles = svg.append("g")
.attr("transform", "translate(0,0)")
.selectAll(".bubble")
.data(nodes)
.enter();

//create the bubbles
bubbles.append("circle")
.attr("r", function (d) {
return d.r;
})
.attr("cx", function (d) {
return d.x;
})
.attr("cy", function (d) {
return d.y;
})
.style("fill", function (d) {
return color(d.value);
});

//format the text for each bubble
bubbles.append("text")
.attr("x", function (d) {
return d.x;
})
.attr("y", function (d) {
return d.y + 5;
})
.attr("text-anchor", "middle")
.text(function (d) {
return d["Fruit"];
})
.style({
"fill": "white",
"font-family": "Helvetica Neue, Helvetica, Arial, san-serif",
"font-size": "12px"
});

关于javascript - D3 不显示但没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46250248/

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