protected function writeAxis(XMLWriter $objWriter, Chart\Axis $oAxis, $typeAxis)
{
if ($typeAxis != Chart\Axis::AXIS_X && $typeAxis != Chart\Axis::AXIS_Y) {
return;
}
if ($typeAxis == Chart\Axis::AXIS_X) {
$mainElement = 'c:catAx';
$axIdVal = '52743552';
$axPosVal = 'b';
$crossAxVal = '52749440';
} else {
$mainElement = 'c:valAx';
$axIdVal = '52749440';
$axPosVal = 'l';
$crossAxVal = '52743552';
}
// $mainElement
$objWriter->startElement($mainElement);
// $mainElement > c:axId
$objWriter->startElement('c:axId');
$objWriter->writeAttribute('val', $axIdVal);
$objWriter->endElement();
// $mainElement > c:scaling
$objWriter->startElement('c:scaling');
// $mainElement > c:scaling > c:orientation
$objWriter->startElement('c:orientation');
$objWriter->writeAttribute('val', 'minMax');
$objWriter->endElement();
// $mainElement > ##c:scaling
$objWriter->endElement();
// $mainElement > c:axPos
$objWriter->startElement('c:axPos');
$objWriter->writeAttribute('val', $axPosVal);
$objWriter->endElement();
$oMajorGridlines = $oAxis->getMajorGridlines();
if ($oMajorGridlines instanceof Gridlines) {
$objWriter->startElement('c:majorGridlines');
$this->writeAxisGridlines($objWriter, $oMajorGridlines);
$objWriter->endElement();
}
$oMinorGridlines = $oAxis->getMinorGridlines();
if ($oMinorGridlines instanceof Gridlines) {
$objWriter->startElement('c:minorGridlines');
$this->writeAxisGridlines($objWriter, $oMinorGridlines);
$objWriter->endElement();
}
// c:numFmt
$objWriter->startElement('c:numFmt');
$objWriter->writeAttribute('formatCode', $oAxis->getFormatCode());
$objWriter->writeAttribute('sourceLinked', '0');
$objWriter->endElement();
// c:majorTickMark
$objWriter->startElement('c:majorTickMark');
$objWriter->writeAttribute('val', 'none');
$objWriter->endElement();
// c:tickLblPos
$objWriter->startElement('c:tickLblPos');
$objWriter->writeAttribute('val', 'nextTo');
$objWriter->endElement();
// c:txPr
$objWriter->startElement('c:txPr');
// a:bodyPr
$objWriter->writeElement('a:bodyPr', null);
// a:lstStyle
$objWriter->writeElement('a:lstStyle', null);
// a:p
$objWriter->startElement('a:p');
// a:pPr
$objWriter->startElement('a:pPr');
// a:defRPr
$objWriter->startElement('a:defRPr');
$objWriter->writeAttribute('b', $oAxis->getFont()->isBold() ? 'true' : 'false');
$objWriter->writeAttribute('i', $oAxis->getFont()->isItalic() ? 'true' : 'false');
$objWriter->writeAttribute('strike', $oAxis->getFont()->isStrikethrough() ? 'sngStrike' : 'noStrike');
$objWriter->writeAttribute('sz', $oAxis->getFont()->getSize() * 100);
$objWriter->writeAttribute('u', $oAxis->getFont()->getUnderline());
$objWriter->writeAttributeIf($oAxis->getFont()->isSuperScript(), 'baseline', '30000');
$objWriter->writeAttributeIf($oAxis->getFont()->isSubScript(), 'baseline', '-25000');
// Font - a:solidFill
$objWriter->startElement('a:solidFill');
$this->writeColor($objWriter, $oAxis->getFont()->getColor());
$objWriter->endElement();
// Font - a:latin
$objWriter->startElement('a:latin');
$objWriter->writeAttribute('typeface', $oAxis->getFont()->getName());
$objWriter->endElement();
$objWriter->endElement();
// ## a:pPr
$objWriter->endElement();
// a:r
$objWriter->startElement('a:r');
// a:rPr
$objWriter->startElement('a:rPr');
$objWriter->writeAttribute('lang', 'en-US');
$objWriter->writeAttribute('dirty', '0');
$objWriter->endElement();
// a:t
$objWriter->writeElement('a:t', $oAxis->getTitle());
// ## a:r
$objWriter->endElement();
// a:endParaRPr
$objWriter->startElement('a:endParaRPr');
$objWriter->writeAttribute('lang', 'en-US');
$objWriter->writeAttribute('dirty', '0');
$objWriter->endElement();
// ## a:p
$objWriter->endElement();
// ## c:txPr
$objWriter->endElement();
// c:crossAx
$objWriter->startElement('c:crossAx');
$objWriter->writeAttribute('val', $crossAxVal);
$objWriter->endElement();
// c:crosses
$objWriter->startElement('c:crosses');
$objWriter->writeAttribute('val', 'autoZero');
$objWriter->endElement();
if ($typeAxis == Chart\Axis::AXIS_X) {
// c:lblAlgn
$objWriter->startElement('c:lblAlgn');
$objWriter->writeAttribute('val', 'ctr');
$objWriter->endElement();
// c:lblOffset
$objWriter->startElement('c:lblOffset');
$objWriter->writeAttribute('val', '100');
$objWriter->endElement();
}
if ($typeAxis == Chart\Axis::AXIS_Y) {
// c:crossBetween
$objWriter->startElement('c:crossBetween');
$objWriter->writeAttribute('val', 'between');
$objWriter->endElement();
}
$objWriter->endElement();
}