我想在这里绘制一个非常基本的图。我想要实现的有点像这样:d3.js意想不到的行为创建和输入元素
每个“子图”包含4个数据点。
所需的结构是:
.chart
.chart__graph
.chart__graph__exp1
.chart__graph__exp2
.chart__graph__opt
.chart__graph__min
.chart__graph
.chart__graph__exp1
.chart__graph__exp2
.chart__graph__opt
.chart__graph__min
.chart__graph
....
这是我的方法:
var data = [
{
minimum: 4,
optimum: 7,
company: 6,
competitor: 6
},
{
minimum: 2,
optimum: 4,
company: 4,
competitor:3
},
{
minimum: 3,
optimum: 7,
company: 6,
competitor: 3
}
]
d3.select(".chart").selectAll(".chart__graph")
.data(data)
.enter()
.append("div").attr("class", "chart__graph__min").html(function(d) { return d.minimum; });
d3.select(".chart").selectAll(".chart__graph")
.data(data)
.enter()
.append("div").attr("class", "chart__graph__exp1").html(function(d) { return d.company; })
d3.select(".chart").selectAll(".chart__graph")
.data(data)
.enter()
.append("div").attr("class", "chart__graph__exp2").html(function(d) { return d.competitor; })
d3.select(".chart").selectAll(".chart__graph")
.data(data)
.enter()
.append("div").attr("class", "chart__graph__opt").html(function(d) { return d.optimum; })
根据文档/教程我希望它来创建一个subdiv,但似乎忽略.selectAll( “.chart__graph”)完全。 如果我手动使用div .append()
,则会为每个不希望的运行创建细分。 我错过了什么来达到我想要的div结构? 另外,selectAll()
实际上做了什么?
请不要介意重复的代码,现在试图绕过D3.js语法。
这正是我正在寻找的!谢谢! – Seltsam