@@ -574,6 +574,7 @@ private function chartDataSeries(SimpleXMLElement $chartDetail, string $plotType
574
574
$ multiSeriesType = null ;
575
575
$ smoothLine = false ;
576
576
$ seriesLabel = $ seriesCategory = $ seriesValues = $ plotOrder = $ seriesBubbles = [];
577
+ $ plotDirection = null ;
577
578
578
579
$ seriesDetailSet = $ chartDetail ->children ($ this ->cNamespace );
579
580
foreach ($ seriesDetailSet as $ seriesDetailKey => $ seriesDetails ) {
@@ -604,11 +605,16 @@ private function chartDataSeries(SimpleXMLElement $chartDetail, string $plotType
604
605
break ;
605
606
case 'order ' :
606
607
$ seriesOrder = self ::getAttributeInteger ($ seriesDetail , 'val ' );
607
- $ plotOrder [$ seriesIndex ] = $ seriesOrder ;
608
+ if ($ seriesOrder !== null ) {
609
+ $ plotOrder [$ seriesIndex ] = $ seriesOrder ;
610
+ }
608
611
609
612
break ;
610
613
case 'tx ' :
611
- $ seriesLabel [$ seriesIndex ] = $ this ->chartDataSeriesValueSet ($ seriesDetail );
614
+ $ temp = $ this ->chartDataSeriesValueSet ($ seriesDetail );
615
+ if ($ temp !== null ) {
616
+ $ seriesLabel [$ seriesIndex ] = $ temp ;
617
+ }
612
618
613
619
break ;
614
620
case 'spPr ' :
@@ -685,27 +691,42 @@ private function chartDataSeries(SimpleXMLElement $chartDetail, string $plotType
685
691
686
692
break ;
687
693
case 'smooth ' :
688
- $ smoothLine = self ::getAttributeBoolean ($ seriesDetail , 'val ' );
694
+ $ smoothLine = self ::getAttributeBoolean ($ seriesDetail , 'val ' ) ?? false ;
689
695
690
696
break ;
691
697
case 'cat ' :
692
- $ seriesCategory [$ seriesIndex ] = $ this ->chartDataSeriesValueSet ($ seriesDetail );
698
+ $ temp = $ this ->chartDataSeriesValueSet ($ seriesDetail );
699
+ if ($ temp !== null ) {
700
+ $ seriesCategory [$ seriesIndex ] = $ temp ;
701
+ }
693
702
694
703
break ;
695
704
case 'val ' :
696
- $ seriesValues [$ seriesIndex ] = $ this ->chartDataSeriesValueSet ($ seriesDetail , "$ marker " , $ fillColor , "$ pointSize " );
705
+ $ temp = $ this ->chartDataSeriesValueSet ($ seriesDetail , "$ marker " , $ fillColor , "$ pointSize " );
706
+ if ($ temp !== null ) {
707
+ $ seriesValues [$ seriesIndex ] = $ temp ;
708
+ }
697
709
698
710
break ;
699
711
case 'xVal ' :
700
- $ seriesCategory [$ seriesIndex ] = $ this ->chartDataSeriesValueSet ($ seriesDetail , "$ marker " , $ fillColor , "$ pointSize " );
712
+ $ temp = $ this ->chartDataSeriesValueSet ($ seriesDetail , "$ marker " , $ fillColor , "$ pointSize " );
713
+ if ($ temp !== null ) {
714
+ $ seriesCategory [$ seriesIndex ] = $ temp ;
715
+ }
701
716
702
717
break ;
703
718
case 'yVal ' :
704
- $ seriesValues [$ seriesIndex ] = $ this ->chartDataSeriesValueSet ($ seriesDetail , "$ marker " , $ fillColor , "$ pointSize " );
719
+ $ temp = $ this ->chartDataSeriesValueSet ($ seriesDetail , "$ marker " , $ fillColor , "$ pointSize " );
720
+ if ($ temp !== null ) {
721
+ $ seriesValues [$ seriesIndex ] = $ temp ;
722
+ }
705
723
706
724
break ;
707
725
case 'bubbleSize ' :
708
- $ seriesBubbles [$ seriesIndex ] = $ this ->chartDataSeriesValueSet ($ seriesDetail , "$ marker " , $ fillColor , "$ pointSize " );
726
+ $ seriesBubble = $ this ->chartDataSeriesValueSet ($ seriesDetail , "$ marker " , $ fillColor , "$ pointSize " );
727
+ if ($ seriesBubble !== null ) {
728
+ $ seriesBubbles [$ seriesIndex ] = $ seriesBubble ;
729
+ }
709
730
710
731
break ;
711
732
case 'bubble3D ' :
@@ -819,9 +840,7 @@ private function chartDataSeries(SimpleXMLElement $chartDetail, string $plotType
819
840
}
820
841
}
821
842
}
822
- /** @phpstan-ignore-next-line */
823
- $ series = new DataSeries ($ plotType , $ multiSeriesType , $ plotOrder , $ seriesLabel , $ seriesCategory , $ seriesValues , $ smoothLine );
824
- /** @phpstan-ignore-next-line */
843
+ $ series = new DataSeries ($ plotType , $ multiSeriesType , $ plotOrder , $ seriesLabel , $ seriesCategory , $ seriesValues , $ plotDirection , $ smoothLine );
825
844
$ series ->setPlotBubbleSizes ($ seriesBubbles );
826
845
827
846
return $ series ;
0 commit comments