我正在尝试创建几年来来自几个国家的几类数据的线+散点图。
问题是折线图从一个数据类别继续到下一个数据类别。我看了一个来自http://bl.ocks.org/mbostock/3884955的示例,但不太理解我需要实现哪些更改。
我应该使用元素来分离数据吗?或者,有没有更简单的方法呢?
var line = d3.svg.line()
.x(function(d)
{return xScale(d.Year);
})
.y(function(d){
return yScale(d.Value);
})//为散点图追加圆圈
var circle = svg.selectAll('circle')
.data(data)
.enter()
.append("circle")//绘制线条。
svg.append('path')
.datum(data)
.attr("d",line)
.style("stroke","blue")
.style("stroke-width","1px")
.style("fill","none")// CSV数据文件的一部分。多个国家/地区的数据重复。
Variable,Unit,Country,Year,Value,Flags
"Hepatitis B","% of children immunised","Australia","2001",94,
"Hepatitis B","% of children immunised","Australia","2002",94,
"Hepatitis B","% of children immunised","Australia","2003",95,
"Hepatitis B","% of children immunised","Australia","2004",95,
"Hepatitis B","% of children immunised","Australia","2005",95,
"Diphtheria, Tetanus, Pertussis","% of children immunised","Australia","1980",33,
"Diphtheria, Tetanus, Pertussis","% of children immunised","Australia","1981",40,
"Diphtheria, Tetanus, Pertussis","% of children immunised","Australia","1982",48,
"Diphtheria, Tetanus, Pertussis","% of children immunised","Australia","1983",55,
"Diphtheria, Tetanus, Pertussis","% of children immunised","Australia","1984",62,
"Measles","% of children immunised","Australia","1983",68,
"Measles","% of children immunised","Australia","1984",68,
"Measles","% of children immunised","Australia","1985",68,发布于 2014-10-13 10:38:33
由于您粘贴的代码很少,我只是猜测问题是否出在您传递给图表的数据结构不正确。
在http://bl.ocks.org/mbostock/3884955的例子中,图表按城市分类,传递到图表的数据按城市数组分类:
var city = svg.selectAll(".city")
.data(cities)
.enter().append("g")
.attr("class", "city");
city.append("path")
.attr("class", "line")
.attr("d", function(d) { return line(d.values); })
.style("stroke", function(d) { return color(d.name); });城市数组的数据结构如下:
纽约->阵列...
旧金山->阵列...
奥斯汀->阵列...
详情见下图:

希望能有所帮助。
https://stackoverflow.com/questions/26321193
复制相似问题