嗨,我对PHP/JSON很陌生,我正在用我从MYSQL数据库收集的数据构建一个图表,它是从多个传感器收集数据,但在本例中是一个实时温度传感器。我在PHP页面上有JSON格式的数据回显,但在实际生成图形时遇到了困难。我觉得我在圈里跑来跑去,试图完成它,所以我要么钻研一些对我的知识来说很复杂的东西,要么我遗漏了一些显而易见的东西,任何帮助都会被感激。
下面是我从一个名为data.php的文件中生成的JSON格式
[{ "time": "04:14:39", "temperature": 15.3 }]下面是我从AMCHARTS使用的代码
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>amCharts tutorial: Loading external data</title>
</head>
<body>
<!-- prerequisites -->
<link rel="stylesheet" href="http://www.amcharts.com/lib/style.css" type="text/css">
<script src="http://www.amcharts.com/lib/3/amcharts.js" type="text/javascript"></script>
<script src="http://www.amcharts.com/lib/3/serial.js" type="text/javascript"></script>
<!-- cutom functions -->
<script>
AmCharts.loadJSON = function(url) {
if (window.XMLHttpRequest) {
var request = new XMLHttpRequest();
} else {
var request = new ActiveXObject('Microsoft.XMLHTTP');
}
request.open('GET', url, false);
request.send();
return eval(request.responseText);
};
</script>
<div id="chartdiv" style="width: 600px; height: 300px;"></div>
<script>
var chart;
AmCharts.ready(function() {
var chartData = AmCharts.loadJSON('data.php');
chart = new AmCharts.AmSerialChart();
chart.pathToImages = "http://www.amcharts.com/lib/images/";
chart.dataProvider = chartData;
chart.categoryField = "time";
var graph1 = new AmCharts.AmGraph();
graph1.valueField = "temperature";
graph1.bullet = "round";
graph1.bulletBorderColor = "#FFFFFF";
graph1.bulletBorderThickness = 2;
graph1.lineThickness = 2;
graph1.lineAlpha = 0.5;
chart.addGraph(graph1);
chart.categoryAxis.parseDates = true;
chart.write("chartdiv");
});
</script>
</body>
</html>发布于 2014-02-12 09:05:24
当parseDates设置为true时,您必须提供完整的日期(包括年份、月份和日期),这样才能工作。您还应该设置chart.dataDateFormat =“YYYY:NN:ss”(如果这将是您的日期格式)以及categoryAxis.minPeriod = "ss“(秒)。
https://stackoverflow.com/questions/21693806
复制相似问题