Flot 未将 json 解析为分类数据
Flot not parsing json as categorical data
我在将数据解析为浮动图表时遇到问题。我不确定这是否是我使用 $.each 构建数据数组的方式。我想我可以有人知道哪里出了问题吗?
更新:正确 link:
http://jsfiddle.net/qxdgrozs/
这是我的json对象和js代码:
$(function () {
var jsonString = JSON.parse(readJSON('[
{
"Person":"Fred",
"NetIncome":0,
"StateTax":0,
"FedTax":0,
"TotalTax":0,
"AvgTaxRate":0
},
{
"Person":"Alex",
"NetIncome":5555385.06,
"StateTax":124463.24,
"FedTax":4320151.7,
"TotalTax":4444614.94,
"AvgTaxRate":44.45
},
{
"Person":"John",
"NetIncome":5555180.86,
"StateTax":124667.44,
"FedTax":4320151.7,
"TotalTax":4444819.14,
"AvgTaxRate":44.45
}
]';
var myData = JSON.parse(jsonString);
var data1 = [];
var data2 = [];
$.each(myData, function(i, jti) {
data1[i] = {
label: jti.Person,
data: jti.StateTax
}
data2[i] = {
label: jti.Person,
data: jti.FedTax
}
}
$.plot("#placeholder", [{
data: data1,
label: "test",
bars: {
show: true,
barWidth: 0.4,
align: "left"
}
}, {
data: data2,
label: "flot bug serie",
bars: {
show: true,
barWidth: 0.4,
align: "right"
}
}], {
series: {
bars: {
show: true,
barWidth: 0.6,
align: "center"
}
},
xaxis: {
mode: "categories",
tickLength: 0
},
grid: { hoverable: true, clickable: true }
});
});
我也厌倦了使用推送方法,但无济于事。
修复了很多语法错误后,最大的问题是 flot 每个数据点需要一个数组,而不是一个对象,更改
$.each(myData, function(i, jti) {
data1[i] = {
label: jti.Person,
data: jti.StateTax
}
data2[i] = {
label: jti.Person,
data: jti.FedTax
}
}
到
$.each(myData, function(i, jti) {
data1.push([jti.Person, jti.StateTax]);
data2.push([jti.Person, jti.FedTax]);
});
请参阅此 fiddle 以获取工作代码。
我在将数据解析为浮动图表时遇到问题。我不确定这是否是我使用 $.each 构建数据数组的方式。我想我可以有人知道哪里出了问题吗?
更新:正确 link: http://jsfiddle.net/qxdgrozs/
这是我的json对象和js代码:
$(function () {
var jsonString = JSON.parse(readJSON('[
{
"Person":"Fred",
"NetIncome":0,
"StateTax":0,
"FedTax":0,
"TotalTax":0,
"AvgTaxRate":0
},
{
"Person":"Alex",
"NetIncome":5555385.06,
"StateTax":124463.24,
"FedTax":4320151.7,
"TotalTax":4444614.94,
"AvgTaxRate":44.45
},
{
"Person":"John",
"NetIncome":5555180.86,
"StateTax":124667.44,
"FedTax":4320151.7,
"TotalTax":4444819.14,
"AvgTaxRate":44.45
}
]';
var myData = JSON.parse(jsonString);
var data1 = [];
var data2 = [];
$.each(myData, function(i, jti) {
data1[i] = {
label: jti.Person,
data: jti.StateTax
}
data2[i] = {
label: jti.Person,
data: jti.FedTax
}
}
$.plot("#placeholder", [{
data: data1,
label: "test",
bars: {
show: true,
barWidth: 0.4,
align: "left"
}
}, {
data: data2,
label: "flot bug serie",
bars: {
show: true,
barWidth: 0.4,
align: "right"
}
}], {
series: {
bars: {
show: true,
barWidth: 0.6,
align: "center"
}
},
xaxis: {
mode: "categories",
tickLength: 0
},
grid: { hoverable: true, clickable: true }
});
});
我也厌倦了使用推送方法,但无济于事。
修复了很多语法错误后,最大的问题是 flot 每个数据点需要一个数组,而不是一个对象,更改
$.each(myData, function(i, jti) {
data1[i] = {
label: jti.Person,
data: jti.StateTax
}
data2[i] = {
label: jti.Person,
data: jti.FedTax
}
}
到
$.each(myData, function(i, jti) {
data1.push([jti.Person, jti.StateTax]);
data2.push([jti.Person, jti.FedTax]);
});
请参阅此 fiddle 以获取工作代码。