формат данных для диаграммы ap ie допускает только два столбца таблицы данных.
одну строку и одно число.
, если вы не предоставите пользовательскую подсказку, а затем третью Разрешен столбец строк.
Далее вы вручную добавляете столбцы и строки в таблицу данных,
, поэтому вам нужно удалить переменную jsonData
из конструктора, здесь ...
из ...
var data = new google.visualization.DataTable(jsonData); // <-- remove jsonData
в ...
var data = new google.visualization.DataTable();
, если вы хотите создать таблицу данных непосредственно из json,
json должен быть в указанном формате c, найденном здесь ...
Формат Конструктора JavaScript Литеральные данные Параметр
указанным выше методом, вы бы не нужно вручную добавлять столбцы и строки,
и диаграмма будет быстрее, в зависимости от объема данных в любом случае ...
попробуйте удалить дополнительные столбцы и исправить конструктор,
и он должен работать, как в следующем рабочем фрагменте ...
google.charts.load("current", { packages: ["corechart"] });
google.charts.setOnLoadCallback(drawDisconnectReasonsChart);
function drawDisconnectReasonsChart() {
var data = new google.visualization.DataTable();
data.addColumn("string", "SY_OPEN_LBL");
data.addColumn("number", "TOTAL");
data.addRow([
'CAT A',
2
]);
data.addRow([
'CAT B',
6
]);
var options = {
title: 'Disconnect Reasons',
titleTextStyle: { color: 'black', fontSize: 22, bold: true },
legend: {
position: 'bottom', textStyle: { fontSize: 8 }, alignment: 'center'
},
chartArea: {
width: '98%', height: '80%'
}
};
var chart = new google.visualization.PieChart(document.getElementById('pieDisconnectReasonsChart'));
chart.draw(data, options);
};
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="pieDisconnectReasonsChart" style="min-height:271px"></div>
РЕДАКТИРОВАТЬ
в методе done
,
кажется, что ваш цикл на ключи вашего json объекта.
Object.keys(jsonData).forEach(function (row) {
вместо l oop на самом объекте json.
jsonData.forEach(function (row) {
см. Следующий фрагмент ...
google.charts.load("current", { packages: ["corechart"] });
google.charts.setOnLoadCallback(drawDisconnectReasonsChart);
function drawDisconnectReasonsChart() {
var jsonData = $.ajax({
url: "/Reports/RunDisconnectReasonsReport",
type: "POST",
dataType: "json",
data: {
openDate: @Html.Raw(Json.Encode(Model.OpenDate)),
closeDate: @Html.Raw(Json.Encode(Model.CloseDate)),
},
}).done(function (jsonData) {
var data = new google.visualization.DataTable();
data.addColumn("string", "SY_OPEN_LBL");
data.addColumn("number", "TOTAL");
jsonData.forEach(function (row) {
data.addRow([
row.SY_DESCRIPTION,
row.TOTAL
]);
});
var options = {
title: 'Disconnect Reasons',
titleTextStyle: { color: 'black', fontSize: 22, bold: true },
legend: {
position: 'bottom', textStyle: { fontSize: 8 }, alignment: 'center'
},
chartArea: {
width: '98%', height: '80%'
}
};
var chart = new google.visualization.PieChart(document.getElementById('pieDisconnectReasonsChart'));
chart.draw(data, options);
});
};