public void Bind(ChartData <TX, TY> chartData, PopulationAnalysisChart analysisChart) { if (chartData == null) { ClearPlot(); return; } //Required to add at least one series in order to create the Diagram if (_view.Diagram == null) { var dummySeries = new Series("dummy", _viewType); _view.Chart.Series.Add(dummySeries); //Zoom initialization should be performed with an existing Diagram if (_allowZoom) { new DiagramZoomRectangleService(_view.Chart, zoomAction); } } var diagram = _view.Diagram; if (diagram == null) { return; } //before AddSeries, because Series are assigned to panes doUpdateOf(diagram.Panes, () => addPanes(chartData, diagram)); //before AddSeries, because Series are assigned to Secondary yAxes doUpdateOf(diagram.SecondaryAxesY, () => AddYAxes(chartData, diagram)); doUpdateOf(_view.Chart.Series, () => AddSeries(chartData, diagram)); // after AddSeries, because Axes are available after curves AddXAxes(chartData, diagram); doUpdateOf(diagram.Panes, () => SetVisibilityOfXAxisInPanes(chartData, diagram)); UpdateSettings(analysisChart); // annotations must be placed at the end because otherwise they get removed for example when series are added. // this is a behavior of dev express. doUpdateOf(diagram.Panes, () => addPaneTitles(chartData, diagram)); _view.Refresh(); }