我试图通过yi2中的highchart绘制一个图表。我已经安装并设置了它。下面是我在index.php
视图中的代码
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
function loadChartData() {
$.ajax({
url: '$url_chart',
method: 'GET',
dataType: 'json',
success: function (data) {
// Extract data into arrays
var categories = [];
var totalConnections = [];
var surveysDone = [];
for (var i = 0; i < data.length; i++) {
categories.push(data[i].sub_division);
totalConnections.push(data[i].total_connections);
surveysDone.push(data[i].surveys_done);
}
console.log(categories)
// Initialize Highcharts with retrieved data
Highcharts.chart('chart-container', {
chart: {
type: 'column'
},
title: {
text: 'Sub-Division Wise Survey Count and Connections'
},
xAxis: {
categories: categories,
title: {
text: 'Sub-Division'
}
},
yAxis: {
title: {
text: 'Count'
}
},
tooltip: {
formatter: function () {
return 'Sub-Division: <b>' + this.x + '</b><br>' +
'Total Connections: <b>' + totalConnections[this.point.index] + '</b><br>' +
'Surveys Done: <b>' + surveysDone[this.point.index] + '</b>';
}
},
plotOptions: { // Add plotOptions here
column: {
pointPadding: 0.2,
borderWidth: 0,
dataLabels: {
enabled: true,
inside: true,
color: 'red',
style: {
fontWeight: 'bold'
},
formatter: function () {
return this.y;
}
}
}
},
series: [{
name: 'Total Survey Done',
data: surveysDone
}]
});
},
error: function () {
alert('An error occurred while loading the chart data.');
}
});
}
输出
图表显示了x轴和y轴,但没有显示其中的数据(列)。
而且,我在控制台上没有得到任何错误。
更新1
我在我的highchart中添加了下面的代码
events: {
load: function () {
console.log('Chart loaded successfully');
}
},
但是日志没有显示这个消息
更新2
我的fiddle
如有任何帮助,我们将不胜感激。
2条答案
按热度按时间6ju8rftf1#
日期应该是
number
,而不是string
。而console.log()
没有被调用,因为events.load
应该在chart
中。Demo:https://jsfiddle.net/BlackLabel/0u8v5b1L/
API:https://api.highcharts.com/highcharts/chart.events.load
sbdsn5lh2#
首先检查各自目录中的错误日志。
例如
backend\runtime\logs前端\runtime\logs
你需要以图表允许的格式传递数据。