我有以下代码可以很好地工作,除非我遍历我的数据集,第一行(0索引)被跳过.
svg.selectAll("rect")
.data(data)
.enter()
.append("rect")
.attr("x",function(d){
console.log(data);
console.log(d);
return xScale(d.year-1980);
})
Run Code Online (Sandbox Code Playgroud)
注意console.log(data)返回我的完整数据集,包括第一行,所以数据就在那里!
但是console.log(d)显示包含我的第二行数据之后的所有行 - 它会丢弃第一行.
欢迎任何建议.
我试图让这个美国规模的地图变小.要么是我的SVG,要么是手动.
这是我最简单的代码:
function initializeMapDifferent(){
var svg = d3.select("#map").append("svg")
.attr("width", 1000)
.attr("height", 500);
d3.json("https://d3js.org/us-10m.v1.json", function (error, us){
svg.append("g")
.attr("class", "states")
.selectAll("path")
.data(topojson.feature(us, us.objects.states).features)
.enter().append("path")
.attr("fill", "gray")
.attr("d", d3.geoPath());
});
}
Run Code Online (Sandbox Code Playgroud)
我尝试过类似的东西:
var path = d3.geoPath()
.projection(d3.geoConicConformal()
.parallels([33, 45])
.rotate([96, -39])
.fitSize([width, height], conus));
Run Code Online (Sandbox Code Playgroud)
但每次我在路径变量中添加任何东西时,我都会从D3的内部部分得到NAN错误.谢谢你的帮助!
我有一个相当简单的可视化,我试图把它放在一起,但处理有一个小问题.
如果我使用以下代码段,那么一切都按预期工作:
var lines = svg.selectAll("line")
.data(data.links)
.enter()
.append("svg:line")
.attr("x1", function(d) { return findNode(data.nodes, d.source).x;})
.attr("y1", function(d) { return findNode(data.nodes, d.source).y;})
.attr("x2", function(d) { return findNode(data.nodes, d.target).x;})
.attr("y2", function(d) { return findNode(data.nodes, d.target).y;})
.style("stroke", "#838383")
.style("stroke-width", 1)
.style("marker-end", "url(#end-arrow)");
Run Code Online (Sandbox Code Playgroud)
如果我切换它但使用稍微不同的一个,使用路径:
var paths = svg.selectAll("path")
.data(data.links)
.enter()
.append("svg:path")
.attr("d", function(d) {
debugger;
var src = findNode(data.nodes, d.source);
var tgt = findNode(data.nodes, d.target);
var xi = d3.interpolateNumber(src.x, tgt.x);
var curvature = 0.8;
return "M" + src.x + "," + src.y
+ "C" …Run Code Online (Sandbox Code Playgroud) 我正在制作第一组 D3 教程(可以在此处找到)找到),并且遇到了数据数组的第一项未出现的问题。我在每个数据 div 元素上放置的边框表明,本质上第一个条目已“折叠”成顶部的一行。有没有解释为什么会发生这种情况?我怎样才能解决这个问题?
我的 HTML、CSS 和 JS 已放到codepen上上可以查看和编辑了。
提前致谢!
孤立的JS:
var data = [10, 23, 14, 5, 6, 6, 6, 22, 17 ];
d3.select(".project")
.selectAll(".project__bar-chart")
.data(data)
.enter()
.append("div")
.attr("class", "project__bar-chart")
.style("width", function(d) {return d + "rem";})
.text(function(d) {return d;})
Run Code Online (Sandbox Code Playgroud) 我想我有一个很简单的问题,但我无法弄清楚.我的数组如下:
var wordcount = [1, 2, 3, [{name: 'A', values: [0,1,3,9, 8, 7]},
{name: 'B', values: [0, 10, 7, 1, 1, 11]},
{name: 'C', values: [3, 1, 4, 4, 4, 17]},
{name: 'D', values: [4, 77, 2, 13, 11, 13]}
]]]
Run Code Online (Sandbox Code Playgroud)
我正在使用以下代码来获取A,B,C和D.
d3.select("#tooltippos")
.data(d[3])
.enter()
.append("div")
.text(function(d) { return d.name; });
Run Code Online (Sandbox Code Playgroud)
但我一直想念第一个字母.只有B,C和D出现在div中.