我是d3.js的初学者,正在尝试用html文件中的节点和链接数据重新创建。到目前为止,我有这样的想法:
var svg = d3.select("svg"),
width = +svg.attr("width"),
height = +svg.attr("height");
var color = d3.scaleOrdinal(d3.schemeCategory20);
var simulation = d3.forceSimulation()
.force("link", d
我使用svg创建了一个d3js图形。我有一个场景,可以在弹出窗口上单击显示相同的图形,因此我将与现有div元素的click上的另一个svg元素进行复制。
它起作用了。但结果是错误的。追加的新svg是预挂的,是第一个元素,而不是最后一个元素。
在我的第一个元素中,我的不透明度是0.5' in the duplicated element i have the的不透明度:1,并且颜色改变为“蓝色”,但是它的工作方式不正确。这是我的代码:
var w = 100;
var h = 100;
var padding = 5;
var svg = d3.select('#svg1
我是d3.js的初学者,在用d3.v3创建图形时遇到了一个奇怪的问题。我很怀念index 0的节点。
下面是console.log(gnode)的输出
[Array(4)]
0: Array(4)
0: null
1: g
2: g
3: g
parentNode: g
length: 4
__proto__: Array(0)
length: 1
__proto__: Array(0)
下面是我的代码:
var svg_graph = svg.append('svg:g')
var vis = svg_graph.append("svg:g");
g
我使用相同的数据创建了多个迭代。考虑到这个场景(使用相同的数据),三个不同的迭代是:
1)分段2)条形图3) LINECHART
现在,我希望能够在HTML模板中的一个DIV中显示所有三个图表,但是用户应该能够通过选择选项1、2或3来选择他想要看到的图表。
我在一个单独的js脚本中创建了我的D3.js,并告诉它在DIV中创建带有“图表”id的图表。
(var svg = d3.select("#chart").append("svg")) /*line in app_d3.js that creates graph in div #chart*/
下面是我的HT
var k = -1;
someCircle.attr("cy", someScaleObject(++k));
所有的圆都有相同的y对齐,而期望的行为是把每个圆圈画在另一个下面。奇怪的是,如果我通过一个匿名函数返回someScaleObject(++k),这就达到了预期的效果。为什么?作者还在匿名函数的范围内声明了一个d变量,尽管它没有任何用途。有人能解释原因吗?
// Works as expected
someCircle.attr("cy", function () {
return someScaleObject(++k);
});
完整的代码