为复杂数据创建串行条形图 amcharts
creating serial bar graph for complex data amcharts
下面是我作为 json
从服务器得到的响应:
[{
"data1": {
"name": "Test1",
"count": 0,
"amount": 0,
"amtData": [
0,0,0,0
],
"cntData": [
0,0,0,0
],
"color": "#FF0F00"
},
"data2": {
"name": "Test2",
"count": 1,
"amount": 4164,
"amtData": [
4164,0,0,0
],
"cntData": [
1,0,0,0
],
"color": "#FF0F00"
},
"data3": {
"name": "Test3",
"count": 1,
"amount": 2509,
"amtData": [
2509,0,0,0
],
"cntData": [
1,0,0,0
],
"color": "#FF0F00"
},
"data4": {
"name": "Test4",
"count": 1,
"amount": 9909,
"amtData": [
9909,0,0,0
],
"cntData": [
1,0,0,0
],
"color": "#FF0F00"
},
"data5": {
"name": "Test5",
"count": 0,
"dollars": 0,
"amount": [
0,0,0,0
],
"cntData": [
0,0,0,0
],
"color": "#FF0F00"
}
}]
我正在尝试创建我的 chart
。
var chart = AmCharts.makeChart("chartdiv", {
"theme": "light",
"type": "serial",
"dataProvider": data, //assigning it as data
"startDuration": 1,
"graphs": [{
"balloonText": "<b>[[category]]</b><br>starts at [[count]]<br>ends at [[amount]]",
"colorField": "color",
"fillAlphas": 0.8,
"lineAlpha": 0,
"openField": "count", //base start field
"type": "column",
"valueField": "amount" //value field
}],
"rotate": true,
"columnWidth": 0.8,
"categoryField": "name", //name field
"categoryAxis": {
"gridPosition": "start",
"axisAlpha": 0,
"gridAlpha": 0,
"position": "left"
},
"export": {
"enabled": true
}
});
我尝试了多少次,我得到的是 undefined 而不是 chart
.. 没有 console errors
我可以利用。我怎样才能重构这些复杂的数据并从中生成图表?
这是我指的 fiddle and this is just sample fiddle。
您应该从 dataProvider
:
中删除 data1
到 data5
属性
var data = [
{
"name": "Test1",
"count": 0,
"amount": 0,
"amtData": [
0,
0,
0,
0
],
"cntData": [
0,
0,
0,
0
],
"color": "#FF0F00"
},
...
];
看here
下面是我作为 json
从服务器得到的响应:
[{
"data1": {
"name": "Test1",
"count": 0,
"amount": 0,
"amtData": [
0,0,0,0
],
"cntData": [
0,0,0,0
],
"color": "#FF0F00"
},
"data2": {
"name": "Test2",
"count": 1,
"amount": 4164,
"amtData": [
4164,0,0,0
],
"cntData": [
1,0,0,0
],
"color": "#FF0F00"
},
"data3": {
"name": "Test3",
"count": 1,
"amount": 2509,
"amtData": [
2509,0,0,0
],
"cntData": [
1,0,0,0
],
"color": "#FF0F00"
},
"data4": {
"name": "Test4",
"count": 1,
"amount": 9909,
"amtData": [
9909,0,0,0
],
"cntData": [
1,0,0,0
],
"color": "#FF0F00"
},
"data5": {
"name": "Test5",
"count": 0,
"dollars": 0,
"amount": [
0,0,0,0
],
"cntData": [
0,0,0,0
],
"color": "#FF0F00"
}
}]
我正在尝试创建我的 chart
。
var chart = AmCharts.makeChart("chartdiv", {
"theme": "light",
"type": "serial",
"dataProvider": data, //assigning it as data
"startDuration": 1,
"graphs": [{
"balloonText": "<b>[[category]]</b><br>starts at [[count]]<br>ends at [[amount]]",
"colorField": "color",
"fillAlphas": 0.8,
"lineAlpha": 0,
"openField": "count", //base start field
"type": "column",
"valueField": "amount" //value field
}],
"rotate": true,
"columnWidth": 0.8,
"categoryField": "name", //name field
"categoryAxis": {
"gridPosition": "start",
"axisAlpha": 0,
"gridAlpha": 0,
"position": "left"
},
"export": {
"enabled": true
}
});
我尝试了多少次,我得到的是 undefined 而不是 chart
.. 没有 console errors
我可以利用。我怎样才能重构这些复杂的数据并从中生成图表?
这是我指的 fiddle and this is just sample fiddle。
您应该从 dataProvider
:
data1
到 data5
属性
var data = [
{
"name": "Test1",
"count": 0,
"amount": 0,
"amtData": [
0,
0,
0,
0
],
"cntData": [
0,
0,
0,
0
],
"color": "#FF0F00"
},
...
];
看here