Javascript 使用d3.js在表中显示关联数组的数据
我正试图用d3.js在表中显示关联数组的数据 但我无法得到表中的单个值 这是我的阵列的一部分:Javascript 使用d3.js在表中显示关联数组的数据,javascript,arrays,d3.js,html-table,associative-array,Javascript,Arrays,D3.js,Html Table,Associative Array,我正试图用d3.js在表中显示关联数组的数据 但我无法得到表中的单个值 这是我的阵列的一部分: var twitterDays = [ { 0: { 0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 1
var twitterDays =
[
{
0:
{
0: 0,
1: 0,
2: 0,
3: 0,
4: 0,
5: 0,
6: 0,
7: 0,
8: 0,
9: 0,
10: 0,
11: 0,
12: 0,
13: 0,
14: 0,
15: 0,
16: 0,
17: 0,
18: 0,
19: 0,
20: 0,
21: 0,
22: 0,
23: 0,
"total": 0
},
"day": "monday"
},
{
1:
{
0: 0,
1: 0,
2: 0,
3: 0,
4: 0,
5: 0,
6: 0,
7: 0,
8: 0,
9: 0,
10: 0,
11: 0,
12: 0,
13: 0,
14: 0,
15: 0,
16: 0,
17: 0,
18: 0,
19: 0,
20: 0,
21: 0,
22: 0,
23: 0,
"total": 0
},
"day": "tueday"
}, etc etc
有了d3.js,我将为不同的键添加值
这是我制作桌子的方式:
var table = d3.select("#datavis").append("table").attr("class", "twitterTable");
var tbody = table.append("tbody");
var rows = tbody.selectAll("tr")
.data(twitterDays)
.enter()
.append("tr").attr("class", function(d) { return d["day"] });
var monday = tbody.select(".monday")
.data(d3.values(twitterDays[0][0]))
.enter()
.append("td")
.text(d3.values(twitterDays[0][0]));
我认为这是需要更改的部分:.text(d3.values(twitterDays[0][0])代码>
问题是,我希望在所生成的“td”中有单独的值(每个值1个),但我得到每个“td”中所有值的所有值
这就是我得到的:
<td>39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992</td>
<td>39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992</td>
<td>39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992</td>
<td>39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992</td>
<td>39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992</td>
<td>39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992</td>
<td>39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992</td>
<td>39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992</td>
<td>39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992</td>
<td>39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992</td>
<td>39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992</td>
<td>39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992</td>
<td>39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992</td>
<td>39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992</td>
etc etc
39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64992
39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992
39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992
39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992
39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992
39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992
39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992
39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992
39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992
39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992
39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992
39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992
39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992
39,25,20,11,9,8,2,3,9,36,36,48,57,58,51,50,75,63,67,58,62,74,67,64,992
等等
我希望如此:
<td>39</td>
<td>25</td>
<td>20</td>
<td>11</td>
<td>9</td>
<td>8</td>
<td>2</td>
etc etc
39
25
20
11
9
8.
2.
等等
我认为行.text(d3.values(twitterDays[0][0])代码>应为:
.text(function(d){return d});
因为你已经有了数据,所以你应该包括数据,而不是整个向量 我认为行.text(d3.values(twitterDays[0][0])代码>应为:
.text(function(d){return d});
因为你已经有了数据,所以你应该包括数据,而不是整个向量 问题确实在于文本(d3.values(twitterDays[0][0])代码>。它应该是.text(String)代码>,如下所示:
注意:我在这里修正了一个小错误:var monday=tbody.select(“.monday”)
,您的意思可能是var monday=rows.select(“.monday”)
问题确实在于.text(d3.values(twitterDays[0][0])代码>。它应该是.text(String)代码>,如下所示:
注意:我在这里修正了一个小错误:var monday=tbody.select(“.monday”)
,您的意思可能是var monday=rows.select(.monday”)
,听起来您想要嵌套的选择。你看了吗?听起来你想要嵌套的选择。你看了吗?