免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4578 | 回复: 9
打印 上一主题 下一主题

[原创]PHP+JPGRAPH 在图形方面的使用介绍=====申请加精 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-28 14:58 |只看该作者 |倒序浏览
PHP+JPGRAPH 在图形方面的使用介绍



Jason Chen 28 , Sep, 2006
作者博客http://okchina.cublog.cn/
欢迎转载,但务必在转载时注明出处.
1. Jpgraph是一个能与PHP 4.1以上版本完美结合的图形方面的库,我使用的版本是1.13,最新的版本请到这里下载:http://www.aditus.nu/jpgraph/
2. 它支持很多图形的生成 ,X-Y Plot ,Error plots,Scatter plots Box and Stock charts,Radar plots ,Pie plots 等等. 不能一一列出,只列出了些常见的.



d:\01.png


3. 安装
只需要讲graph目前下的所有文件复制到你的库中,然后在你的Application中根
据路径来调用相关的文件就行了.
4. 使用举例:
4.1 首先要在设定一些相关的配置:
需要在/graph/jpgraph.php文件中的这段中把相应的路径改成你当前的路径:
if (!defined('TTF_DIR')) {
if (strstr( PHP_OS, 'WIN') ) {
if( empty($_SERVER['SystemRoot']) ) {
die('JpGraph Error: No path specified for TTF_DIR. Please specify a path for that
DEFINE in jpgraph.php');
}
else {
DEFINE('TTF_DIR', $_SERVER['SystemRoot'] . '/fonts/');
}
} else {
DEFINE('TTF_DIR','/usr/local/apache/htdocs/fonts/');
}
}
4.2 应用程序关键部分:
< ?php
///////////////////////////////////////////////////// GRAPH GENERATING ////////////////////////////////////////////////
include_once($_SERVER["DOCUMENT_ROOT"]."/inc_class/graph/jpgraph.php");
include_once($_SERVER["DOCUMENT_ROOT"]."/inc_class/graph/jpgraph_line.php");
// **************************** Trend Chart **************************
//将要显示的点,组成数组传输过去
$subtitle = unserialize(stripslashes($gpcc_subtitle));
$datax = unserialize(stripslashes($inputdatax));
$datay= unserialize(stripslashes($inputdatay));
$num= unserialize(stripslashes($list_num));
$show_type= unserialize(stripslashes($type));
$basic_value = 98;
$basic_line = array();
$count_plot = count($datax);
for($i=0;$i<$num ;$i++ ){
$basic_line[]=$basic_value;
}
################# Create Basic Chart ###########
// Create the graph. These two calls are always required
$graph = new Graph(665,450,"auto"); //生成图片,参数:宽度,长度,”自动”
$graph->SetScale("textlin"); //设定刻度
$graph->SetBackgroundGradient('#EEF2FA','#CED9F0',GRAD_HOR,BGRAD_MARGIN); //设
定背景斜线
$graph->img->SetAntiAliasing();
$graph->legend->SetLayout(LEGEND_HOR); //设定布局
$graph->legend->Pos(0.5,0.95,"center","bottom"); //设定分布位置
$graph->title->Set("GPCC Trend Chart");
$graph ->title->SetFont( FF_FONT2, FS_BOLD);
$graph->title->SetColor("#cc0033");
$graph->subtitle->Set($subtitle); //设定标题
$graph ->subtitle->SetFont( FF_FONT1, FS_BOLD);
$graph->subtitle->SetColor("#3300FF");
##############################################3
$lineplot_b=new LinePlot($basic_line);
$lineplot_b->SetColor('#cc0033');
$lineplot_b->SetWeight(1); //设定宽度
$lineplot_b->SetBarCenter();
##############################################
// Create the linear plot
//&acute;创建点的基本信息
$lineplot=new LinePlot($datay); //按点数创造点
$lineplot->SetColor('#3300ff');
$lineplot->SetBarCenter();
$lineplot->mark->SetType(MARK_FILLEDCIRCLE);
$lineplot->mark->SetFillColor("#339900");
$lineplot->mark->SetWidth(2);
$lineplot->value->show(); //显示每个点的值
$lineplot->value->SetColor('#339900');
$lineplot->value->SetFont(FF_FONT1,FS_BOLD);
$lineplot->SetCSIMTargets($targ,$x_alt);
$lineplot->value->SetFormat('%0.2f'); //设置点的值的格式
//$lineplot->SetLegend( "GPCC Trend Plot"); //设置提示
//$lineplot->SetWeight(2); //设置宽度
$lineplot->SetCenter();
#############################################
//创建X轴的基本信息
$graph->xaxis->title->Set("By Date"); //设置X轴的标题
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetColor("#3300ff");
//$graph->xaxis->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->SetColor("#993300");
$graph->xaxis->SetTickLabels($datax);
$graph->xgrid->Show();
##############################################
//创建Y轴的基本信息
$graph->yaxis->SetFont(FF_FONT1,FS_BOLD);
$graph->yaxis->SetColor("#339900");
$graph->ygrid->SetFill(true,'#EFEFEF@0.5','#FFFFCC@0.5'); //设置每隔行填充一个颜色
$graph->ygrid->Show();
##############################################33
//生成图形
$graph->Add($lineplot);
switch ($show_type) {
case "all":
$graph->Add($lineplot_b);
break;
}
$im=$graph->Stroke(); //成生图形
?>
4.3 生成:



d:\02.jpg
==============================
<完>
Jason Chen 28, Sep, 2006 14:00 最后更新
.我的声明:
1,欢迎转载,但在务必在转载时注明出处.
2,作者贴出此贴仅供大家学习参考,任何人因按本文操作而造成任何损失均与作者无
关。
3,作者博客:http://okchina.cublog.cn/

PHP+JPGRAPH 在图形方面的使用介绍.pdf

275.35 KB, 下载次数: 371

PDF

论坛徽章:
0
2 [报告]
发表于 2006-09-28 14:59 |只看该作者
图片1

[ 本帖最后由 okchina 于 2006-9-28 15:00 编辑 ]

01.png (2.11 KB, 下载次数: 40)

01

01

论坛徽章:
0
3 [报告]
发表于 2006-09-28 15:01 |只看该作者
图片2

02.JPG (36.49 KB, 下载次数: 37)

02

02

论坛徽章:
0
4 [报告]
发表于 2006-09-28 15:02 |只看该作者
图片3----占位

[ 本帖最后由 okchina 于 2006-9-29 09:47 编辑 ]

03.png (15.92 KB, 下载次数: 30)

03

03

论坛徽章:
0
5 [报告]
发表于 2006-09-28 15:07 |只看该作者
支持~!!

论坛徽章:
0
6 [报告]
发表于 2006-09-28 15:09 |只看该作者
原帖由 foolkaka 于 2006-9-28 15:07 发表
支持~!!


谢谢!!!

论坛徽章:
0
7 [报告]
发表于 2006-09-30 21:44 |只看该作者
顶...

希望大家多提些意见

论坛徽章:
0
8 [报告]
发表于 2006-10-02 19:56 |只看该作者
不错,好像少了点3D

论坛徽章:
0
9 [报告]
发表于 2006-10-02 22:34 |只看该作者
Ding 一下.
来试看看

论坛徽章:
0
10 [报告]
发表于 2012-04-12 13:19 |只看该作者
好东西啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP