php pchart 中文,pChart 图表中文显示有关问题

pChart 图表中文显示问题

项目需要,图表显示数据,个人能力有限,

/* CAT:Bar Chart */

header("content-type:text/html; charset=utf-8");

/* pChart library inclusions */

include("class/pData.class.php");

include("class/pDraw.class.php");

include("class/pImage.class.php");

/* Create and populate the pData object */

$MyData = new pData();

$MyData->addPoints(array(150,220,300,250,420,200,300,200,100),"test");

$MyData->setAxisName(0,"Hits");

$MyData->addPoints(array("1月","2月","3月","4月","5月","6月","7月","8月","9月"),"Months");

$MyData->setSerieDescription("Months","Month");

$MyData->setAbscissa("Months");

/* Create the pChart object */

$myPicture = new pImage(700,230,$MyData);

/* Turn of Antialiasing */

$myPicture->Antialias = FALSE;

/* Add a border to the picture */

$myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));

$myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20));

$myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));

/* Set the default font */

$myPicture->setFontProperties(array("FontName"=>"fonts/pf_arma_five.ttf","FontSize"=>6));

/* Define the chart area */

$myPicture->setGraphArea(60,40,650,200);

/* Draw the scale */

$scaleSettings = array("GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);

$myPicture->drawScale($scaleSettings);

/* Write the chart legend */

$myPicture->drawLegend(580,12,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));

/* Turn on shadow computing */

$myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));

/* Draw the chart */

$myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));

$settings = array("Surrounding"=>-30,"InnerSurrounding"=>30);

$myPicture->drawBarChart($settings);

ob_clean(); //关键代码,防止出现'图像因其本身有错无法显示'的问题。

Header("Content-type: image/PNG");

/* Render the picture (choose the best way) */

$myPicture->autoOutput("examples/pictures/example.drawBarChart.simple.png");

怎么把 $MyData->addPoints(array(150,220,300,250,420,200,300,200,100),"test");的字符串test显示为中文,怎么把 $MyData->setAxisName(0,"Hits");显示中文,比如 $MyData->setAxisName(0,"套");。。

------解决方案--------------------

直接中文写上去不行吗?

------解决方案--------------------

注释掉 header("content-type:text/html; charset=utf-8");

------解决方案--------------------

是最新版的吗?

待会下一个看看

------解决方案--------------------

1、header 是不要的,因为你是以图片方式输出

2、你选用的字体是西文字体,没有汉字当然不能显示,你需要选一款中文字体

3、如果你的程序不是utf-8的,那么所有要输出的汉字都必须转成utf-8的

相关文章

相关视频

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值