コード例 #1
0
        private void LoadView()
        {
            // Paste your license key here.
            mNChartView.Chart.LicenseKey = "";

            // Margin to ensure some free space for the iOS status bar.
            mNChartView.Chart.CartesianSystem.Margin = new NChartMargin(10.0f, 10.0f, 10.0f, 20.0f);
            mNChartView.Chart.CartesianSystem.XAxis.ShouldBeautifyMinAndMax = true;
            mNChartView.Chart.CartesianSystem.XAxis.MinTickSpacing          = 50;
            mNChartView.Chart.CartesianSystem.YAxis.ShouldBeautifyMinAndMax = true;
            mNChartView.Chart.CartesianSystem.YAxis.MinTickSpacing          = 10;

            // !!! This is mandatory to provide ticks for X-Axis.
            mNChartView.Chart.CartesianSystem.XAxis.DataSource = this;

            // !!! Increase the minimal tick spacing for X-Axis to avoid line breaks in ticks.
            mNChartView.Chart.CartesianSystem.XAxis.MinTickSpacing = 80.0f;

            // Create series that will be displayed on the chart.
            NChartCandlestickSeries series = new NChartCandlestickSeries();

            series.PositiveColor       = Color.Green;
            series.PositiveBorderColor = series.PositiveColor;
            series.NegativeColor       = Color.Red;
            series.NegativeBorderColor = series.NegativeColor;
            series.BorderThickness     = 1.0f;
            series.DataSource          = this;
            mNChartView.Chart.AddSeries(series);

            // Activate auto scroll and auto toggle of scroll by pan.
            mNChartView.Chart.ShouldAutoScroll            = true;
            mNChartView.Chart.ShouldToggleAutoScrollByPan = true;

            // Create label that is shown when auto scroll toggles.
            NChartAutoScrollLabel lbl = new NChartAutoScrollLabel();

            lbl.Background = new NChartSolidColorBrush(Color.Argb(230, 0, 0, 0));
            lbl.Font       = new NChartFont(NChartFont.FontDefaultBold, NChartFont.StyleBold, 16.0f);
            lbl.TextColor  = Color.White;
            lbl.Padding    = new NChartMargin(20.0f, 20.0f, 5.0f, 10.0f);
            lbl.OnText     = @"Autoscroll ON";
            lbl.OffText    = @"Autoscroll OFF";
            mNChartView.Chart.AutoScrollLabel = lbl;

            // Enable auto-zoom of the Y-Axis.
            mNChartView.Chart.CartesianSystem.ShouldAutoZoom = true;
            mNChartView.Chart.CartesianSystem.AutoZoomAxes   = NChartAutoZoomAxes.NormalAxis;           // This can also be NChartAutoZoomAxes.SecondaryAxis, in case series are hosted on the secondary axis.
            // Disable unwanted interactive vertical panning and zooming not to conflict with automatic ones.
            mNChartView.Chart.UserInteractionMode = (mNChartView.Chart.UserInteractionMode) ^ (NChartUserInteraction.ProportionalZoom | NChartUserInteraction.VerticalZoom | NChartUserInteraction.VerticalMove);
            mNChartView.Chart.ZoomMode            = NChartZoomMode.Directional;

            // Update data in the chart.
            mNChartView.Chart.UpdateData();

            TimerCallback timerCallback = new TimerCallback(Stream);

            timer = new Timer(timerCallback, null, 100, 100);
        }
コード例 #2
0
        public override void LoadView()
        {
            // Create a chart view that will display the chart.
            m_view = new NChartView();

            // Paste your license key here.
            m_view.Chart.LicenseKey = "";

            // Switch on antialiasing.
            m_view.Chart.ShouldAntialias = true;

            if (drawIn3D)
            {
                // Switch 3D on.
                m_view.Chart.DrawIn3D = true;
                // Margin to ensure some free space for the iOS status bar and Y-Axis tick titles.
                m_view.Chart.CartesianSystem.Margin = new NChartMargin(50.0f, 50.0f, 10.0f, 20.0f);
                m_view.Chart.PolarSystem.Margin     = new NChartMargin(50.0f, 50.0f, 10.0f, 20.0f);
            }
            else
            {
                // Margin to ensure some free space for the iOS status bar.
                m_view.Chart.CartesianSystem.Margin = new NChartMargin(10.0f, 10.0f, 10.0f, 20.0f);
                m_view.Chart.PolarSystem.Margin     = new NChartMargin(10.0f, 10.0f, 10.0f, 20.0f);
            }

            // Create series that will be displayed on the chart.
            NChartCandlestickSeries series = new NChartCandlestickSeries();

            series.DataSource          = this;
            series.Tag                 = 0;
            series.PositiveColor       = UIColor.FromRGB(73, 226, 141);
            series.PositiveBorderColor = UIColor.FromRGB(65, 204, 38);
            series.NegativeColor       = UIColor.FromRGB(221, 73, 73);
            series.NegativeBorderColor = UIColor.FromRGB(199, 15, 50);
            series.BorderThickness     = 3.0f;
            m_view.Chart.AddSeries(series);

            NChartCandlestickSeriesSettings settings = new NChartCandlestickSeriesSettings();

            settings.CylindersResolution = 20;
            m_view.Chart.AddSeriesSettings(settings);

            m_view.Chart.CartesianSystem.XAxis.HasOffset = true;
            m_view.Chart.CartesianSystem.YAxis.HasOffset = false;
            m_view.Chart.CartesianSystem.ZAxis.HasOffset = true;

            // Update data in the chart.
            m_view.Chart.UpdateData();

            // Set chart view to the controller.
            this.View = m_view;
        }
コード例 #3
0
        void CreateSeries()
        {
            NChartCandlestickSeries series = new NChartCandlestickSeries();

            series.DataSource          = this;
            series.Tag                 = 0;
            series.PositiveColor       = Color.Argb(255, (int)(255 * 0.28), (int)(255 * 0.88), (int)(255 * 0.55));
            series.PositiveBorderColor = Color.Argb(255, (int)(255 * 0.25), (int)(255 * 0.8), (int)(255 * 0.15));
            series.NegativeColor       = Color.Argb(255, (int)(255 * 0.87), (int)(255 * 0.28), (int)(255 * 0.28));
            series.NegativeBorderColor = Color.Argb(255, (int)(255 * 0.78), (int)(255 * 0.1), (int)(255 * 0.2));
            series.BorderThickness     = 3.0f;
            mNChartView.Chart.AddSeries(series);

            NChartCandlestickSeriesSettings settings = new NChartCandlestickSeriesSettings();

            settings.CylindersResolution = 20;
            mNChartView.Chart.AddSeriesSettings(settings);
            mNChartView.Chart.CartesianSystem.XAxis.HasOffset = true;
            mNChartView.Chart.CartesianSystem.YAxis.HasOffset = false;
            mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = true;
        }
コード例 #4
0
		void CreateSeries ()
		{
			// Create series.
			switch (type) {
			case SeriesType.Column2D:
			case SeriesType.Column3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartColumnSeries series = new NChartColumnSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						m_view.Chart.AddSeries (series);
					}
					NChartColumnSeriesSettings settings = new NChartColumnSeriesSettings ();
					settings.CylindersResolution = 4;
					settings.ShouldSmoothCylinders = false;
					m_view.Chart.AddSeriesSettings (settings);
					m_view.Chart.CartesianSystem.XAxis.HasOffset = true;
					m_view.Chart.CartesianSystem.YAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.ColumnCylinder:
				{
					for (int i = 0; i < 3; ++i) {
						NChartColumnSeries series = new NChartColumnSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						m_view.Chart.AddSeries (series);
					}
					NChartColumnSeriesSettings settings = new NChartColumnSeriesSettings ();
					settings.CylindersResolution = 20;
					settings.ShouldSmoothCylinders = true;
					m_view.Chart.AddSeriesSettings (settings);
					m_view.Chart.CartesianSystem.XAxis.HasOffset = true;
					m_view.Chart.CartesianSystem.YAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Bar2D:
			case SeriesType.Bar3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartBarSeries series = new NChartBarSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						m_view.Chart.AddSeries (series);
					}
					NChartBarSeriesSettings settings = new NChartBarSeriesSettings ();
					settings.CylindersResolution = 4;
					settings.ShouldSmoothCylinders = false;
					m_view.Chart.AddSeriesSettings (settings);
					m_view.Chart.CartesianSystem.XAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.YAxis.HasOffset = true;
					m_view.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.BarCylinder:
				{
					for (int i = 0; i < 3; ++i) {
						NChartBarSeries series = new NChartBarSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						m_view.Chart.AddSeries (series);
					}
					NChartBarSeriesSettings settings = new NChartBarSeriesSettings ();
					settings.CylindersResolution = 20;
					settings.ShouldSmoothCylinders = true;
					m_view.Chart.AddSeriesSettings (settings);
					m_view.Chart.CartesianSystem.XAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.YAxis.HasOffset = true;
					m_view.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Area2D:
			case SeriesType.Area3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartAreaSeries series = new NChartAreaSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						series.Brush.Opacity = m_view.Chart.DrawIn3D ? 1.0f : 0.8f;
						m_view.Chart.AddSeries (series);
					}
					m_view.Chart.CartesianSystem.XAxis.HasOffset = true;
					m_view.Chart.CartesianSystem.YAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Line2D:
			case SeriesType.Line3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartLineSeries series = new NChartLineSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						series.LineThickness = 3.0f;
						m_view.Chart.AddSeries (series);
					}
					m_view.Chart.CartesianSystem.XAxis.HasOffset = true;
					m_view.Chart.CartesianSystem.YAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Step2D:
			case SeriesType.Step3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartStepSeries series = new NChartStepSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						series.LineThickness = 3.0f;
						m_view.Chart.AddSeries (series);
					}
					m_view.Chart.CartesianSystem.XAxis.HasOffset = true;
					m_view.Chart.CartesianSystem.YAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Ribbon:
				{
					for (int i = 0; i < 3; ++i) {
						NChartRibbonSeries series = new NChartRibbonSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						m_view.Chart.AddSeries (series);
					}
					m_view.Chart.CartesianSystem.XAxis.HasOffset = true;
					m_view.Chart.CartesianSystem.YAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Pie2D:
			case SeriesType.Pie3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartPieSeries series = new NChartPieSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						m_view.Chart.AddSeries (series);
					}
					NChartPieSeriesSettings settings = new NChartPieSeriesSettings ();
					settings.HoleRatio = 0.0f;
					m_view.Chart.AddSeriesSettings (settings);
				}
				break;

			case SeriesType.Doughnut2D:
			case SeriesType.Doughnut3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartPieSeries series = new NChartPieSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						m_view.Chart.AddSeries (series);
					}
					NChartPieSeriesSettings settings = new NChartPieSeriesSettings ();
					settings.HoleRatio = 0.1f;
					m_view.Chart.AddSeriesSettings (settings);
				}
				break;

			case SeriesType.Bubble2D:
			case SeriesType.Bubble3D:
			case SeriesType.Scatter2D:
			case SeriesType.Scatter3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartBubbleSeries series = new NChartBubbleSeries ();
						series.DataSource = this;
						series.Tag = i;
						m_view.Chart.AddSeries (series);
					}
					m_view.Chart.CartesianSystem.XAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.YAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.ZAxis.HasOffset = false;
				}
				break;

			case SeriesType.Surface:
				{
					NChartSurfaceSeries series = new NChartSurfaceSeries ();
					series.DataSource = this;
					series.Tag = 0;
					m_view.Chart.AddSeries (series);

					m_view.Chart.CartesianSystem.XAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.YAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.ZAxis.HasOffset = false;
				}
				break;

			case SeriesType.Candlestick2D:
			case SeriesType.Candlestick3D:
				{
					NChartCandlestickSeries series = new NChartCandlestickSeries ();
					series.DataSource = this;
					series.Tag = 0;
					series.PositiveColor = UIColor.FromRGB (73, 226, 141);
					series.PositiveBorderColor = UIColor.FromRGB (65, 204, 38);
					series.NegativeColor = UIColor.FromRGB (221, 73, 73);
					series.NegativeBorderColor = UIColor.FromRGB (199, 15, 50);
					series.BorderThickness = 3.0f;
					m_view.Chart.AddSeries (series);

					NChartCandlestickSeriesSettings settings = new NChartCandlestickSeriesSettings ();
					settings.CylindersResolution = 20;
					m_view.Chart.AddSeriesSettings (settings);
					m_view.Chart.CartesianSystem.XAxis.HasOffset = true;
					m_view.Chart.CartesianSystem.YAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.OHLC2D:
			case SeriesType.OHLC3D:
				{
					NChartOHLCSeries series = new NChartOHLCSeries ();
					series.DataSource = this;
					series.Tag = 0;
					series.PositiveColor = UIColor.FromRGB (73, 226, 141);
					series.NegativeColor = UIColor.FromRGB (221, 73, 73);
					series.BorderThickness = 1.0f;
					m_view.Chart.AddSeries (series);

					m_view.Chart.CartesianSystem.XAxis.HasOffset = true;
					m_view.Chart.CartesianSystem.YAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Band:
				{
					NChartBandSeries series = new NChartBandSeries ();
					series.DataSource = this;
					series.Tag = 0;
					series.PositiveColor = UIColor.FromRGBA (112, 170, 242, 204);
					series.NegativeColor = UIColor.FromRGBA (196, 240, 91, 204);
					series.HighBorderColor = UIColor.FromRGB (130, 196, 255);
					series.LowBorderColor = UIColor.FromRGB (226, 255, 112);
					series.BorderThickness = 5.0f;
					m_view.Chart.AddSeries (series);

					m_view.Chart.CartesianSystem.XAxis.HasOffset = true;
					m_view.Chart.CartesianSystem.YAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Sequence:
				{
					for (int i = 0; i < 3; ++i) {
						NChartSequenceSeries series = new NChartSequenceSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						m_view.Chart.AddSeries (series);
					}

					m_view.Chart.CartesianSystem.XAxis.HasOffset = false;
					m_view.Chart.CartesianSystem.YAxis.HasOffset = true;
					m_view.Chart.CartesianSystem.ZAxis.HasOffset = false;
				}
				break;

			case SeriesType.Radar:
				{
					for (int i = 0; i < 3; ++i) {
						NChartRadarSeries series = new NChartRadarSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						series.Brush.Opacity = 0.8f;
						m_view.Chart.AddSeries (series);
					}
				}
				break;

			case SeriesType.Funnel2D:
			case SeriesType.Funnel3D:
				for (int i = 0; i < 3; ++i) {
					NChartFunnelSeries series = new NChartFunnelSeries ();
					series.DataSource = this;
					series.Tag = i;
					series.BottomRadius = (float)(i + 1) / 5.0f;
					series.TopRadius = (float)(i + 2) / 5.0f;
					NChartBrush brush = brushes [i];
					brush.Opacity = 0.8f;
					series.Brush = brush;
					m_view.Chart.AddSeries (series);
				}
				m_view.Chart.CartesianSystem.Visible = false;
				break;

			case SeriesType.Heatmap:
				{
					NChartHeatmapSeries series = new NChartHeatmapSeries ();
					series.DataSource = this;
					series.Tag = 0;

					// Create brush scale.
					// See NChartBrushScale for details.
					series.Scale = NChartBrushScale.BrushScaleWithBrushes (brushes, new NSNumber[] {
						NSNumber.FromDouble (-0.3),
						NSNumber.FromDouble (0.3)
					});

					m_view.Chart.AddSeries (series);
					m_view.Chart.CartesianSystem.XAxis.ShouldBeautifyMinAndMax = false;
					m_view.Chart.CartesianSystem.YAxis.ShouldBeautifyMinAndMax = false;
				}
				break;
			}
		}
コード例 #5
0
		void CreateSeries ()
		{
			// Create series.
			switch (type) {
			case SeriesType.Column2D:
			case SeriesType.Column3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartColumnSeries series = new NChartColumnSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						mNChartView.Chart.AddSeries (series);
					}
					NChartColumnSeries.Settings settings = new NChartColumnSeries.Settings ();
					settings.CylindersResolution = 4;
					settings.ShouldSmoothCylinders = false;
					mNChartView.Chart.AddSeriesSettings (settings);
					mNChartView.Chart.CartesianSystem.XAxis.HasOffset = true;
					mNChartView.Chart.CartesianSystem.YAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.ColumnCylinder:
				{
					for (int i = 0; i < 3; ++i) {
						NChartColumnSeries series = new NChartColumnSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						mNChartView.Chart.AddSeries (series);
					}
					NChartColumnSeries.Settings settings = new NChartColumnSeries.Settings ();
					settings.CylindersResolution = 20;
					settings.ShouldSmoothCylinders = false;
					mNChartView.Chart.AddSeriesSettings (settings);
					mNChartView.Chart.CartesianSystem.XAxis.HasOffset = true;
					mNChartView.Chart.CartesianSystem.YAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Bar2D:
			case SeriesType.Bar3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartBarSeries series = new NChartBarSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						mNChartView.Chart.AddSeries (series);
					}
					NChartBarSeries.Settings settings = new NChartBarSeries.Settings ();
					settings.CylindersResolution = 4;
					settings.ShouldSmoothCylinders = false;
					mNChartView.Chart.AddSeriesSettings (settings);
					mNChartView.Chart.CartesianSystem.XAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.YAxis.HasOffset = true;
					mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.BarCylinder:
				{
					for (int i = 0; i < 3; ++i) {
						NChartBarSeries series = new NChartBarSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						mNChartView.Chart.AddSeries (series);
					}
					NChartBarSeries.Settings settings = new NChartBarSeries.Settings ();
					settings.CylindersResolution = 20;
					settings.ShouldSmoothCylinders = false;
					mNChartView.Chart.AddSeriesSettings (settings);
					mNChartView.Chart.CartesianSystem.XAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.YAxis.HasOffset = true;
					mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Area2D:
			case SeriesType.Area3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartAreaSeries series = new NChartAreaSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						mNChartView.Chart.AddSeries (series);
					}
					mNChartView.Chart.CartesianSystem.XAxis.HasOffset = true;
					mNChartView.Chart.CartesianSystem.YAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Line2D:
			case SeriesType.Line3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartLineSeries series = new NChartLineSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						series.LineThickness = 3.0f;
						mNChartView.Chart.AddSeries (series);
					}
					mNChartView.Chart.CartesianSystem.XAxis.HasOffset = true;
					mNChartView.Chart.CartesianSystem.YAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Step2D:
			case SeriesType.Step3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartStepSeries series = new NChartStepSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						series.LineThickness = 3.0f;
						mNChartView.Chart.AddSeries (series);
					}
					mNChartView.Chart.CartesianSystem.XAxis.HasOffset = true;
					mNChartView.Chart.CartesianSystem.YAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Ribbon:
				{
					for (int i = 0; i < 3; ++i) {
						NChartRibbonSeries series = new NChartRibbonSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						mNChartView.Chart.AddSeries (series);
					}
					mNChartView.Chart.CartesianSystem.XAxis.HasOffset = true;
					mNChartView.Chart.CartesianSystem.YAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Pie2D:
			case SeriesType.Pie3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartPieSeries series = new NChartPieSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						mNChartView.Chart.AddSeries (series);
					}
					NChartPieSeries.Settings settings = new NChartPieSeries.Settings ();
					settings.HoleRatio = 0.0f;
					mNChartView.Chart.AddSeriesSettings (settings);
				}
				break;

			case SeriesType.Doughnut2D:
			case SeriesType.Doughnut3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartPieSeries series = new NChartPieSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i];
						mNChartView.Chart.AddSeries (series);
					}
					NChartPieSeries.Settings settings = new NChartPieSeries.Settings ();
					settings.HoleRatio = 0.1f;
					mNChartView.Chart.AddSeriesSettings (settings);
				}
				break;

			case SeriesType.Bubble2D:
			case SeriesType.Bubble3D:
			case SeriesType.Scatter2D:
			case SeriesType.Scatter3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartBubbleSeries series = new NChartBubbleSeries ();
						series.DataSource = this;
						series.Tag = i;
						mNChartView.Chart.AddSeries (series);
					}
					mNChartView.Chart.CartesianSystem.XAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.YAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = false;
				}
				break;

			case SeriesType.Surface:
				{
					NChartSurfaceSeries series = new NChartSurfaceSeries ();
					series.DataSource = this;
					series.Tag = 0;
					mNChartView.Chart.AddSeries (series);

					mNChartView.Chart.CartesianSystem.XAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.YAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = false;
				}
				break;

			case SeriesType.Candlestick2D:
			case SeriesType.Candlestick3D:
				{
					NChartCandlestickSeries series = new NChartCandlestickSeries ();
					series.DataSource = this;
					series.Tag = 0;
					series.PositiveColor = Color.Argb (255, (int)(255 * 0.28), (int)(255 * 0.88), (int)(255 * 0.55));
					series.PositiveBorderColor = Color.Argb (255, (int)(255 * 0.25), (int)(255 * 0.8), (int)(255 * 0.15));
					series.NegativeColor = Color.Argb (255, (int)(255 * 0.87), (int)(255 * 0.28), (int)(255 * 0.28));
					series.NegativeBorderColor = Color.Argb (255, (int)(255 * 0.78), (int)(255 * 0.1), (int)(255 * 0.2));
					series.BorderThickness = 3.0f;
					mNChartView.Chart.AddSeries (series);

					NChartCandlestickSeries.Settings settings = new NChartCandlestickSeries.Settings ();
					settings.CylindersResolution = 20;
					mNChartView.Chart.AddSeriesSettings (settings);
					mNChartView.Chart.CartesianSystem.XAxis.HasOffset = true;
					mNChartView.Chart.CartesianSystem.YAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.OHLC2D:
			case SeriesType.OHLC3D:
				{
					NChartOHLCSeries series = new NChartOHLCSeries ();
					series.DataSource = this;
					series.Tag = 0;
					series.PositiveColor = Color.Argb (255, (int)(255 * 0.28), (int)(255 * 0.88), (int)(255 * 0.55));
					series.NegativeColor = Color.Argb (255, (int)(255 * 0.87), (int)(255 * 0.28), (int)(255 * 0.28));
					series.BorderThickness = 3.0f;
					mNChartView.Chart.AddSeries (series);

					mNChartView.Chart.CartesianSystem.XAxis.HasOffset = true;
					mNChartView.Chart.CartesianSystem.YAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Band:
				{
					NChartBandSeries series = new NChartBandSeries ();
					series.DataSource = this;
					series.Tag = 0;
					series.PositiveColor = Color.Argb ((int)(255 * 0.8), (int)(255 * 0.41), (int)(255 * 0.67), (int)(255 * 0.95));
					series.NegativeColor = Color.Argb ((int)(255 * 0.8), (int)(255 * 0.77), (int)(255 * 0.94), (int)(255 * 0.36));
					series.HighBorderColor = Color.Argb ((int)(255 * 0.8), (int)(255 * 0.51), (int)(255 * 0.78), (int)(255 * 1.0));
					series.LowBorderColor = Color.Argb ((int)(255 * 0.8), (int)(255 * 0.89), (int)(255 * 1.0), (int)(255 * 0.44));

					series.BorderThickness = 5.0f;
					mNChartView.Chart.AddSeries (series);

					mNChartView.Chart.CartesianSystem.XAxis.HasOffset = true;
					mNChartView.Chart.CartesianSystem.YAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = true;
				}
				break;

			case SeriesType.Sequence:
				{
					for (int i = 0, m = 3; i < m; ++i) {
						NChartSequenceSeries series = new NChartSequenceSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.Brush = brushes [i % brushes.Length];
						mNChartView.Chart.AddSeries (series);
					}

					mNChartView.Chart.CartesianSystem.XAxis.HasOffset = false;
					mNChartView.Chart.CartesianSystem.YAxis.HasOffset = true;
					mNChartView.Chart.CartesianSystem.ZAxis.HasOffset = false;
				}
				break;

			case SeriesType.Radar:
				{
					for (int i = 0; i < 3; ++i) {
						NChartRadarSeries series = new NChartRadarSeries ();
						series.DataSource = this;
						series.Tag = i;
						NChartBrush brush = brushes [i % brushes.Length]; // todo: copy method here
						brush.Opacity = 0.8;
						series.Brush = brush;
						mNChartView.Chart.AddSeries (series);
					}
				}
				break;

			case SeriesType.Funnel2D:
			case SeriesType.Funnel3D:
				{
					for (int i = 0; i < 3; ++i) {
						NChartFunnelSeries series = new NChartFunnelSeries ();
						series.DataSource = this;
						series.Tag = i;
						series.BottomRadius = (float)(i + 1) / 5.0f;
						series.TopRadius = (float)(i + 2) / 5.0f;
						NChartBrush brush = brushes [i % brushes.Length];
						brush.Opacity = 0.8f;
						series.Brush = brush;
						mNChartView.Chart.AddSeries (series);
					}
				}
				break;

			case SeriesType.Heatmap:
				{
					NChartHeatmapSeries series = new NChartHeatmapSeries ();
					series.DataSource = this;
					series.Tag = 0;

					// Create brush scale.
					// See NChartBrushScale for details.
					series.Scale = new NChartBrushScale (brushes, new Number[] { (Number)(-0.3), (Number)(0.3) });

					mNChartView.Chart.AddSeries (series);
					mNChartView.Chart.CartesianSystem.XAxis.ShouldBeautifyMinAndMax = false;
					mNChartView.Chart.CartesianSystem.YAxis.ShouldBeautifyMinAndMax = false;
				}
				break;
			}
		}