当前位置: 首页 > 工具软件 > pChart > 使用案例 >

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

韩恺
2023-12-01

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的

相关文章

相关视频

 类似资料: