首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php使用pchart绘制图形

php使用pchart绘制图形
EN

Stack Overflow用户
提问于 2013-11-29 16:50:12
回答 1查看 1.5K关注 0票数 0

我正在使用下面的代码来绘制一个图,但是没有成功:

代码语言:javascript
复制
<?php
$cwd = getcwd();
include($cwd."\pChart\class\pData.class.php");
include($cwd."\pChart\class\pDraw.class.php");
include($cwd."\pChart\class\pImage.class.php");
include($cwd."\pChart\class\pChart.class.php");

// Dataset definition
$DataSet = new pData;
$DataSet->AddPoint(array(1,4,3,2,3,3,2,1,0,7,4,3,2,3,3,5,1,0,7));
$DataSet->AddSerie();
$DataSet->SetSerieName("Sample data","Serie1");

// Initialise the graph
$Test = new pChart(700,230);
$Test->setFontProperties("Fonts/tahoma.ttf",10);
$Test->setGraphArea(40,30,680,200);
$Test->drawGraphArea(252,252,252);
$Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2);
$Test->drawGrid(4,TRUE,230,230,230,255);

// Draw the line graph
$Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());
$Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);

// Finish the graph
$Test->setFontProperties("Fonts/tahoma.ttf",8);
$Test->drawLegend(45,35,$DataSet->GetDataDescription(),255,255,255);
$Test->setFontProperties("Fonts/tahoma.ttf",10);
$Test->drawTitle(60,22,"My pretty graph",50,50,50,585);
$Test->Render("Naked.png");  
?>

和在http://pchart.sourceforge.net/documentation.php上一样;感谢任何帮助。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-11-29 16:55:18

自定义绘图图表

从版本1.27b开始,可以将图片(仅支持GIF文件)关联到一个数据系列。这张图片将在绘制曲线图时替换气泡。首先,调用pData类SetSerieSymbol函数,将一个图片与一个序列关联起来。使用drawTextBox函数将透明度系数设置为30%,将图表的标题写在图形区域上

运行此脚本将在当前directory中创建example22.png文件。

输出:

代码语言:javascript
复制
<?php  
 // Standard inclusions  
 include("pChart/pData.class");  
 include("pChart/pChart.class");  

 // Dataset definition  
 $DataSet = new pData;  
 $DataSet->AddPoint(array(60,70,90,110,100,90),"Serie1");  
 $DataSet->AddPoint(array(40,50,60,80,70,60),"Serie2");  
 $DataSet->AddPoint(array("Jan","Feb","Mar","Apr","May","Jun"),"Serie3");  
 $DataSet->AddSerie("Serie1");  
 $DataSet->AddSerie("Serie2");  
 $DataSet->SetAbsciseLabelSerie("Serie3");  
 $DataSet->SetSerieName("Company A","Serie1");  
 $DataSet->SetSerieName("Company B","Serie2");  
 $DataSet->SetYAxisName("Product sales");  
 $DataSet->SetYAxisUnit("k");  
 $DataSet->SetSerieSymbol("Serie1","Sample/Point_Asterisk.gif");  
 $DataSet->SetSerieSymbol("Serie2","Sample/Point_Cd.gif");  

 // Initialise the graph     
 $Test = new pChart(700,230);  
 $Test->setFontProperties("Fonts/tahoma.ttf",8);  
 $Test->setGraphArea(65,30,650,200);  
 $Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);  
 $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);  
 $Test->drawGraphArea(255,255,255,TRUE);  
 $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);  
 $Test->drawGrid(4,TRUE,230,230,230,50);  

 // Draw the title  
 $Test->setFontProperties("Fonts/pf_arma_five.ttf",6);  
 $Title = "Comparative product sales for company A & B  ";  
 $Test->drawTextBox(65,30,650,45,$Title,0,255,255,255,ALIGN_RIGHT,TRUE,0,0,0,30);  

 // Draw the line graph  
 $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription());  
 $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(),3,2,255,255,255);  

 // Draw the legend  
 $Test->setFontProperties("Fonts/tahoma.ttf",8);  
 $Test->drawLegend(80,60,$DataSet->GetDataDescription(),255,255,255);  

 // Render the chart  
 $Test->Render("example22.png");  
?>  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20281587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档