我有粘贴 在这里的 d3.js 代码。
我试图在同一页中显示多个图表。虽然 d3.js 代码是相同的。说一个来自 data1.json,另一个来自 data2.json。以下是困扰我的片段。
<svg width="960" height="960"></svg>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script>
var svg2 = d3.select("svg"),
margin = 20,
diameter = +svg2.attr("width"),
g = svg2.append("g").attr("transform", "translate(" + diameter / 2 + "," + diameter / 2 + ")");
根据 SO here 、 here 、 here 、 here 或 here 中的不同答案,解决方案似乎是以下之一:
- 使用不同的变量名来保存 svgs,例如 svg1、svg2.. 等等,我已经做到了。
- 使用 此处 描述的方法。
var chart1 = d3.select("#area1")
.append("svg")
方法二对我不起作用,因为它显示空白页。
如何解决这个问题。我确定我没有正确获取语法。
原文由 kingmakerking 发布,翻译遵循 CC BY-SA 4.0 许可协议
在同一页面上使用多个 SVG 完全没有问题。这是一个例子: