gpt4 book ai didi

php - 在 php 和 MySql 中使用 highcharts 时仅显示我的标题

转载 作者:行者123 更新时间:2023-11-29 21:08:33 25 4
gpt4 key购买 nike

我是 highcharts 新手。我可以显示标题,但由于某种原因,x 轴和 y 轴数据不会显示。我使用 php 从数据库获取数据,并使用 JSON 对其进行编码。这是我的 HTML:

 <!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function() {

var options = {
chart: {
renderTo: 'container',
type: 'bar'
},
title: {
text: 'TCP Upload Speed Averages for Los Angeles County in 2012',
x: -20 //center
},
subtitle: {
text: '',
x: -20
},
xAxis: {
categories: []
},
yAxis: {
min:0,
title: {
text: 'TCP Upload Averages'
},
labels: {
overflow: 'justify'
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 0
},

plotOptions: {
bar: {
dataLabels: {
enabled: true
}
},
series: {

stacking:'percent'
}

},
series: []
};
$.getJSON("2012Data.php", function(json) {



options.xAxis.categories = json[0]['data'];//xAxis: {categories: []}

options.series[0] = json[1];



//chart = new Highcharts.Chart(options);
});
chart = new Highcharts.Chart(options);
});

</script>
<script src="highstock.js" ></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>

</head>
<body>
<div id="container" style="width: 600px; height: 400px; margin: 0 auto"></div>
</body>

这是我来自 php 的 JSON 数据:

[{"name":"提供商","data":["AT&T","Sprint","T-Mobile","Verizon"]},{"name":"平均值","data":[972.03790849673,679.63696969697,992.06606060606,4520.2101851852]}]

感谢您的帮助!

最佳答案

您的图表仅显示标题,因为没有加载数据。尽管您的 AJAX 调用可能有效:在回调中设置选项为时已晚,因为回调很可能仅在图表创建后才会被调用。

如果您在 getJSON 回调中取消注释行 //chart = new Highcharts.Chart(options); ,它对您有用吗(当然还要删除其他行) Highcharts 构造函数调用两行)?

但是,加载数据的更惯用方法是为图表的 load 事件创建回调,触发 AJAX 请求,然后将数据插入已创建的图表中。我创建了一个JSFiddle对于你,我通过超时模拟对你的php脚本的调用。您应该使用以下加载回调让图表正常工作:

chart: {
events: {
load: function(event) {
var chart = event.target;

$.getJSON("2012Data.php", function(json) {
var xAxis = chart.xAxis[0];
xAxis.setCategories(json[0]['data']);
chart.addSeries(json[1]);
});
}
}
}

关于php - 在 php 和 MySql 中使用 highcharts 时仅显示我的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36613403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com