@@ -508,12 +508,12 @@ protected function writePlotArea(XMLWriter $objWriter, PlotArea $subject, Chart
508
508
509
509
// Write X axis?
510
510
if ($ chartType ->hasAxisX ()) {
511
- $ this ->writeAxis ($ objWriter , $ subject ->getAxisX (), Chart \Axis::AXIS_X );
511
+ $ this ->writeAxis ($ objWriter , $ subject ->getAxisX (), Chart \Axis::AXIS_X , $ chartType );
512
512
}
513
513
514
514
// Write Y axis?
515
515
if ($ chartType ->hasAxisY ()) {
516
- $ this ->writeAxis ($ objWriter , $ subject ->getAxisY (), Chart \Axis::AXIS_Y );
516
+ $ this ->writeAxis ($ objWriter , $ subject ->getAxisY (), Chart \Axis::AXIS_Y , $ chartType );
517
517
}
518
518
519
519
$ objWriter ->endElement ();
@@ -715,68 +715,9 @@ protected function writeTypeArea(XMLWriter $objWriter, Area $subject, $includeSh
715
715
$ objWriter ->endElement ();
716
716
717
717
// c:ser > c:dLbls
718
+ // @link : https://msdn.microsoft.com/en-us/library/documentformat.openxml.drawing.charts.areachartseries.aspx
718
719
$ objWriter ->startElement ('c:dLbls ' );
719
720
720
- // c:ser > c:dLbls > c:txPr
721
- $ objWriter ->startElement ('c:txPr ' );
722
-
723
- // c:ser > c:dLbls > c:txPr > a:bodyPr
724
- $ objWriter ->writeElement ('a:bodyPr ' , null );
725
-
726
- // c:ser > c:dLbls > c:txPr > a:lstStyle
727
- $ objWriter ->writeElement ('a:lstStyle ' , null );
728
-
729
- // c:ser > c:dLbls > c:txPr > a:p
730
- $ objWriter ->startElement ('a:p ' );
731
-
732
- // c:ser > c:dLbls > c:txPr > a:p > a:pPr
733
- $ objWriter ->startElement ('a:pPr ' );
734
-
735
- // c:ser > c:dLbls > c:txPr > a:p > a:pPr > a:defRPr
736
- $ objWriter ->startElement ('a:defRPr ' );
737
-
738
- $ objWriter ->writeAttribute ('b ' , ($ series ->getFont ()->isBold () ? 'true ' : 'false ' ));
739
- $ objWriter ->writeAttribute ('i ' , ($ series ->getFont ()->isItalic () ? 'true ' : 'false ' ));
740
- $ objWriter ->writeAttribute ('strike ' , ($ series ->getFont ()->isStrikethrough () ? 'sngStrike ' : 'noStrike ' ));
741
- $ objWriter ->writeAttribute ('sz ' , ($ series ->getFont ()->getSize () * 100 ));
742
- $ objWriter ->writeAttribute ('u ' , $ series ->getFont ()->getUnderline ());
743
- $ objWriter ->writeAttributeIf ($ series ->getFont ()->isSuperScript (), 'baseline ' , '30000 ' );
744
- $ objWriter ->writeAttributeIf ($ series ->getFont ()->isSubScript (), 'baseline ' , '-25000 ' );
745
-
746
- // c:ser > c:dLbls > c:txPr > a:p > a:pPr > a:defRPr > a:solidFill
747
- $ objWriter ->startElement ('a:solidFill ' );
748
-
749
- $ this ->writeColor ($ objWriter , $ series ->getFont ()->getColor ());
750
-
751
- // c:ser > c:dLbls > c:txPr > a:p > a:pPr > a:defRPr > ## a:solidFill
752
- $ objWriter ->endElement ();
753
-
754
- // c:ser > c:dLbls > c:txPr > a:p > a:pPr > a:defRPr > a:latin
755
- $ objWriter ->startElement ('a:latin ' );
756
- $ objWriter ->writeAttribute ('typeface ' , $ series ->getFont ()->getName ());
757
- $ objWriter ->endElement ();
758
-
759
- // c:ser > c:dLbls > c:txPr > a:p > a:pPr > ##a:defRPr
760
- $ objWriter ->endElement ();
761
-
762
- // c:ser > c:dLbls > c:txPr > a:p > ##a:pPr
763
- $ objWriter ->endElement ();
764
-
765
- // c:ser > c:dLbls > c:txPr > a:p > a:endParaRPr
766
- $ objWriter ->startElement ('a:endParaRPr ' );
767
- $ objWriter ->writeAttribute ('lang ' , 'en-US ' );
768
- $ objWriter ->writeAttribute ('dirty ' , '0 ' );
769
- $ objWriter ->endElement ();
770
-
771
- // c:ser > c:dLbls > c:txPr > ##a:p
772
- $ objWriter ->endElement ();
773
-
774
- // c:ser > c:dLbls > ##c:txPr
775
- $ objWriter ->endElement ();
776
-
777
- // c:ser > c:dLbls > c:dLblPos
778
- $ this ->writeElementWithValAttribute ($ objWriter , 'c:dLblPos ' , $ series ->getLabelPosition ());
779
-
780
721
// c:ser > c:dLbls > c:showVal
781
722
$ this ->writeElementWithValAttribute ($ objWriter , 'c:showVal ' , $ series ->hasShowValue () ? '1 ' : '0 ' );
782
723
@@ -789,9 +730,6 @@ protected function writeTypeArea(XMLWriter $objWriter, Area $subject, $includeSh
789
730
// c:ser > c:dLbls > c:showPercent
790
731
$ this ->writeElementWithValAttribute ($ objWriter , 'c:showPercent ' , $ series ->hasShowPercentage () ? '1 ' : '0 ' );
791
732
792
- // c:ser > c:dLbls > c:showLeaderLines
793
- $ this ->writeElementWithValAttribute ($ objWriter , 'c:showLeaderLines ' , $ series ->hasShowLeaderLines () ? '1 ' : '0 ' );
794
-
795
733
// c:ser > ##c:dLbls
796
734
$ objWriter ->endElement ();
797
735
@@ -826,16 +764,6 @@ protected function writeTypeArea(XMLWriter $objWriter, Area $subject, $includeSh
826
764
++$ seriesIndex ;
827
765
}
828
766
829
- // c:marker
830
- $ objWriter ->startElement ('c:marker ' );
831
- $ objWriter ->writeAttribute ('val ' , '1 ' );
832
- $ objWriter ->endElement ();
833
-
834
- // c:smooth
835
- $ objWriter ->startElement ('c:smooth ' );
836
- $ objWriter ->writeAttribute ('val ' , '0 ' );
837
- $ objWriter ->endElement ();
838
-
839
767
// c:axId
840
768
$ objWriter ->startElement ('c:axId ' );
841
769
$ objWriter ->writeAttribute ('val ' , '52743552 ' );
@@ -1999,8 +1927,9 @@ protected function writeSeriesMarker(XMLWriter $objWriter, Chart\Marker $oMarker
1999
1927
* @param XMLWriter $objWriter
2000
1928
* @param Chart\Axis $oAxis
2001
1929
* @param $typeAxis
1930
+ * @param Chart\Type\AbstractType $typeChart
2002
1931
*/
2003
- protected function writeAxis (XMLWriter $ objWriter , Chart \Axis $ oAxis , $ typeAxis )
1932
+ protected function writeAxis (XMLWriter $ objWriter , Chart \Axis $ oAxis , $ typeAxis, Chart \ Type \ AbstractType $ typeChart )
2004
1933
{
2005
1934
if ($ typeAxis != Chart \Axis::AXIS_X && $ typeAxis != Chart \Axis::AXIS_Y ) {
2006
1935
return ;
@@ -2063,7 +1992,7 @@ protected function writeAxis(XMLWriter $objWriter, Chart\Axis $oAxis, $typeAxis)
2063
1992
// c:numFmt
2064
1993
$ objWriter ->startElement ('c:numFmt ' );
2065
1994
$ objWriter ->writeAttribute ('formatCode ' , $ oAxis ->getFormatCode ());
2066
- $ objWriter ->writeAttribute ('sourceLinked ' , '0 ' );
1995
+ $ objWriter ->writeAttribute ('sourceLinked ' , '1 ' );
2067
1996
$ objWriter ->endElement ();
2068
1997
2069
1998
// c:majorTickMark
@@ -2171,7 +2100,13 @@ protected function writeAxis(XMLWriter $objWriter, Chart\Axis $oAxis, $typeAxis)
2171
2100
if ($ typeAxis == Chart \Axis::AXIS_Y ) {
2172
2101
// c:crossBetween
2173
2102
$ objWriter ->startElement ('c:crossBetween ' );
2174
- $ objWriter ->writeAttribute ('val ' , 'between ' );
2103
+ // midCat : Position Axis On Tick Marks
2104
+ // between : Between Tick Marks
2105
+ if ($ typeChart instanceof Area) {
2106
+ $ objWriter ->writeAttribute ('val ' , 'midCat ' );
2107
+ } else {
2108
+ $ objWriter ->writeAttribute ('val ' , 'between ' );
2109
+ }
2175
2110
$ objWriter ->endElement ();
2176
2111
}
2177
2112
0 commit comments