相关疑难解决方法(0)

d3.data跳过第一行数据

我有以下代码可以很好地工作,除非我遍历我的数据集,第一行(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)显示包含我的第二行数据之后的所有行 - 它会丢弃第一行.

欢迎任何建议.

d3.js

15
推荐指数
1
解决办法
3657
查看次数

缩放d3 v4地图以适合SVG(或根本不适合)

我试图让这个美国规模的地图变小.要么是我的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错误.谢谢你的帮助!

javascript svg geojson d3.js topojson

11
推荐指数
1
解决办法
2926
查看次数

为什么要跳过第一个链接项?

我有一个相当简单的可视化,我试图把它放在一起,但处理有一个小问题.

如果我使用以下代码段,那么一切都按预期工作:

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.js

9
推荐指数
1
解决办法
1068
查看次数

D3 条形图未显示数组中的第一个元素

我正在制作第一组 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)

html javascript css d3.js

3
推荐指数
1
解决办法
1070
查看次数

d3缺少数组中的第一个值

我想我有一个很简单的问题,但我无法弄清楚.我的数组如下:

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中.

arrays d3.js

2
推荐指数
1
解决办法
2045
查看次数

标签 统计

d3.js ×5

javascript ×2

arrays ×1

css ×1

geojson ×1

html ×1

svg ×1

topojson ×1