PHPPowerpoint:网格线自定义图表线颜色标签Y轴
我正在使用以下代码创建一个包含
PHP Powerpoint库的图表.
$currentSlide = createTemplatedSlide($objPHPPowerPoint); $seriesData = array('ABC'=>97,'BCD'=>97,'CDE'=>97,'DEF'=>97,'EFG'=>97,'FGH'=>97); $lineChart = new PHPPowerPoint_Shape_Chart_Type_Line(); $series = new PHPPowerPoint_Shape_Chart_Series('Benchmark',$seriesData); $series->setShowSeriesName(false); $lineChart->addSeries($series); $shape = $currentSlide->createChartShape(); $shape->setName('Benchmark') ->setResizeProportional(false) ->setHeight(480) ->setWidth(940) ->setOffsetX(10) ->setOffsetY(100); $shape->getShadow()->setVisible(false) $shape->getFill()->setFillType(PHPPowerPoint_Style_Fill::FILL_GRADIENT_LINEAR) ->setStartColor(new PHPPowerPoint_Style_Color('ddd9c3')) ->setEndColor(new PHPPowerPoint_Style_Color('ddd9c3')) ->setRotation(270); $shape->getBorder()->setLineStyle(PHPPowerPoint_Style_Border::LINE_SINGLE); $shape->getTitle()->setText(''); $shape->getTitle()->getFont()->setItalic(true); $shape->getPlotArea()->setType($lineChart); $shape->getView3D()->setRotationX(30); $shape->getView3D()->setPerspective(30); 该图表按预期出现(截图附件),但我想自定义3件事: >在图表中添加网格线(可能?) 截图 解决方法
我在网上找到了这个库的2个版本.一个在
github,另一个在
codeplex.Github上的一个肯定看起来更新,但缺少任何类型的文档. Codeplex已过时,但实际上有代码示例.
tl; dr – No(在我的测试中),不,不. 长版 通过浏览代码并查看它创建的XML,我注意到了一些事情: >在Powerpoint 2013中,Y轴(值轴)未显示在生成的文件中,但是在打开文件后保存文件会导致出现Y轴.我在XML中看到了轴标签,但有些东西阻止了它的显示. 生成的XML(解压缩生成的.pptx文件后的chart / chart1.xml): <c:valAx> <c:axId val="52749440"/> <c:scaling> <c:orientation val="minMax"/> </c:scaling> <c:axPos val="l"/> <c:numFmt formatCode="" sourceLinked="0"/> <c:majorTickMark val="none"/> <c:tickLblPos val="nextTo"/> <c:txPr> <a:bodyPr/> <a:lstStyle/> <a:p> <a:pPr> <a:defRPr/> </a:pPr> <a:r> <a:rPr lang="en-US" dirty="0"/> <a:t>Y Axis!</a:t> </a:r> <a:endParaRPr lang="en-US" dirty="0"/> </a:p> </c:txPr> <c:crossAx val="52743552"/> <c:crosses val="autoZero"/> <c:crossBetween val="between"/> </c:valAx> 我通过添加以下行来设置Axis标签: $shape->getPlotArea()->getAxisX()->setTitle('X Axis!'); $shape->getPlotArea()->getAxisY()->setTitle('Y Axis!'); 在你的脚本中的这一行之后: $shape->getPlotArea()->setType($lineChart); >网格线和线条颜色似乎是可能的,但当前类中没有方法来支持它们. 可用的最后一个Powerpoint编写器类是针对2007年的,它们已经过时了.可能需要更新XML结构并添加一些其他功能.我将看一下有关OOXML格式的一些文档,看看在不从头开始重写writer类的情况下添加它们是多么容易. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |