当我们传递像[{category":"a","data:"3"},"category":"b","data":"1"}]
这样的静态数据列表时
然后它的工作正常,但是当我们在dataprovider部分中传递像{"url": "abc.php","format": "json"}
这样的页面网址时,则图表不会填充。
这是我的代码:
var chart = AmCharts.makeChart("chartdiv", {
"type": "pie",
"dataProvider":{ "
url": "abc.php",
"format": "json" },
"labelRadius": -35,
"labelText": "[[percents]]%",
"titleField": "category",
"valueField": "column-1",
"allLabels": [],
"balloon": {},
"legend": {
"enabled": true,
"align": "center",
"markerType": "circle" }
});
任何解决方案?
答案 0 :(得分:2)
将amCharts与“静态”数据结合使用
如果您有“静态”数据,请使用dataProvider
设置,如下所示:
var chart = AmCharts.makeChart("chartdiv", {
"type": "pie",
"dataProvider": [{
"category": "a",
"data": 3
}, {
"category": "b",
"data": 1
}],
// ...
});
将amCharts与AJAX数据结合使用
如果您想使用AJAX加载数据,一种方法是使用amCharts的Data Loader插件。
确保将其包含在HTML中:
<script src="amcharts/plugins/dataloader/dataloader.min.js" type="text/javascript"></script>
取消dataProvider
设置,改为使用dataLoader
。
var chart = AmCharts.makeChart( "chartdiv", {
"type": "pie",
"dataLoader": {
"url": "abc.php",
"format": "json"
},
// ...
});
您的abc.php
文件应返回有效的JSON,如下所示:
[{
"category": "a",
"data": 3
}, {
"category": "b",
"data": 1
}]
您可以在此处找到Data Loader插件的完整选项列表:https://www.amcharts.com/kbase/using-data-loader-plugin/。