Javascript 如何创建一个D3图,其中多个时间序列已经存在于变量中(即不使用D3.tsv())?
我正在看下面的(),它使用Javascript 如何创建一个D3图,其中多个时间序列已经存在于变量中(即不使用D3.tsv())?,javascript,d3.js,time-series,Javascript,D3.js,Time Series,我正在看下面的(),它使用d3.tsv()将不同的序列添加到图中 假设我的数据采用以下格式: var data1 = [{"date": "2011-07-16", "data1": 413.0}, {"date": "2011-07-17", "data1": 412.0}, ...] var data2 = [{"date": "2011-07-16", "data2": 200.0}, {"date": "2011-07-17", "data2": 201.0}, ...] var dat
d3.tsv()
将不同的序列添加到图中
假设我的数据采用以下格式:
var data1 = [{"date": "2011-07-16", "data1": 413.0}, {"date": "2011-07-17", "data1": 412.0}, ...]
var data2 = [{"date": "2011-07-16", "data2": 200.0}, {"date": "2011-07-17", "data2": 201.0}, ...]
var data3 = [{"date": "2011-07-16", "data3": 199.0}, {"date": "2011-07-17", "data3": 195.0}, ...]
如何修改此示例以处理我的数据?一个简单的解决方案是将三个数据数组合并为一个数组,该数组的格式与d3.tsv返回的对象的格式相同。例如,在本例中,不要调用d3.tsv(…),而是首先合并三个数据数组,例如
// Create a merged list of data points
var data = [];
var i;
for (i = 0; i < data1.length; i++){
data.push({date: data1[i].date, data1: data1[i].data1,
data2: data2[i].data2, data3: data3[i].data3, });
}
//创建数据点的合并列表
var数据=[];
var i;
对于(i=0;i
然后,您可以在脚本的其余部分中以完全相同的方式使用
数据。请注意,我假设您的数据点已经按日期排序(如您的示例中所示),并且每个日期都有三个数据点。所有这些都在创建城市的函数中。在这里,添加来自不同数组的不同数据位。