首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >D3多序列线图

D3多序列线图
EN

Stack Overflow用户
提问于 2014-10-12 10:16:34
回答 1查看 743关注 0票数 0

我正在尝试创建几年来来自几个国家的几类数据的线+散点图。

问题是折线图从一个数据类别继续到下一个数据类别。我看了一个来自http://bl.ocks.org/mbostock/3884955的示例,但不太理解我需要实现哪些更改。

我应该使用元素来分离数据吗?或者,有没有更简单的方法呢?

代码语言:javascript
复制
var line = d3.svg.line()

        .x(function(d)
            {return xScale(d.Year);
            })
        .y(function(d){
            return yScale(d.Value);
            })

//为散点图追加圆圈

代码语言:javascript
复制
var circle = svg.selectAll('circle')
        .data(data)
        .enter()
        .append("circle")

//绘制线条。

代码语言:javascript
复制
svg.append('path')
    .datum(data)
    .attr("d",line)
    .style("stroke","blue")
    .style("stroke-width","1px")
    .style("fill","none")

// CSV数据文件的一部分。多个国家/地区的数据重复。

代码语言:javascript
复制
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,
EN

回答 1

Stack Overflow用户

发布于 2014-10-13 10:38:33

由于您粘贴的代码很少,我只是猜测问题是否出在您传递给图表的数据结构不正确。

http://bl.ocks.org/mbostock/3884955的例子中,图表按城市分类,传递到图表的数据按城市数组分类:

代码语言:javascript
复制
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); });

城市数组的数据结构如下:

纽约->阵列...

旧金山->阵列...

奥斯汀->阵列...

详情见下图:

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26321193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档