вы можете изменить цвет ваших графиков, если вы измените файл PhpWord\Writer\Word2007\Part\Chart.php
,
Добавьте этот код:
if ($type == 'pie')
{
$elementColors = $this->element->getColors();
if($elementColors !== null)
{
$colorIndex = 0;
foreach ($elementColors as $color)
{
$xmlWriter->startElement('c:dPt');
$xmlWriter->writeElementBlock('c:idx', 'val', $colorIndex);
$xmlWriter->startElement('c:spPr');
$xmlWriter->startElement('a:solidFill');
$xmlWriter->writeElementBlock('a:srgbClr', 'val', $color);
$xmlWriter->endElement(); // a:solidFill
$xmlWriter->endElement(); // c:spPr
$xmlWriter->endElement(); // c:dPt
$colorIndex++;
}
}
}
else if($type == 'area')
{
$color = $seriesItem['color'];
if($color!=null)
{
$xmlWriter->startElement('c:spPr');
$xmlWriter->startElement('a:solidFill');
$xmlWriter->startElement('a:srgbClr');
$xmlWriter->writeAttribute('val',$color);
$xmlWriter->endElement();
$xmlWriter->endElement();
$xmlWriter->endElement();
}
}
else
{
$color = $seriesItem['color'];
if($color!=null)
{
$xmlWriter->startElement('c:spPr');
$xmlWriter->startElement('a:ln');
$xmlWriter->writeAttribute('w', 20000);
$xmlWriter->startElement('a:solidFill');
$xmlWriter->startElement('a:srgbClr');
$xmlWriter->writeAttribute('val',$color);
$xmlWriter->endElement();
$xmlWriter->endElement();
$xmlWriter->endElement();
$xmlWriter->endElement();
}
}
После этого другой:
if ($scatter === true) {
$this->writeSeriesItem($xmlWriter, 'xVal', $categories);
$this->writeSeriesItem($xmlWriter, 'yVal', $values);
} else {
$this->writeSeriesItem($xmlWriter, 'cat', $categories,$name);
$this->writeSeriesItem($xmlWriter, 'val', $values);
Вы должны определить цвет. Я определяю это в классе PhpWord\Element\Chart.php
.
Надеюсь, это вам поможет.
Никто не понял, как это сделать с помощью диаграммы района? –