jquery Yii2无法使用highcharts查看柱形图

lymgl2op  于 2023-10-17  发布在  jQuery
关注(0)|答案(2)|浏览(131)

我试图通过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
如有任何帮助,我们将不胜感激。

6ju8rftf

6ju8rftf1#

日期应该是number,而不是string。而console.log()没有被调用,因为events.load应该在chart中。

var categories = ['SANDA', 'GULSHAN-E-RAVI', 'NAWANKOT', 'SHAD BAGH'];
var surveysDone = [0, 166, 169, 0];

Highcharts.chart('chart-container', {
 chart: {
   type: 'column',
   events: {
     load: function() {
       console.log('Chart loaded successfully');
     }
   }
 },
 xAxis: {
   categories: categories,
 },
 series: [{
   data: surveysDone
 }]
});

Demohttps://jsfiddle.net/BlackLabel/0u8v5b1L/
APIhttps://api.highcharts.com/highcharts/chart.events.load

sbdsn5lh

sbdsn5lh2#

首先检查各自目录中的错误日志。
例如
backend\runtime\logs前端\runtime\logs
你需要以图表允许的格式传递数据。

相关问题