private void Window1_Loaded(object sender, RoutedEventArgs e) { // initial collection content for (int i = 0; i < 10000; i++) { AddNextPoint(); } // switching off approximate content bounds' comparison, as this can cause improper behavior. plotter.Viewport.UseApproximateContentBoundsComparison = false; // adding line chart to plotter var line = plotter.AddLineGraph(data.AsDataSource()); // again switching off approximate content bounds' comparison - now in coercion method of Viewport2D.ContentBounds attached dependency property. Viewport2D.SetUsesApproximateContentBoundsComparison(line, false); // simulating data being received from external source on each timer tick timer.Tick += new EventHandler(timer_Tick); timer.Start(); }