首先下载jpgraph插件,可以去官网下载 https://jpgraph.net/download/
然后将插件安装到你的项目里去就可以使用了。
当你引用插件的时候你要先引入相关的文件,
绘制折线图:
include ("src/jpgraph.php"); //必须要引用的文件
include ("src/jpgraph_line.php"); //包含曲线图文件
//具体文件路径以实际项目为准
绘制饼图
include ("../jpgraph.php"); //必须要引用的文件
include ("../jpgraph_pie.php"); //包含曲线图文件
其他图不一一举出,详细的操作文档可以查看文章末给出的文档链接。
绘制简单的折线图
<?php
$ydata = array(11,3,8,12,5,1,9,13,5,7);
// x 轴数据,作为 x 轴标注
$xdata = array('2007-3-01','2007-3-03','2007-3-05','2007-3-07','2007-3-09','2007-3-01','2007-3-11','2007-3-13','2007-3-15');
$graph = new Graph(350,150,"auto");
// 设置刻度类型,x轴刻度可作为文本标注的直线刻度,y轴为直线刻度
$graph->SetScale("textlin");
// 设置图表大标题
$graph->title->Set(‘Example’);
$lineplot = new LinePlot($ydata);
$graph->Add($lineplot);
// 设置图表灰度四周边距,顺序为左右上下
$graph->img->SetMargin(60,20,20,50);
// 设置输出文件格式为 jpg,缺省为 png
$graph->img->SetImgFormat( "jpeg");
// y 轴坐标描点形状为菱形
$lineplot-> mark->SetType(MARK_DIAMOND );
// 加入 x 轴标注
$graph->xaxis->SetTickLabels($xdata);
// 定位 x 轴标注垂直位置应在最下方
$graph->xaxis->SetPos("min");
// 设置 x 轴标注文字为斜体,粗体,6号小字
$graph->xaxis->SetFont(FF_ARIAL,FS_BOLD,6);
// 设置 x 轴标注文字 45 度倾斜。注:前面 SetFont 必须为 FF_ARIAL
$graph->xaxis->SetLabelAngle(45);
// x 轴刻度间隔为 2
$graph->xaxis->SetTextLabelInterval(2);
// 标题和 y 轴标题字体为标准字体
$graph->title->SetFont(FF_FONT1,FS_BOLD,2);
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
// y 轴坐标点连线为蓝色加深加粗
$lineplot->SetColor("blue:0.5");
$lineplot->SetWeight(2);
$graph->yaxis->SetColor("black");
$graph->yaxis->SetWeight(2);
// 阴影效果
$graph->SetShadow();
// 显示图形
$graph->Stroke(); ?>
负责数据格式绘制折线图的列子,具体如下:
$graph = new \Graph(950,500);
$graph->SetMargin(120,60,40,200); //
$graph->SetScale('datlin');// 注意这里和上面列子不一样
$graph->xaxis->SetLabelAngle(90); //设置X轴的刻度是否垂直显示
$graph->xaxis->scale->SetDateFormat('Y-m-d H:i'); // 设置X轴的
foreach ($uData as $u=>$uInfo){ //$uData是我自己的一个多维数组格式的数据,
$ydata=[];$xdata=[]; //每条折线的x轴和Y轴值
foreach ($uInfo['trendData'] as $t=>$tInfo){
$ydata[$t]=$tInfo['value'];
$xdata[$t]=strtotime($tInfo['clock']);
}
$line = new \LinePlot($ydata,$xdata);
$line->SetLegend('xxx');//设置每条折线的案列名称
$graph->Add($line);
}
$fh='%';//这个可以视具体数据而定,是你数据的单位
$uChang=new YUnitHelper(); //这个是自己封装的一个单位转换的组件
$method=$uChang->readable($fh);
if($method){
$graph->yaxis->SetLabelFormatCallback(array($uChang,$method)); //设置Y轴上显示的格式,具体传参可产看文档
}else{
$graph->yaxis->SetLabelFormatString('% d'.$fh); //设置Y轴显示格式
}
$graph->legend->SetFont(FF_CHINESE,FS_NORMAL,10); //设置案列的字体和大小
$graph->title->Set(iconv("UTF-8","GB2312//IGNORE","测试")); //设置图片标题 具体是否需要用iconv来转换格式视你具体情况而定
$graph->title->SetFont(FF_SIMSUN,FS_BOLD,12); //设置图片标题字体大小
$graph->Stroke('img.png'); //参数可省略,具体查看文档
暂时就写这么多,人比较懒,有啥不明白可以评论中提问。对了,文档地址是:
https://jpgraph.net/download/manuals/classref/index.html
可以结合插件源代码去熟悉。

该博客介绍了使用PHP的jpgraph插件绘图的方法。先从官网下载插件并安装到项目中,引用时需引入相关文件,还提及可绘制折线图、饼图等,给出了绘制简单折线图的示例,最后提供了详细操作文档的链接。
222

被折叠的 条评论
为什么被折叠?



