php jpgraph库非常强大,可以在后台生成图片
后台生成在需要导出图表型报告的时候非常有用,当然,前端的可视化还是要用highcharts/echarts/anycharts等类库
比较麻烦的是中文乱码问题,有3个地方乱码:
- legend
- setStickLabels
- title


先说明下我的环境和版本:
- Ubuntu12.04
- PHP 5.3.10-1
- Jpgraph 3.5.0b1
- 文件fileencoding=utf-8
Legend 乱码
  //jpgraph_legend.inc.php3 class Legend {2     public $txtcol=array();1     //public $font_family=FF_DEFAULT,$font_style=FS_NORMAL,$font_size=8; // old. 120     public $font_family=FF_SIMSUN,$font_style=FS_NORMAL,$font_size=8; // old. 12记得下载一份 simsun.ttc 放到 /usr/share/fonts/truetype
   //jpgraph_ttf.inc.php9         elseif( $aFF === FF_SIMSUN ) {8             // Do Chinese conversion 7             /*6             if( $this->g2312 == null ) {5                 include_once 'jpgraph_gb2312.php' ;4                 $this->g2312 = new GB2312toUTF8();3             }2             return $this->g2312->gb2utf8($aTxt);1              */0             return $aTxt;                                                                                                                                          1         }原创文章,转载请注明:http://www.cnblogs.com/phpgcs/
上面的解决方法,我是参考了:
http://blog.csdn.net/yiping1980/article/details/6023144
然后后面的2个我认为就是找到title/stickLabels源码的地方,将 FF_DEFAULT 改为 FF_SIMSUN 即可
后来证明果然是这样,而且方便的是 这2个家伙都在 jpgraph.php 文件中
直接
:%s/FF_DEFAULT/FF_SIMSUN/g就搞定了
title 乱码
  2         $this->title = new Text();1         $this->title->ParagraphAlign('center');0         //$this->title->SetFont(FF_DEFAULT,FS_NORMAL); //FF_FONT2, FS_BOLD                                                                                         1         $this->title->SetFont(FF_SIMSUN,FS_NORMAL); //FF_FONT2, FS_BOLDstickLables 乱码
  5 class AxisPrototype {4     public $scale=null;3     public $img=null;2     public $hide=false,$hide_labels=false;1     public $title=null;0     public $font_family=FF_DEFAULT,$font_style=FS_NORMAL,$font_size=8,$label_angle=0;     还有个地方也有FF_DEFAULT,
  5 class DisplayValue {4     public $margin=5;3     public $show=false;2     public $valign='',$halign='center';1     public $format='%.1f',$negformat='';0     private $ff=FF_DEFAULT,$fs=FS_NORMAL,$fsize=8; 总结:
- 找到相关的源码(FF_DEFAULT)
- 修改 jpgraph_ttf.inc.php, $aFF === FF_SIMSUN 则直接返回 $aTx
原创文章,转载请注明:http://www.cnblogs.com/phpgcs/

