JGraph
php中JPGraph入门配置与应用
什么是PHP JPGraph?
专门提供图表的类库。它使得作图变成了一件非常简单的事情。生成非美工人士生成的图表。二维码算法。
到官方网站下载。
docportal 帮助手册
src 包含主要代码。里面有contour_dev开发用的方法。
案例不能直接使用,需要将example调整后使用。
include_once('src/jpgraph.php');
include_once('src/jpgraph_line.php');
注意事项:
Examples文件夹包含了400多个文件,使用的时候却不能直接使用。必须把它的路径指向正确。把src剪切到example文件夹里面。同时把我们的src修改成jpgraph.
=============================================================================
php中JPGraph中文字体和背景设置
1.JPGraph中文字体设置:只需要修改默认的配置即可。需要安装一个中文字体库,而字体必须是中文能够识别的字体,比如说是黑体。就可以了。
$graph->title->Set("www.php100.com");
$graph->title->SetFont(FF_FONT1,FS_BOLD);//英文字体
$graph->title->SetFont(FF_SIMSUN,FS_BOLD,24);//设置字体类型,大小,黑体
$graph->title->SetColor('red');
$graph->title->SetFont(FF_SIMSUN,FS_BOLD);
//设置标题中文字体
$graph->legend->SetFont(FF_SIMSUN,FS_BOLD);
//设置线条中文字体
$graph->yaxis->SetFont(FF_SIMSUN,FS_BOLD);
//设置Y轴线条中文字体
$graph->xaxis->SetFont(FF_SIMSUN,FS_BOLD);
//设置X轴线条中文字体
*****************************************************************************
2.JPGraph背景和背景图片设置
$graph->setColor('red');
$graph->setBackgroungImage("图片地址",1);//还包括层的位置
$graph->img->SetMargin(0,0,0,0);//空余的四角边距,全0代表不空为位置。
*****************************************************************************
3.JPGraph3D 效果图设置。
$graph->Set3DPerspective(SKEW3D_LEFT,700,600,true);
//还可以设置是从上往下斜,还是从左往右斜,最后一个参数代表是否有边框,中间的两个参数代表与地平线的夹角
//SKEW3D_LEFT
//SKEW3D_RIGHT
//SKEW3D_UP
//SKEW3D_DOWN
实例演示Example28.
很多人使用JpGraph会出现乱码问题,但是网上有好多并无效果的解决方式,经过反 复试验及在网上看了其它人的经验,总结出在2.3版下最终较完美解决方案
1、把simsun.ttc字体拷到服务器/usr/X11R6/lib/X11/fonts /truetype下,当然这个目录可以自定义
2、不需要更改$aFF === FF_SIMSUN 或$aFF === FF_CHINESE ,直接用以下代 码即可
$title = "JpGraph中文测试";
$title = iconv("UTF-8", "gb2312", $title);
$graph->title->Set($title);
就可以完美的解决中文问题了
3、还有一个问题,就是右上方的中文显示问题,就是SetLegend函数,解决方式如下
打开jpgraph.php文件,找到
private $font_family=FF_FONT1,$font_style=FS_NORMAL,$font_size=12;
用
private $font_family=FF_SIMSUN,$font_style=FS_NORMAL,$font_size=8;
JGraph的更多相关文章
- csharp:workflow and bpm(Business Process Management)
http://ccflow.codeplex.com/ http://winwf.codeplex.com/ http://nginn.codeplex.com/ https://github.com ...
- 向 Web 开发人员推荐35款 JavaScript 图形图表库
图表是数据图形化的表示,通过形象的图表来展示数据,比如条形图,折线图,饼图等等.可视化图表可以帮助开发者更容易理解复杂的数据,提高生产的效率和 Web 应用和项目的可靠性. 在这篇文章中,我们收集了3 ...
- JAVA上百实例源码以及开源项目
简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬. ...
- How to create water Ripple effect using HTML5 canvas
https://www.script-tutorials.com/how-to-create-water-drops-effect-using-html5-canvas/ https://www.sc ...
- 【GDI+】一些规则多边形分离的问题
在近期的工作中,需要做一样工作:将一些有规则的图形,进行适当的分离,以达到不重叠的问题. 首先组成图形的点都可以是按照逆时针排好序的. 规则的图形可以大致分为三类: A :两个点组成的线 或者 四个点 ...
- android程序逆向工程
随着智能手机的普及,功能越来越强大.程序也越来多和复杂化.研究一下android系统的逆向工程也是挺有意思的. 目前android逆向工程还处于初级阶段.表现在于: 1.没有完整的动态调试程序.目前由 ...
- 40 JavaScript Chart and Graph Libraries for Developers--reference
reference:http://www.egrappler.com/javascript-chart-and-graph-libraries-for-developers/ BY TEAMEGRAP ...
- Applet 数字签名技术全然攻略
在这里先对大家说声对不起,毕竟2年前就想写这篇文章,但由于自己太懒惰一直没有写,也是为了给自己留点东西好了,前些日子我老大让我又搞这个东西发现我曾经的资料没留,又凭着自己印象从新来过,但发现网上写 ...
- 用于展现图表的50种JavaScript库
在很多项目中都会有在前端展现数据图表的需求,而在开发过程中,开发者往往会使用一些JavaScript库,从而更有效地达到想要的目标.最近,TechSlide上的一篇文章总结了50种用于展现图表的Jav ...
随机推荐
- 高质量JavaScript代码书写基本要点学习
高质量JavaScript代码书写基本要点学习 可维护的代码意味着: •可读的 •一致的 •可预测的 •看上去就像是同一个人写的 •已记录 最小全局变量(Minimizing Globals) ...
- Intellij IDEA 14隐藏被排除的文件夹
被排除的文件和文件夹以红色显示了. 看着这东西,人一下子就不好了. 还好设置可以改回来. Project tab右上角齿轮,关闭“Show Excluded Files”即可.
- 3D视频可能出现的质量问题 (MSU出品)
俄罗斯的MSU Graphics & Media Lab (Video Group)提出的3D视频存在的几种问题.有一定的参考价值,在此翻译一下. 他们目前总结出4种问题: 水平视差(Hori ...
- python用parammiko模块实现linux的远程操作
parammiko 可以实现远程的带密码登录,解决ssh远程登陆需要交互的问题 (当然很多其他的,如tcl也可以).但这个用python做比较简单 1.parammiko 的安装 1.1.依赖模块 ...
- java笔记13之成员变量与局部变量
成员变量和局部变量的区别 1在类中的位置不同 局部变量:类的方法体内 成员变量:类的方法之外 2内存的不同位置 局部变量:在栈内存中 成员位置:在堆内存 3生命周期不同 局部变量:随着方法的调用而存在 ...
- C++ —— 笔记汇总
导读 本文仅用于记录在个人在使用C++过程中的遇到一些的疑问和概念. 目录 语法和概念基础 常用函数 编程注意 编译问题 拓展链接 1.语法和概念基础 1.块域 2.static 作用域 ...
- Asp.Net异常:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法
今天项目中碰到一个以前从没有见过的异常信息“由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值”,于是查了一下资料,原来此异常是由于我在代码中使用了"Response.End ...
- [RxJS] Creation operators: fromEventPattern, fromEvent
Besides converting arrays and promises to Observables, we can also convert other structures to Obser ...
- Android app内语言环境切换
逻辑很简单: 1 app内所有activity继承自BaseActivity或BaseActivity派生出来的子类,BaseActivity中维护了一个静态的 app Activity访问栈,在创 ...
- Understanding AMQP, the protocol used by RabbitMQ--reference
RabbitMQ is a lightweight, reliable, scalable and portable message broker. But unlike many message b ...