我正在尝试在viz.js / d3.js中创建一个Chord图表,我从我的webservice中获取日期(数组数组)和ajax功能:
$.ajax({
"async": true,
"crossDomain": true,
"url": "http://localhost:9000/D_tre",
"method": "GET",
"Content-Type": "text/plain; charset=utf-8",
"success": function(data) {
//grafico_d_tre(pos_data);
pos_data = data;
grafico(pos_data);
},
error: function (result) {
}
});
我在我的ajax中调用函数grafico()
来获取数据并创建图表:
function grafico(pos_data) {
console.log(pos_data);
var colors = {
"BA": "#da4480",
"Avventura": "#5ab449",
"Fantasy e per bambini": "#7f5acd",
"Giallo": "#aab740",
"Romanzo": "#ce58c0",
"Sport": "#50a26e",
"Storia e Letteratura": "#45c0bc",
"BT": "#ce5929", "FG": "#4e7bda",
"LE": "#d49d3c",
"TA": "#6660a3"
};
var sortOrder = [
"BA",
"Avventura",
"Fantasy e per bambini",
"Giallo",
"Romanzo",
"Sport",
"Storia e Letteratura",
"BT",
"FG",
"LE",
"TA"
];
function sort(a,b){
return d3.ascending(sortOrder.indexOf(a),sortOrder.indexOf(b));
}
var format = d3.format(".3s");
var ch = viz.ch()
.data(pos_data)
.padding(.01)
.sort(sort)
.innerRadius(430)
.outerRadius(450)
.duration(1000)
.chordOpacity(0.3)
.labelPadding(.03)
.valueFormat(function(d){return d3.format("")(d);}) //format numeri
.fill(function(d){ return colors[d];});
var width=1200, height=1100;
var svg = d3.select("body").append("svg").attr("height",height).attr("width",width);
svg.append("g").attr("transform", "translate(600,550)").call(ch);
// adjust height of frame in bl.ocks.org
d3.select(self.frameElement).style("height", height+"px").style("width", width+"px");
}
ajax功能成功并返回我的结构:
[['BA','Avventura','3340']
,['Avventura','BA','3340']
,['BA','Fantasy e per bambini','137']
,['Fantasy e per bambini','BA','137']
,['BA','Giallo','25']
,['Giallo','BA','25']
,['BA','Romanzo','542']
,['Romanzo','BA','542']
,['BA','Sport','127']
,['Sport','BA','127']
,['BA','Storia e Letteratura','54']
,['Storia e Letteratura','BA','54']
,['BT','Avventura','7']
,['Avventura','BT','7']
,['BT','Romanzo','32']
,['Romanzo','BT','32']
,['BT','Storia e Letteratura','4']
,['Storia e Letteratura','BT','4']
,['FG','Avventura','196']
,['Avventura','FG','196']
,['FG','Fantasy e per bambini','8']
,['Fantasy e per bambini','FG','8']
,['FG','Giallo','2']
,['Giallo','FG','2']
,['FG','Romanzo','89']
,['Romanzo','FG','89']
,['FG','Sport','10']
,['Sport','FG','10']
,['FG','Storia e Letteratura','2']
,['Storia e Letteratura','FG','2']
,['LE','Avventura','286']
,['Avventura','LE','286']
,['LE','Fantasy e per bambini','13']
,['Fantasy e per bambini','LE','13']
,['LE','Giallo','8']
,['Giallo','LE','8']
,['LE','Romanzo','17']
,['Romanzo','LE','17']
,['LE','Sport','15']
,['Sport','LE','15']
,['LE','Storia e Letteratura','7']
,['Storia e Letteratura','LE','7']
,['TA','Avventura','190']
,['Avventura','TA','190']
,['TA','Fantasy e per bambini','16']
,['Fantasy e per bambini','TA','16']
,['TA','Giallo','0']
,['Giallo','TA','0']
,['TA','Romanzo','27']
,['Romanzo','TA','27']
,['TA','Sport','29']
,['Sport','TA','29']
,['TA','Storia e Letteratura','7']
,['Storia e Letteratura','TA','7']
]
但是我在控制台中收到以下错误:
"未捕获TypeError:h.forEach不是函数"
并且图表没有开始。有人有解决方案吗?