Javascript d3热图列标题为yaxis

Javascript d3热图列标题为yaxis,javascript,d3.js,pivot,Javascript,D3.js,Pivot,我有这样一个数据集: CT, CA, GA, TX, Year, Month 1, 1, 2, 4, 2016, 03 2, 1, 3, 5, 2016, 03 state, count, year, month CT, 1, 2016, 03 “状态”列下的数字对应于出现的次数。 我将数据加载到d3中,但如何将数据重新组织为4列,如下所示: CT, CA, GA, TX, Year, Month 1, 1, 2, 4, 2016, 03 2, 1, 3, 5, 2016, 03 stat

我有这样一个数据集:

CT, CA, GA, TX, Year, Month
1, 1, 2, 4, 2016, 03
2, 1, 3, 5, 2016, 03
state, count, year, month
CT, 1, 2016, 03
“状态”列下的数字对应于出现的次数。 我将数据加载到d3中,但如何将数据重新组织为4列,如下所示:

CT, CA, GA, TX, Year, Month
1, 1, 2, 4, 2016, 03
2, 1, 3, 5, 2016, 03
state, count, year, month
CT, 1, 2016, 03
以下是我到目前为止得到的信息:

d3.csv("states.csv", function(error, Data){

            Data.forEach(function(d){
                d.CT = +d.CT;
                d.CA = +d.CA;
                d.GA = +d.GA;
                d.TX = +d.TX;
                d.Year = +d.Year;
                d.month = +d.month;

        });

如果我正确理解了所需的输出数组,则可以将
forEach
for…in
组合起来创建它:

var csv=`CT、CA、GA、TX、年、月
1,1,2,4,2016,03
2,1,3,5,2016,03`;
var数据=d3.csvParse(csv);
var newData=[];
data.forEach(函数(d){
for(变量键在d中){
如果(键!=“年”&键!=“月”){
newData.push({
国家:关键,
计数:d[键],
年份:d.年份,
月份:d.月份
})
}
}
});
console.log(newData)

谢谢!我加载了数据并检查了日志,它在控制台中显示了一个空数组。当我试图显示newData[0]时,它还表示它未定义。在.push函数中是否需要执行一些不同的操作?嗯,我必须查看确切的代码。使用代码和CSV设置Plunker或Blockbuilder。
d3.CSV
是异步的。把console.log放在callback里面。顺便问一下,有没有办法让“count”、“year”、“month”变成数字而不是引号?好的,我解决了它,我只是在d.year前面加了“+”使它成为一个数字