簡體   English   中英

Pchart在X軸上打印雙倍值

[英]Pchart prints double values on X-axis

要溫柔..

使用下面的代碼在RPI上使用pchart打印圖表會導致在X軸上雙重打印值。

我的首選結果是單個x軸值稍微旋轉,但無論我在下面的代碼中更改它都不會給出好的結果。

幫助將不勝感激!

莫里斯

<?php

ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);

include("class/pDraw.class.php");
include("class/pImage.class.php");
include("class/pData.class.php");

$db = new PDO("sqlite:/home/pi/sensor.db");

$MyData = new pData();  

$tijd=""; 
$lucht="";

$result = $db->query('SELECT tijd, lucht FROM waarden WHERE lucht  > 40');
foreach($result as $row)
{
  $tijd[]   = $row["tijd"];
  $lucht[] = $row["lucht"];
}

$MyData->addPoints($lucht,"lucht");
$MyData->setSerieOnAxis("lucht", 0);
$MyData->setAxisName(0,"lucht");
$MyData->setAxisUnit(0,"%");

$MyData->addPoints($tijd,"tijd");
$MyData->setSerieDescription("tijd","Tijden");
$MyData->setAbscissa("tijd");

$myPicture = new pImage(800,330,$MyData);
$myPicture->setFontProperties(array("FontName"=>"fonts/Forgotte.ttf","FontSize"=>11));
$myPicture->setGraphArea(60,40,740,290);
$myPicture->drawScale(array("AutoAxisLabels"=>FALSE,"RemoveXAxis"=>FALSE)); 
$myPicture->drawLineChart();

//rotate the xaxis values 
$myPicture->drawScale(array("DrawSubTicks"=>False, "LabelRotation"=>20));

$myPicture->autoOutput("mypic.png");
$db = null;
?>

在此輸入圖像描述

發現我自己的錯誤。

看來我的雙指令

$myPicture->drawScale(array("

在初始化時,處理得不好,導致雙Xaxis標簽

正確的代碼:

<?php

ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);

include("class/pDraw.class.php");
include("class/pImage.class.php");
include("class/pData.class.php");

$db = new PDO("sqlite:/home/pi/sensor.db");

$MyData = new pData();  

$tijd=""; 
$lucht="";

$result = $db->query('SELECT tijd, lucht FROM waarden WHERE lucht  > 40');
foreach($result as $row)
{
  $tijd[]   = $row["tijd"];
  $lucht[] = $row["lucht"];
}

$MyData->addPoints($lucht,"lucht");
$MyData->setSerieOnAxis("lucht", 0);
$MyData->setAxisName(0,"lucht");
$MyData->setAxisUnit(0,"%");

$MyData->addPoints($tijd,"tijd");
$MyData->setAbscissa("tijd");
$MyData->setAbscissaName("Time of Reading");

$myPicture = new pImage(800,330,$MyData);
$myPicture->setFontProperties(array("FontName"=>"fonts/Forgotte.ttf","FontSize"=>11));
$myPicture->setGraphArea(60,40,740,290);

//Remove line below to avoid double Xaxis values
//$myPicture->drawScale(array("AutoAxisLabels"=>FALSE,"RemoveXAxis"=>FALSE)); 
$myPicture->drawScale(array("DrawSubTicks"=>False, "LabelRotation"=>20));
$myPicture->drawLineChart();
$myPicture->autoOutput("mypic.png");
$db = null;
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM