qq_蓝色水晶雨_03819317
2016-12-01 11:42
??????
个人经过多次尝试,终于成功了,不过完全和老师的不一样。我的运行环境是vps:
系统:CentOS 7
内核版本:2.6.32-042stab116.1
php版本:7.0.7
GD版本:2.1.0
jpgraph版本:4.0.1
首先解决一下报错“/usr/share/fonts/truetype/SIMIYOU.TTF is not readable or does not exist”,其实这个即使你把字体放在了“/usr/share/fonts/truetype/”下还是会报同样的错误,你把字体放在jpgraph包的/src/fonts/下这个错误就消失了。
接下来完整说一下我的配置
1.下载simsun.ttc和simhei.ttf字体包放到jpgraph的/src/fonts/目录下
2.图例支持中文:
修改jpgraph_legend.inc.php,将$font_family修改为FF_SIMSUN
(是的,我没有修改老师说的标题支持中文,但直接可以正常显示的)
3.设置标题和字体
$graph->title->Set(iconv("UTF-8", "gb2312", ‘我是标题’)); //iconv函数必须有才能正常显示 $graph->title->SetFont(FF_SIMSUN);
4.设置图例
$linePlot->SetLegend(iconv('utf-8','gb2312’,’我是图例’));
注意:在修改配置文件前,最好将文件进行备份,如将文件名后缀添加.default,或者在修改行时注释原有行,然后复制后进行修改,以免修改过程中导致配置文件混乱。如果在Mac系统上修改,即使你没有备份配置文件,仍然可以通过系统自带的文本编辑器的“文件——复原”功能来恢复已保存的文件,这是因为文本编辑器会自动记录你的文件修改历史,不过这只是救急之用,详见https://palemoky.github.io/2016/12/10/%E6%96%87%E4%BB%B6%E7%9A%84%E6%81%A2%E5%A4%8D/
最后,粘贴一下我的绘图代码:
1 <?php 2 //XY坐标图 3 require_once './jpgraph/jpgraph.php'; 4 require_once './jpgraph/jpgraph_line.php'; 5 //1.创建画布 6 $graph = new Graph(600,400); 7 8 //2.设置横纵坐标刻度样式 9 /* 10 line直线 11 text文本 12 int整型 13 log对数 14 textint(组合类型,表示X轴为文本型,Y轴为整型) 15 */ 16 $graph->SetScale('textint'); 17 //3.设置标题 18 $graph->title->Set(iconv("UTF-8", "gb2312", '我是标题')); 19 $graph->title->SetFont(FF_SIMSUN); 20 $data = array(1=>20,2=>30,3=>40,4=>50,5=>12,6=>38,7=>55,8=>100,9=>120,10=>30,11=>54); 21 22 //4.得到LinePlot对象 23 $linePlot = new LinePlot($data); 24 25 //5.设置图例 26 $linePlot->SetLegend(iconv('utf-8','gb2312','我是图例')); 27 28 //6.将统计图添加到画布上 29 $graph->Add($linePlot); 30 31 //6.1设置统计图的颜色,一定要在添加到画布之后设置 32 $linePlot->SetColor('red'); 33 34 //7.将统计图输出 35 $graph->Stroke();
那就去下载对应的字体,放到提示的目录下就可以了
神奇的JpGraph类库
15179 学习 · 31 问题
相似问题