扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
琢磨了一下,运用之前修改dotproject中文乱码问题的经验,改了改Libchart,现在成功的支持中文字体了。 做法很简单: 1、自己写的使用Libchart库生成图表的php文件以utf-8编码保存 2、找几个中文字体库,比如华文行楷、宋体等等,复制到libchart\fonts目录下 3、修改libchart\classes目录下的text.php文件第47、48行$this-fontCondensed = dirname(__FILE__) . “/../fonts/DejaVuSansCondensed.ttf”; $this-fontCondensedBold = dirname(__FILE__) . “/../fonts/DejaVuSansCondensed-Bold.ttf”;改为$this-fontCondensed = dirname(__FILE__) . “/../fonts/你找来的中文字体”; $this-fontCondensedBold = dirname(__FILE__) . “/../fonts/你找来的中文字体”; now,图表里现在显示中文了。
游仙网站建设公司成都创新互联,游仙网站设计制作,有大型网站制作公司丰富经验。已为游仙1000+提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的游仙做网站的公司定做!
对于数据库来说,数据量的大小不是什么障碍,关键是动态地生成图表.
生成图表的例子到处都是,在运行生成图表的程序之前,你的PHP需要一个GD库
pChart是一个开源的图表生成库,主要涉及3个Class: pChart.class , pData.class , pCache.class ,可生成20多种简单或复杂的图表,支持PNG,JPG,GIF通用图片格式。数据源可以来自于Database,CSV,当然也可以手写。使用该程序PHP需要开启GD服务,先来看看p
pChart是一个开源的图表生成库,主要涉及3个Class:, , ,可生成20多种简单或复杂的图表,支持PNG,JPG,GIF通用图片格式。数据源可以来自于Database,CSV,当然也可以手写。使用该程序PHP需要开启GD服务,先来看看pChart的工作流程:

主要分为三步:
* 读取用于生成图表数据(数据库、文件)
* 设计图表样式(圆角、底色等)
* 制作标签、题目、图例并生成图表
下面看一个简单的柱状图表:

代码如下:
?php // Standard inclusionsinclude("pChart/pData.class");
include("pChart/pChart.class");
// Dataset definition $DataSet = newpData;
//图表数据 $DataSet-AddPoint(array(1,4,-3,2,-3,3,2,1,0,7,4),"Serie1");
$DataSet-AddPoint(array(3,3,-4,1,-2,2,1,0,-1,6,3),"Serie2");
$DataSet-AddPoint(array(4,1,2,-1,-4,-2,3,2,1,2,2),"Serie3");
$DataSet-AddAllSeries();
$DataSet-SetAbsciseLabelSerie();
//数据图例 $DataSet-SetSerieName("Microsoft","Serie1");
$DataSet-SetSerieName("IBM","Serie2");
$DataSet-SetSerieName("Google","Serie3");
// Initialise the graph $Test = newpChart(700,230);
//设置图表尺寸、样式 $Test-setFontProperties("Fonts/tahoma.ttf",8);
$Test-setGraphArea(50,30,680,200);
$Test-drawFilledRoundedRectangle(7,7,693,223,5,240,240,240);
$Test-drawRoundedRectangle(5,5,695,225,5,230,230,230);
$Test-drawGraphArea(255,255,255,TRUE);
$Test-drawScale($DataSet-GetData(),$DataSet-GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2,TRUE);
$Test-drawGrid(4,TRUE,230,230,230,50);
// Draw the 0 line $Test-setFontProperties("Fonts/MankSans.ttf",6);
$Test-drawTreshold(0,143,55,72,TRUE,TRUE);
// Draw the bar graph //柱状图要使用drawBarGraph() $Test-drawBarGraph($DataSet-GetData(),$DataSet-GetDataDescription(),TRUE,80);
// Finish the graph //制作图例、标题、字体等属性 $Test-setFontProperties("Fonts/MankSans.ttf",10);
$Test-drawLegend(596,150,$DataSet-GetDataDescription(),255,255,255);
$Test-setFontProperties("Fonts/MankSans.ttf",10);
$Test-drawTitle(50,22,"Example",50,50,50,585);
//生成图表 $imageFile ="example12.png";
$Test-Render($imageFile);
echo 'img src="'.$imageFile.'"'
当然可以,用php读取数据(从数据库或者文本文件中读取),包括图片文件名,然后生成html的table,里面就可以加入img了。
不使用的话,就自己用原生的做。
如果不会的话,就乖乖地用吧。
话说,这和thinkphp没有关系,都是前端的事情。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流