Проблемы с использованием jpgraph и php
Так как это мой первый вопрос, я надеюсь, что это правильно. Моя проблема заключается в следующем: я измеряю различные значения (например, температуру, влажность, скорость ветра и т. Д.) С помощью esp8266 и записываю их в мою базу данных MySQL.
Теперь я хочу отобразить эти значения в виде таблицы и графика. Для графика я следовал этому руководству.
Таблица отображается отлично, но вместо графика я получаю это сообщение об ошибке:JpGraph Ошибка: 25044 Невозможно использовать автоматическое масштабирование, поскольку невозможно определить действительное минимальное / максимальное значение оси Y (только нулевые значения).
Я очень, очень плохо знаком с html, php и jpgraph, поэтому у меня может быть очень очевидная ошибка в моем коде, но я не могу понять, что с ним не так.
Код:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="styles.css">
<title>IoT</title>
</head>
<body>
<h1>Felix seine Wetterstation</h1>
<p>Sagt der Thunfisch zum Walfisch: "Was sollen wir tun, Fisch?". Antwortet der Walfisch dem Thunfisch: "Du hast die Wahl, Fisch."</p>
<?php
$pdo = new PDO('mysql:host=134.106.243.117;dbname=iot', 'user', 'password');
$sql = "SELECT * FROM iot.werte ORDER BY Zeit DESC";
?>
<table>
<tbody>
<tr>
<th>Datum und Zeit</th>
<th>Temperatur</th>
<th>Luftfeuchte</th>
<th>Windgeschwindigkeit</th>
<th>Helligkeit</th>
</tr>
<?php foreach ($pdo->query($sql) as $row) : ?>
<tr>
<td><?=$row['Zeit']?></td>
<td><?=$row['Temperatur']?></td>
<td><?=$row['Luftfeuchte']?></td>
<td><?=$row['Windgeschwindigkeit']?></td>
<td><?=$row['Helligkeit']?></td>
</tr>
<?php endforeach; ?>
</tbody>
<table>
<?php // content="text/plain; charset=utf-8"
define('__ROOT__', dirname(dirname(__FILE__)));
require_once ('C:/xampp/htdocs/jpgraph-4.2.0/src/jpgraph.php');
require_once ('C:/xampp/htdocs/jpgraph-4.2.0/src/jpgraph_line.php');
require_once ('C:/xampp/htdocs/jpgraph-4.2.0/src/jpgraph_error.php');
$x_axis = array();
$y_axis = array();
$i = 0;
$con=mysqli_connect("134.106.243.117","user","password","iot");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM iot.werte");
while($row = mysqli_fetch_array($result)) {
$x_axis[$i] = $row["Temperatur"];
$y_axis[$i] = $row["Zeit"];
$i++;
}
mysqli_close($con);
$graph = new Graph(800,500);
$graph->img->SetMargin(40,40,40,40);
$graph->img->SetAntiAliasing();
$graph->SetScale("textlin");
$graph->SetShadow();
$graph->title->Set("Example of line centered plot");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
// Use 20% "grace" to get slightly larger scale then min/max of
// data
$graph->yscale->SetGrace(0);
$p1 = new LinePlot($y_axis);
$p1->mark->SetType(MARK_FILLEDCIRCLE);
$p1->mark->SetFillColor("red");
$p1->mark->SetWidth(4);
$p1->SetColor("blue");
$p1->SetCenter();
$graph->Add($p1);
$graph->Stroke();
?>
</body>
То, что я получаю, выглядит так: Веб-страница
У вас есть идеи, что вызывает проблему?