когда мы передаем статический список данных, таких как [{category":"a","data:"3"},"category":"b","data":"1"}]
тогда он работает нормально, но когда мы передаем URL страницы, как {"url": "abc.php","format": "json"}
в разделе dataprovider, то график не заполняется.
Это мой код:
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" }
});
Любое решение?
Использование amCharts со «статическими» данными
Если у вас есть «статические» данные, используйте dataProvider
установка, как это:
var chart = AmCharts.makeChart("chartdiv", {
"type": "pie",
"dataProvider": [{
"category": "a",
"data": 3
}, {
"category": "b",
"data": 1
}],
// ...
});
Использование amCharts с данными AJAX
Если вы хотите, чтобы данные загружались с помощью AJAX, одним из способов является использование плагина Data Loader от amCharts.
Не забудьте включить его в свой 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/.
Других решений пока нет …