private PlotOptions getPlotOptionsFor(ObservedCurveData observedCurveData)
        {
            var plotOptions = GetPlotOptions(color: observedCurveData.Color.Name,
                                             shadedErrorBars: false,
                                             lineStyle: GetLineStyle(observedCurveData.LineStyle),
                                             marker: TEXHelper.GetMarker(observedCurveData.Symbol));

            plotOptions.ErrorType     = TEXHelper.GetErrorType(observedCurveData.ErrorType);
            plotOptions.ErrorBars     = true;
            plotOptions.ThicknessSize = Helper.Length(1, Helper.MeasurementUnits.pt);
            plotOptions.MarkSize      = Helper.Length(1, Helper.MeasurementUnits.pt);
            return(plotOptions);
        }
        private IEnumerable <IBasePlot> getGroupedPlots(ChartData <ScatterXValue, ScatterYValue> chartData)
        {
            var groupedPlots = new List <IBasePlot>();

            foreach (var paneData in chartData.Panes)
            {
                var plots      = new List <Plot>();
                var ydimension = paneData.Axis.Dimension;
                var yunit      = paneData.Axis.DisplayUnit;
                var xdimension = chartData.Axis.Dimension;
                var xunit      = chartData.Axis.DisplayUnit;

                foreach (var curve in paneData.Curves)
                {
                    var coordinates = new List <Coordinate>();
                    var color       = curve.Color;
                    var marker      = TEXHelper.GetMarker(curve.Symbol);

                    for (var i = 0; i < curve.YValues.Count; i++)
                    {
                        var xValue = TEXHelper.ValueInDisplayUnit(xdimension, xunit, curve.XValues[i].X);
                        var yvalue = TEXHelper.ValueInDisplayUnit(ydimension, yunit, curve.YValues[i].Value);

                        coordinates.Add(new Coordinate(xValue, yvalue));
                    }
                    plots.Add(new Plot(coordinates, GetPlotOptions(color: color.Name,
                                                                   shadedErrorBars: false,
                                                                   marker: marker,
                                                                   lineStyle: PlotOptions.LineStyles.None))
                    {
                        LegendEntry = GetLegendEntry(curve)
                    }
                              );
                }
                var axisOptions = GetAxisOptionsForPlot(paneData);
                groupedPlots.Add(new BasePlot(axisOptions, plots));
            }
            return(groupedPlots);
        }