Javascript 从不同列中提取数据的折线图函数
我试图创建一个函数,用不同城市的二氧化碳排放数据绘制一个简单的折线图。在我的数据集中,每一列都是一个城市,每一行都是一年,所以这些数字指的是该地区每年向大气释放的二氧化碳Javascript 从不同列中提取数据的折线图函数,javascript,d3.js,Javascript,D3.js,我试图创建一个函数,用不同城市的二氧化碳排放数据绘制一个简单的折线图。在我的数据集中,每一列都是一个城市,每一行都是一年,所以这些数字指的是该地区每年向大气释放的二氧化碳 function lineChart(city){ // set the dimensions and margins of the graph var margin = {top: 20, right: 20, bottom: 30, left: 50}, width = 960 - margin.left - m
function lineChart(city){
// set the dimensions and margins of the graph
var margin = {top: 20, right: 20, bottom: 30, left: 50},
width = 960 - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;
// parse the date / time
var parseTime = d3.timeParse("%Y");
// set the ranges
var x = d3.scaleTime().range([0, width]);
var y = d3.scaleLinear().range([height, 0]);
// define the line
var valueline = d3.line()
.x(function(d) { return x(d.Year); })
.y("function(d) { return y(d."+city+"); }");
;}
lineChart("london");
我知道代码不完整,但我粘贴了这一点,让你知道我想做什么。我想通过调用以城市为变量的函数,为每个城市绘制不同的图形。我尝试使用这个.y(“函数(d){returny(d.“+city+”);}”)代码>但它不工作
有人知道如何解决这个问题吗
谢谢你不需要函数(d){returny(d.“+city+”;}周围的“
”
”——它告诉javascript将文本function(d){returny(d.
和);}
解释为字符串,给出function(d){returny(d.london)}的y
属性
。您希望执行该功能,而不仅仅是引用它
要访问城市的数据,您需要访问
d['london']
从对象d
(也可以写为d.london
)。由于city
是存储当前城市名称的变量,因此可以使用
d[city]
整条线路就是这样
.y(function(d) { return y(d[city]); });
.y(函数(d){返回y(d[城市];});