在jpgraph根目录中:

如Jpg\jpgraph_ttf.inc.php 中开头添加

define('CHINESE_TTF_FONT','SIMYOU.TTF');

\Jpg\jpgraph_legend.inc.php 中大约24行添加 修改

public $font_family=FF_CHINESE,$font_style=FS_NORMAL,$font_size=8; // old. 12

然后

 /**作图 前期准备  set_time_limit(0);*/$this->root_path=realpath(dirname(__FILE__).'/../../../');$this->root_path=str_replace('\\','/',$this->root_path);dd($this->root_path);/**图1 故障停机时间折线图 */
//x轴刻度数据
$x_zuobiaos=Array
([0] => 16/10[1] => 16/11[2] => 16/12[3] => 17/01[4] => 17/02[5] => 17/03[6] => 17/04[7] => 17/05[8] => 17/06[9] => 17/07[10] => 17/08[11] => 17/09[12] => 17/10
);
//折线数据
$xdata=Array
('其它故障因素'=> Array([0] => 0[1] => 0[2] => 0[3] => 0[4] => 0[5] => 0[6] => 0[7] => 0[8] => 0[9] => 0[10] => 0[11] => 2.90[12] => 0),'工艺故障因素' => Array([0] => 0[1] => 0[2] => 0[3] => 0[4] => 0[5] => 0[6] => 0[7] => 2.25[8] => 0[9] => 0[10] => 0[11] => 0[12] => 0)
)
//最大值,最小值区间$mimax[0]=$min-$max*0.1;$mimax[1]=$max*1.1;
//返回路径$path[]=$this->dojpgraph_zx('故障停机时间曲线图','','小时',$x_zuobiaos,$xdata,$mimax,'ReportPdf_1.png');

图例:

变量:

public $root_path;
public $iColorList = array('azure4',  'orange', 'darkgreen', 'red', 'aquamarine3', 'blue','chocolate', 'brown', 'cadetblue3', 'chartreuse4', 'AntiqueWhite3', 'darkblue');

函数:

 1  //折线,支持中文
 2     public function dojpgraph_zx($title,$x_title,$y_title,$x_zuobiao,$xdata,$mimax,$picname=null){
 3
 4         require_once($this->root_path."/Jpg/jpgraph.php");
 5         require_once($this->root_path."/Jpg/jpgraph_line.php");
 6         $x_zuobiao=array_merge(array(''),$x_zuobiao);//把原点坐标空出来
 7 //        $data1 = array(523,634,371,278,685,587,490,256,398,545,367,577); //第一条曲线的数组
 8
 9         $graph = new \Graph(900,450);// 图表的长宽
10         $graph->SetScale("textlin",0,$mimax[1]);//设置刻度样式  $mimax 刻度多10%
11 //        $graph->SetY2Scale('lin');//设置右边刻度样式 http://www.jb51.net/article/105672.htm
12         $graph->SetShadow();//设置背景带阴影
13         //设置图表灰度四周边距,顺序为左右上下
14         $graph->img->SetMargin(60,30,30,70);
15         $graph->graph_theme = null; //设置主题为null,否则value->Show(); 无效
16
17 //        $lineplot1->SetFillColor("orange"); //填充色
18
19
20         //设置图表的标题字体、大小  解决中文乱码
21         $graph->title->Set(iconv("UTF-8","GB2312//IGNORE",$title));   //设置图像标题
22         $graph->xaxis->title->Set(iconv("UTF-8","GB2312//IGNORE",$x_title)); //设置坐标轴名称
23         $graph->yaxis->title->Set(iconv("UTF-8","GB2312//IGNORE",$y_title));
24 //        $graph->y2axis->title->Set(iconv('utf-8', 'GB2312//IGNORE', "book B 销售金额(万元)"));//设置y轴的标题
25 //        $graph->y2axis->title->SetMargin(20);//设置右边的title到图的距离
26         $graph->title->SetMargin(10);//设置title到图的距离
27         $graph->xaxis->title->SetMargin(10);
28         $graph->yaxis->title->SetMargin(10);
29         //设置字体
30         $graph->title->SetFont(FF_SIMSUN,FS_BOLD);
31         $graph->xaxis->title->SetFont(FF_SIMSUN,FS_BOLD); //设置图表的标题字体、大小
32         $graph->yaxis->title->SetFont(FF_SIMSUN,FS_BOLD);// FF_SIMSUN表示中文简体
33         //折线颜色图例
34         $graph->legend->SetLayout(LEGEND_HOR);
35 //        $graph->legend->Pos( 0.025, 0.08, "right","center" ); //图例文字框的位置 0.025,0.08 是以右上角为基准的,0.025是距左右距离,0.08是上下距离。 http://nodonkey.iteye.com/blog/761700
36         $graph->legend->Pos(0.4, 0.95, 'center', 'bottom');// 图例文字框的位置 0.4,0.95 是以右上角为基准的,0.4是距左右距离,0.95是上下距离
37         //数据
38         //颜色图例
39         $i=0;
40         foreach($xdata as $k=>$v){
41             $v=array_merge(array(''),$v);
42             $lineplot='lineplot'.$i;
43             $$lineplot=new \LinePlot($v); //创建设置n条曲线对象
44             $$lineplot->value->SetColor($this->iColorList[$i]); //设置线上字体颜色
45             /*            $color=new \ColorFactory();
46                         $$lineplot->value->SetColor($color->getColor()); //设置线颜色随机*/
47             $$lineplot->SetWeight(4); //线宽 加深加粗
48             $$lineplot->value->Show();
49 //            $bt=iconv("UTF-8","gb2312",$legend[$k-1]);
50 //            $$lineplot->SetFont(FF_SIMSUN,FF_SIMSUN,8);
51             $$lineplot->SetLegend($k);
52
53             $graph->Add($$lineplot); //在统计图上绘制曲线
54             $$lineplot->SetColor($this->iColorList[$i]); //设置统计图的颜色,一定要在添加到画布之后再设置
55             $i++;
56         }
57 //x轴坐标 自带月份 $gDateLocale=new \DateLocale; $graph->xaxis->SetTickLabels($gDateLocale->GetShortMonth());
58         $graph->xaxis->SetTickLabels($x_zuobiao); //x轴坐标 月份
59
60         if($picname==null) {
61             $graph->Stroke();  //生成本地图表,黙认留空,生成在当前目录,可以Stroke(“路径/文件名.png”)这样指定路径
62         } else{
63             $path=$this->root_path.'/Uploads/report/'.$picname;
64             if(file_exists($path)){
65                 @unlink($path);
66             }
67             $graph->Stroke($path); //保存图像
68             return $path;
69         }
70     }

转载于:https://www.cnblogs.com/xujian2016/p/7699447.html

jpgraph 折线图--解决中文乱码的问题(标题和图例)相关推荐

  1. matplotlib从折线图入门并解决中文乱码

    matplotlib从折线图入门并解决中文乱码 1. 第一个折线图 2. 中文乱码 3. 中文乱码解决方法 3.1 方法一:调用系统文字 3.2 方法二:使用自定义文字 [安装后查看matplotli ...

  2. git status 显示中文和解决中文乱码

    git status 显示中文和解决中文乱码 文章目录 git status 显示中文和解决中文乱码 解决git status不能显示中文 解决git bash 终端显示中文乱码 通过修改配置文件来解 ...

  3. PHPWord生成word 下载 解决中文乱码

    文章分两部分:一是代码部分,第二是解决中文乱码. 使用PHPWord生成Word文档 下载或保存到服务器 /*生成word文档*/public function makePhpWord(){vendo ...

  4. 解决中文乱码问题大全

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_42570879/article/ ...

  5. sqlserver mysql 乱码_SQLServer数据库如何解决中文乱码问题?方法有哪些?

    很多使用数据库的人都知道,在安装SQLServer数据库是,如果设置不当就会出现一些中文乱码.主要原因是,很多人在使用默认安装系统时,一般不会考虑到默认排序的规则是拉丁文的排序规则,只是点击下一步,在 ...

  6. php utf-8读取,PHP读取文件,解决中文乱码UTF-8的方法分析

    PHP读取文件,解决中文乱码UTF-8的方法分析,方法,中文,操作技巧,文本,本文 PHP读取文件,解决中文乱码UTF-8的方法分析 易采站长站,站长之家为您整理了PHP读取文件,解决中文乱码UTF- ...

  7. java txt中文乱码,JAVA读取TXT文件 可解决中文乱码问题

    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...

  8. AJAX解决中文乱码问题

    一.解决中文乱码问题的方法1:页面端发出的数据作一次encodeURI,如:encodeURI($("#userName").val()                       ...

  9. java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别

    java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别 参考文章: (1)java ...

  10. js获取url地址栏参数的方法,解决中文乱码问题,能支持中文参数

    js获取url地址栏参数的方法,解决中文乱码问题,能支持中文参数 参考文章: (1)js获取url地址栏参数的方法,解决中文乱码问题,能支持中文参数 (2)https://www.cnblogs.co ...

最新文章

  1. 有关RDS上只读实例延时分析-同适用于自建MySQL主从延时分析判断
  2. [jvm]对象访问机制
  3. Pandas简明教程:三、Pandas文件读写
  4. CSS3常用属性及用法
  5. 常见的linux命令及其翻译
  6. 编译型和解释型语言的区别
  7. Python接口自动化之cookie、session应用
  8. 索然无味的正则表达式
  9. AppScan漏洞“已解密的登陆请求”修复解决方案
  10. Kafka配置4--Windows下配置Kafka的SSL证书
  11. Element-UI学习笔记-安装
  12. linux之SVN安装
  13. python遍历json数据方法
  14. nowcoder16638 carpet
  15. 杭州电子科技大学acm---2007
  16. 32、出任爬虫公司CEO(爬取职友网招聘信息)
  17. 【CLR】程序集查找与GAC
  18. 目标检测模型从训练到部署,其实如此简单
  19. 架构框架搭建(二)《Dubbo分布式领域驱动设计架构框体》
  20. 批量部署stg Pool到生产脚本

热门文章

  1. Task07: 凸优化;梯度下降;优化算法进阶 学习笔记
  2. RN:真机调试无线调试
  3. 【数据可视化】Echarts世界地图需要的数据 - JSON格式世界国家中英文对照表
  4. Java JVM 运行机制及基本原理
  5. html5 ios 键盘挡住输入框,IOS 键盘挡住输入框的问题解决办法
  6. 网工行业里的多面手,数据通信工程师2022年最新系统学习路线整理
  7. JAVA公司网站系统毕业设计 开题报告
  8. 今天终于知道了!阿里巴巴 P8、P9 及以上到底是什么水平?
  9. Java 多线程模式 —— Guarded Suspension 模式
  10. worksheet获取cell_Worksheet:Cell