We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

Issue creating Line with Markers chart when less than 3 rows of data

We have code producing a Line with Markers chart in PowerPoint. Each datapoint is meant to show 2 values along the y axis; an average value and peak value for a counter. The x axis would be the name of each item we are tracking the average and peak values of. 

Each datarow has 10 series. 4 of them are tracking values in different ranges of Average i.e. 0-25%, 26-29%, 70-89% and 90-100%. Then we have 4 more with the same ranges, but for Peak. Also, we have a Baseline series which we always set to 0 (this is purely for formatting of the actual chart; forcing a line to show at the bottom). Lastly, we have a series for the timestamp where the peak value occurred.

This code works fine if we have >= data rows including adding a row in the top for the header row showing the column names. If we have < 3 datarows, we get this exception when calling the IPresentation.Save(MemoryStream stream) method:

Exception: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: index
at Syncfusion.OfficeChart.Implementation.Collections.ExtendedFormatsCollection.get_Item(Int32 index)
at Syncfusion.OfficeChart.Implementation.RangeImpl.GetNumberFormat()
at Syncfusion.OfficeChart.Implementation.XmlSerialization.Charts.ChartSerializator.SerializeNormalReference(XmlWriter writer, IRange range, Object[] values, String tagName, ChartSerieImpl series)
at Syncfusion.OfficeChart.Implementation.XmlSerialization.Charts.ChartSerializator.SerializeSeriesValues(XmlWriter writer, IRange range, Object[] values, String tagName, ChartSerieImpl series)
at Syncfusion.OfficeChart.Implementation.XmlSerialization.Charts.ChartSerializator.SerializeSeriesCategory(XmlWriter writer, ChartSerieImpl series)
at Syncfusion.OfficeChart.Implementation.XmlSerialization.Charts.ChartSerializator.SerializeLineSeries(XmlWriter writer, ChartSerieImpl series)
at Syncfusion.OfficeChart.Implementation.XmlSerialization.Charts.ChartSerializator.SerializeChartSeries(XmlWriter writer, ChartImpl chart, ChartSerieImpl firstSeries, SerializeSeriesDelegate serializator)
at Syncfusion.OfficeChart.Implementation.XmlSerialization.Charts.ChartSerializator.SerializeLineChartCommon(XmlWriter writer, ChartImpl chart, ChartSerieImpl firstSeries)
at Syncfusion.OfficeChart.Implementation.XmlSerialization.Charts.ChartSerializator.SerializeLineChart(XmlWriter writer, ChartImpl chart, ChartSerieImpl firstSeries)
at Syncfusion.OfficeChart.Implementation.XmlSerialization.Charts.ChartSerializator.SerializeMainChartTypeTag(XmlWriter writer, ChartImpl chart, Int32 groupIndex)
at Syncfusion.OfficeChart.Implementation.XmlSerialization.Charts.ChartSerializator.SerializePlotArea(XmlWriter writer, ChartImpl chart, RelationCollection relations)
at Syncfusion.OfficeChart.Implementation.XmlSerialization.Charts.ChartSerializator.SerializeChart(XmlWriter writer, ChartImpl chart, String chartItemName)
at Syncfusion.Presentation.FileDataHolder.WriteChart(PresentationChart chart)
at Syncfusion.Presentation.DrawingSerializator.SerializeGraphicFrame(XmlWriter xmlWriter, Shape shape)
at Syncfusion.Presentation.DrawingSerializator.SerializeShapes(XmlWriter xmlWriter, BaseSlide slide)
at Syncfusion.Presentation.DrawingSerializator.SerializeShapeTree(XmlWriter xmlWriter, BaseSlide slide)
at Syncfusion.Presentation.Serializator.SerializeCommonSlide(XmlWriter xmlWriter, BaseSlide slide)
at Syncfusion.Presentation.Serializator.SerializeSlide(XmlWriter xmlWriter, Slide slide)
at Syncfusion.Presentation.FileDataHolder.WriteSlides()
at Syncfusion.Presentation.FileDataHolder.Write()
at Syncfusion.Presentation.FileDataHolder.WriteDocument(Stream stream)
at Syncfusion.Presentation.Presentation.SaveAsStream(Stream fileStream)

This is the only information I can provide at this point. Please let me know if you need any addition specific information. Thank you!

1 Reply

VA Vijayasurya Anandhan Syncfusion Team November 5, 2019 01:30 PM UTC

Hi Joshua,

Thank you for contacting Syncfusion support.

We have tried reproducing the issue with the provide stack trace, but we could not able to replicate the exception in our side and so we request to provide complete code snippet  with input PowerPoint presentation to reproduce the issue in our end which will be helpful for us to proceed further in this.

Please let us know if you have any questions.

Vijayasurya A

Live Chat Icon For mobile
Up arrow icon