php中绘制图像的手册,推荐功能超级强大的PHP画图库JpGraph
背景知识
JpGraph:以前用PHP作图时必须要掌握复杂抽象的画图函数,或者借助一些网上下载的花柱形图、饼形图的类来实现。没有一个统一的chart类来实现图表的快速开发。
现在我们有了一个新的选择:JpGraph。专门提供图表的类库。它使得作图变成了一件非常简单的事情,你只需从数据库中取出相关数据,定义标题,图表类型,然后的事情就交给JpGraph,只需掌握为数不多的JpGraph内置函数(可以参照JpGraph附带例子学习),就可以画出非常炫目的图表!
一、 JpGraph安装方法:
1、先到http://www.aditus.nu/jpgraph/下载最新的版本。
2、确保你的PHP版本最低为4.04(最好是4.1.1),并且支持GD库。必须确保GD库可以正常运行,可以通过运行phpinfo()来查看GD库的信息是否存在的方法来判断。同时要有要求GD库的版本应为2.0,而不是1.0。
3、将下载的JpGraph压缩包解压到任意文件夹。
4、设置jpgraph.php(jpgraph的主配置文件)。设置jpgraph的cache(缓存)文件夹,和TTF(字体)文件夹。
分别在35行和38行
35 // DEFINE("CACHE_DIR","/tmp/jpgraph_cache/");
38 // DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/");
Linux系统改为:
DEFINE("CACHE_DIR","/tmp/jpgraph_cache/");
DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/");
Windows系统改为:
DEFINE("CACHE_DIR","c:/apache/htdocs/ jpgraph_cache/");
DEFINE("TTF_DIR","c:/windows/fonts");
注意事项:
(1)cache(缓存)文件夹路径可以自己定义,而TTF(字体)文件夹必须是%system%/Fonts。
(2)确保PHP对cache(缓存)文件夹有写的权限。
5、完成上述设置后就可以使用JpGraph了,可以先将JpGraph的例子copy到htdocs文件夹中,运行一下看看。呵呵,200多个例子,包含各类图表,够学一阵子的。
在实际使用中,如果还有一些不懂或者不太明白地方,可以参考bkJia中文发布的 bkJia视频教程85:PHP 图表类 JPGraph 入门配置与应用
从数据库中读取数据到jpgraph图表中
1、将./src/Examples目录中的文件example16.2.php以及./src目录中的文件jpgraph_bar.php、jpgraph_gradient.php、jpgraph_line.php、jpgraph_plotmark.inc、jpgraph.php拷贝到同一目录下。
2、建立数据库jpg,数据库表test
建立2个字段:
id(主键):int
number:int
并添加一些数据
3、修改example16.2.php
修改后的代码
include("jpgraph.php");
include("jpgraph_line.php");
include("jpgraph_bar.php");
$connect=mysql_connect("localhost","root","");
mysql_select_db("jpg",$connect);
$query=mysql_query("select * from test",$connect);
$i=0;
while($array=mysql_fetch_array($query)) {
$l2datay[$i]=$array["number"];
$i++;
}
mysql_close($connect);
// Create the graph.
$graph=newGraph(400,200,"auto");
$graph->SetScale("textlin");
$graph->img->SetMargin(40,130,20,40);
$graph->SetShadow();
// Create the bar plot
$bplot=newBarPlot($l2datay);
$bplot->SetFillColor("orange");
$bplot->SetLegend("Result");
// Add the plots to the graph
$graph->Add($bplot);
$graph->title->Set("Adding a line plot to a bar graph v1");
$graph->xaxis->title->Set("X-title");
$graph->yaxis->title->Set("Y-title");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
//$graph->xaxis->SetTickLabels($datax);
//$graph->xaxis->SetTextTickInterval(2);
// Display the graph
$graph->Stroke();
?>
4、刷新页面即可看到结果
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
php中绘制图像的手册,推荐功能超级强大的PHP画图库JpGraph相关推荐
- PHP中绘制图像的一些函数总结
在PHP中绘制图像的函数非常丰富,包括点.线.各种几何图形等可以想象出来的平面图形,都可以通过PHP中提供的各种画图函数完成.我们在这里介绍一些常用的图像绘制,如果使用我们没有介绍过的函数,可以参考手 ...
- php画星球,PHP中绘制图像的一些函数总结
在PHP中绘制图像的函数非常丰富,包括点.线.各种几何图形等可以想象出来的平面图形,都可以通过PHP中提供的各种画图函数完成.我们在这里介绍一些常用的图像绘制,如果使用我们没有介绍过的函数,可以参考手 ...
- python tkinter画笑脸_python – 如何在tkinter窗口中绘制图像
如何在tkinter窗口中绘制图像(我使用的是 python 3.3)?我正在寻找一个可以在tkinter窗口的给定位置绘制图像的语句. 是啊- 任何答案将不胜感激.这里是我想要使用代码的程序的源代码 ...
- android平台自动签名工具,功能超级强大的AI驱动自动一键安卓抠图工具,人物商品衣图章签名...
原标题:功能超级强大的AI驱动自动一键安卓抠图工具,人物商品衣图章签名 抠图是我们日常工作中经常遇到的一项工作,比方说扣个签名,扣个人像,或者给产品扣一张白底图,但是很多软件我们试过以后,发现都不太好 ...
- HttpSender OkHttp+RxJava超好用、功能超级强大的Http请求框架
HttpSender HttpSender 是对OkHttp二次封装,并与RxJava做到了无缝连接,支持任意Http请求方式,如:Get.Post.Head.Put等:也支持任意数据解析方法,如:J ...
- matplotlib——在 Jupyter Notebook中绘制图像时只显示变量信息不显示图片
1 问题描述 最近我在使用 Jupyter Notebook做实验时,使用matplotlib包绘制图像,但是显示图像时,只看到打印的变量信息,却没有显示图像: 后来就请教了一下度娘- 2 解决方案 ...
- matlab中绘制图像
%MALTLAB绘图基础 %plot函数的用法 %plot(X,Y,LineSpec) %线形(四种):-实线:--虚线::点线:-.点划线 %坐标点样式(常用的几种):o圆 *星 x十字 s正方形 ...
- MFC在对话框中绘制图像
在OnPaint函数的基础上接着写如下绘制代码 //初始化画笔类对象HDC hdc = ::GetDC(m_hWnd);HPEN hp;HBRUSH hbr;HFONT hf;TEXTMETRIC t ...
- c 调用python clion_CLion 2018.1.3 功能超级强大的跨平台 C 开发工具
CLion是一款专为开发C及C++所设计的跨平台IDE.它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力.Clion 2018是一款用于C和C++的跨平台IDE,该软件支持 ...
最新文章
- 一周AI回顾 | 特斯拉AI负责人说神经网络正在改变编程,机器学习大神Bengio新论文专注RNN优化
- AndroidUI 视图动画-旋转动画效果 (RotateAnimation)
- 什么是移臂调度,什么是旋转调度?
- 机房系统(十)——【结账】
- php和web服务器,php与web服务器关系
- 深入理解 JVM Class文件格式(五)
- unity android sd卡路径,一、文件与路径——2、unity路径特点写法和文件读写全攻略...
- Table of Delphi data types and C++ types
- git合并分支的时候将某个文件添加到忽略列表_常用的 Git 命令
- javascript该怎么学呢?值得收藏的学习Js之路
- 离线安装pymysql和dbutils
- 苹果cms模板_我的主题网【第二十五套】精简宽屏大气苹果CMSv10模板DIY系列拆分版...
- Cocoapods的安装及使用
- Laya中使用tiledMap瓦片地图以及遇到的坑
- 计算机病毒按破坏性分为哪两类,什么是计算机病毒?按照计算机病毒的链结方式分类,计算机病毒可分为哪几类...
- Linux操作系统中常用软件包的下载命令
- java ape切割_无损分解和保持依赖的判断
- 将Carte部署为Windows服务
- ping ping ping
- [小说]魔王冢(48)诏告
热门文章
- 解决XP的IIS HTTP 500”内部服务器错误
- Static allocator 3
- 文件服务器 重复文件,ftp服务器校验重复文件
- 小车自动往返工作原理_请把小车自动往返控制线路的工作原理描述一下。
- python网络爬图_Python爬虫爬图片需要什么
- 安装了mySQL后怎么导入数据_mysql安装、配置、导入数据库
- java 坦克大战_java课程设计之坦克大战
- python如何叉乘_向量点乘与向量叉乘
- Python:time库使用方法
- Qt connect()的第五种重载[=](){}