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();
        }