Jpgraph是一个强大的绘图组件,可以根据用户的需要绘制任意图形。用户只需要提供数据,就能自动调用绘图函数,自动绘制图形。
准备第一步
首先需要下载jpgraph,从网上可以轻松下载到,下面是一个百度云盘的下载连接,也可以下载:
http://pan.baidu.com/s/1o6pJgdO
这个的版本是3.0.7,亲测可以使用。
下载解压后,就可以拷贝到项目目录下进行引用了。
第二步以柱状图为例,使用jpgraph
效果图如下:
下面的代码时一个柱状图实例:
SetScale("textlin"); //设置刻度样式,x轴和y轴
$graph->yaxis->scale->SetGrace(20); //设置y轴刻度值分辨率
// 创建画布阴影
$graph->SetShadow();
$graph->img->SetMargin(40,30,30,40); //设置生成图形与画布边缘距离,顺序为左右上下
$bplot = new BarPlot($datay); //创建柱状图,传入数据
$bplot->SetFillColor('orange'); //设置柱状图的颜色
$bplot->value->Show(); //让具体数据在顶端显示
$bplot->value->SetFormat('%d'); //设置具体数据的输出类型
$graph->Add($bplot); //将柱形图添加到图形中
$graph->SetMarginColor("lightblue"); //设置画布背景颜色
$title = "大苹果销量";
$title = iconv("UTF-8", "gb2312", $title);
$graph->title->Set($title); //设置柱形图表头
$a=array("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");
$graph->xaxis->SetTickLabels($a); //设置x轴下方的显示数据
$graph->title->SetFont(FF_SIMSUN);
$graph->xaxis->SetFont(FF_SIMSUN);
$graph->Stroke();
?>
$title = "大苹果销量";
$title = iconv("UTF-8", "gb2312", $title);
$graph->title->Set($title); //设置柱形图表头
因为jpgraph编码格式默认设计gb2312,所以如果将title直接传入会在页面上出现乱码的现象,因此可以使用iconv函数先转换一下编码。