View unanswered posts | View active topics It is currently Tue May 21, 2024 7:02 am



Reply to topic  [ 3 posts ] 
Weird characters on refresh. 
Author Message
New pChart user
New pChart user

Joined: Sun Dec 25, 2011 4:15 pm
Posts: 3
Post Re: Weird characters on refresh.
This is not a reply to answer your question, but I suspect your problem is similar to mine. When you say "weird characters" are you talking about characters like this:

‰PNG  IHDRÝ¡› IDATxœìw|[ÕÙøŸ+k^íeËòžq¼²§ãL6$ ¼„¦¥PV
+™‡¼•ð"nƒùLy·£ggÄVÞrm°rÞ·¹|˶¯òü³L°rÅ8‡.¶sX|Üû0Ur“ mŒÝ°<P¼_ƒ•ó÷ûËÀ·_l°Û¸Q°rÅ8‘¿ï^àÎÃRØl6O-ÜÝÝͲl`ûlŒ5˜}¯Úi©L&ÃÙ1˲<½FX9ÏXrxg!x•ð(M?§¬œC1ÎCdÔ9Î×ã(«>ɾ¥4;ÎîpààveÅ¿Ï×à<}7‘êÎ0wœCÑùz˜€ïý1&6¼²©´Ér¦JÑÊÈÅ¢¥´tLTu„J©–IebÁÝF ÙU¼sS^þéºäôð›ïËž:7qèíëí?¶·äðŽâS‡ÊS³-Óæ%ξ1]$î—ÊÈž"
....

That's what I'm getting when I put pChart into a php function and call the function from the a php page. I'm not doing anything sophisticated, but my chart isn't rendering. The code I'm using is:

function Charty()
{
/* Create the pData object */
$myData = new pData();

/* Create the X axis and the binded series */
for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(cos(deg2rad($i))*20,"Probe 1"); }
...rest of code
}

and in the html:

<div id="Confirmation">
<?php
if (isset($Confirmation))
{
print "<h2>Welcome Back ".$Check[0]."!</h2>";
print Hello($Confirmation,1,100);
print "<h2>Please Sign in Below for Today</h2>";
Charty();
}
?>
</div>

Rather than getting a pretty graph, I'm getting gobbledegook.

Same with you? If so, anybody got a solution?


Cheers,
James


Sun Dec 25, 2011 11:58 pm
Profile
New pChart user
New pChart user

Joined: Sun Dec 25, 2011 4:15 pm
Posts: 3
Post Re: Weird characters on refresh.
Hey All,

Alright. Sussed this one out. It turns outs to have been a linux file privileges issue. Anywoo... Here's my php code (which is derived from one of the examples), html code, and files directory permissions that fixed it:

php code:

function Charty($textstr)
{
/* Create the pData object */
$myData = new pData();

/* Create the X axis and the binded series */
for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(cos(deg2rad($i))*20,"Probe 1"); }
for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(sin(deg2rad($i))*20,"Probe 2"); }
$myData->setAxisName(0,"Flex Muscles");
$myData->setAxisXY(0,AXIS_X);
$myData->setAxisPosition(0,AXIS_POSITION_BOTTOM);

/* Create the Y axis and the binded series */
for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints($i,"Probe 3"); }
$myData->setSerieOnAxis("Probe 3",1);
$myData->setAxisName(1,"Degree");
$myData->setAxisXY(1,AXIS_Y);
$myData->setAxisUnit(1,"�");
$myData->setAxisPosition(1,AXIS_POSITION_RIGHT);

/* Create the 1st scatter chart binding */
$myData->setScatterSerie("Probe 1","Probe 3",0);
$myData->setScatterSerieDescription(0,"This year");
$myData->setScatterSerieColor(0,array("R"=>0,"G"=>0,"B"=>0));

/* Create the 2nd scatter chart binding */
$myData->setScatterSerie("Probe 2","Probe 3",1);
$myData->setScatterSerieDescription(1,$textstr);

/* Create the pChart object */
$myPicture = new pImage(400,400,$myData);

/* Turn of Antialiasing */
$myPicture->Antialias = FALSE;

/* Retrieve the image map */
if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
$myPicture->dumpImageMap("ImageMapScatterPlotChart",IMAGE_MAP_STORAGE_FILE,"ScatterPlotChart","../tmp");

/* Set the image map name */
$myPicture->initialiseImageMap("ImageMapScatterPlotChart",IMAGE_MAP_STORAGE_FILE,"ScatterPlotChart","../tmp");

/* Draw the background */
$Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
$myPicture->drawFilledRectangle(0,0,400,400,$Settings);

/* Overlay with a gradient */
$Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
$myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);

/* Add a border to the picture */
$myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));

/* Set the default font */
$myPicture->setFontProperties(array("FontName"=>FONT_PATH."/pf_arma_five.ttf","FontSize"=>6));

/* Set the graph area */
$myPicture->setGraphArea(50,30,350,330);

/* Create the Scatter chart object */
$myScatter = new pScatter($myPicture,$myData);

/* Draw the scale */
$myScatter->drawScatterScale();

/* Turn on shadow computing */
$myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));

/* Turn of Antialiasing */
$myPicture->Antialias = TRUE;

/* Draw a scatter plot chart */
$myScatter->drawScatterPlotChart(array("RecordImageMap"=>TRUE));

/* Draw the legend */
$myScatter->drawScatterLegend(260,375,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER));

/* Render the picture (choose the best way) */
$myPicture->render("//var/www/uploads/mypic.png");
}

HTML code:
<html>
<body>

... other things that test page refresh ...

<div id="Confirmation">
<?php
if (isset($Confirmation))
{
print "<h2>Welcome Back ".$Check[0]."!</h2>";
print Hello($Confirmation,1,100);
print "<h2>Please Sign in Below for Today</h2>";
header('content-type: image/png');
Charty("Example of passing parameter content to chart");
echo '<img src="../uploads/mypic.png" />';
}
?>
</div>
...
</body>
</html>

AND, what really solved it, change the file permissions of /var/www/uploads (my path for storing the graphic) to "drwxrwxrwx" (chmod 777 /var/www/uploads). What I know of linux is that I've just made /var/www/uploads universally read/write/executable which, I suspect, has security issues. Fortunately, the box I'm using as a web server is a stand alone offline machine.

Anyway, that's solved my problem and allowed me to pass parameters to a graphing function and have the resulting picture called within the html code which called the graphing function.

Man! What a mission! Very happy now :D


Fri Dec 30, 2011 12:37 pm
Profile
New pChart user
New pChart user

Joined: Sun Dec 25, 2011 4:15 pm
Posts: 3
Post Re: Weird characters on refresh.
Something also which might help other people experiencing this problem and trying the above code, is a quick piccie of my little application's directory structure:

/var/www/
||
====> uploads

||
====> WRKA (which has both the php and html code)

The "$myPicture->render("//var/www/uploads/mypic.png");" within the php function stores the picture in a absolute file reference while the echo '<img src="../uploads/mypic.png" />'; does a relative reference to the upload directory. Absolute referencing wasn't needed: "$myPicture->render("../uploads/mypic.png");" works just as well.

Probably teaching most forum views how to suck eggs, but for those starting off in pChart (like me), it means the php code, the html and the file structure above will generate a stand alone working set of code to build from.


Fri Dec 30, 2011 12:53 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 3 posts ] 

Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron