Ответ 1
Для вашего первого вопроса, чтобы получить Параметры маркерa > Нет:
В файле PHPExcel/Chart/Renderer/jpgraph.php
в строке 287:
$marker = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getPointMarker();
Измените это на
$marker = 'none';
Чтобы избавиться от маркеров, обратите внимание, что это немного хакерское исправление, обычно оно проходит через все маркеры, и в инструменте нет никакой функции, чтобы установить маркер самостоятельно. (поэтому вы не можете найти его в примерах)
Вы также можете удалить или отредактировать код Excel2007/Chart.php
строка 792, здесь вы можете увидеть код if ($plotSeriesMarker)
, изменить его на "none"
или просто удалите эту часть.
Для вашего второго вопроса: Стиль линии > Ширинa > 2,5pt (по умолчанию 1pt)
В файле PHPExcel/Writer/Excel2007/Chart.php
В строка 781 в функции _writePlotGroup
вы можете увидеть код построения строки
if ($groupType == PHPExcel_Chart_DataSeries::TYPE_LINECHART) {
$objWriter->startElement('c:spPr');
$objWriter->startElement('a:ln');
$objWriter->writeAttribute('w', 12700);
$objWriter->endElement();
$objWriter->endElement();
}
Здесь вы можете изменить ширину, используя, например:
$objWriter->writeAttribute('w', '40000');
Для вашего третьего вопроса: Стиль линии > Сглаженная строка
Функция построения PHPExcel_Chart_DataSeries
равна
/**
* Create a new PHPExcel_Chart_DataSeries
*/
public function __construct($plotType = null, $plotGrouping = null, $plotOrder = array(), $plotLabel = array(), $plotCategory = array(), $plotValues = array(), $smoothLine = null, $plotStyle = null)
Итак, после вашего $dataSeriesValues
вы можете определить значение smoothline
и plotStyle
.
Передача true
в параметр smoothline
дает гладкий стиль линии.
Если по какой-то причине это не работает, в Chart.php
вы можете найти на строке 272
$objWriter->writeAttribute('val', (integer) $plotGroup->getSmoothLine() );
Измените это на
$objWriter->writeAttribute('val', 1 );
И он должен работать наверняка.