Pre loader

Xamarin Uniform Column 3D Chart

Xamarin Chart - Examples

Please note! These examples are new to SciChart Mobile v3 release! SciChart iOS & Android ship with Xamarin.iOS and Xamarin.Android bindings around our native iOS & Android Chart controls, allowing you to create fast & feature rich charts to your Xamarin applications. We include ~90 native iOS examples and 90 Android examples, but now also ~60 Xamarin Chart Examples to help you get started with SciChart. You can download the source for our Xamarin Chart Examples from Github, or browse the source code below.

Download Examples

In this example you can see how to create a Uniform Column 3D Plot with Xamarin.iOS and Xamarin.Android for your mobile apps.

See more in the documentation:Create a 3D Chart with Xamarin.Android Create a 3D Chart with Xamarin.iOSThe Column 3D Chart Type in AndroidThe Column 3D Chart Type in iOS

The C#/Xamarin.iOS/Xamarin.Android source code for the Xamarin Uniform Column 3D Chart example is included below (Scroll down!).

Did you know you can also view the source code from one of the following sources as well?

  1. Clone the SciChart.Xamarin.Examples from Github.
  2. Also, the SciChart for Xamarin Trial contains the full source code for the Xamarin chart examples (link below).

DOWNLOAD THE XAMARIN CHART EXAMPLES

UniformColumn3DChartViewController.cs (Xamarin.iOS)
View source code
using System;
using SciChart.iOS.Charting;
using Xamarin.Examples.Demo.Utils;

namespace Xamarin.Examples.Demo.iOS
{
    [Example3DDefinition("Uniform Column Series 3D Chart", description: "Create a simple Uniform Column Series 3D Chart", icon: ExampleIcon.ColumnChart)]
    class UniformColumn3DChartViewController : SingleChartViewController<SCIChartSurface3D>
    {
        protected override void InitExample()
        {
            const int count = 15;
            var dataSeries3D = new UniformGridDataSeries3D<double, double, double>(count, count);

            for (int x = 0; x < count; x++)
            {
                for (int z = 0; z < count; z++)
                {
                    var y = Math.Sin(x * .2) / ((z + 1) * 2);
                    dataSeries3D.UpdateYAt(x, z, y);
                }
            }

            var rSeries3D = new SCIColumnRenderableSeries3D
            {
                DataSeries = dataSeries3D,
                FillColor = ColorUtil.CornflowerBlue,
            };

            using (Surface.SuspendUpdates())
            {
                Surface.XAxis = new SCINumericAxis3D { GrowBy = new SCIDoubleRange(0.1, 0.1) };
                Surface.YAxis = new SCINumericAxis3D { GrowBy = new SCIDoubleRange(0.1, 0.5) };
                Surface.ZAxis = new SCINumericAxis3D { GrowBy = new SCIDoubleRange(0.1, 0.1) };
                Surface.RenderableSeries.Add(rSeries3D);
                Surface.ChartModifiers.Add(CreateDefault3DModifiers());

                Surface.Camera = new SCICamera3D();
            }
        }
    }
}
CreateUniformColumn3DChartFragment.cs (Xamarin.Android)
View source code
using System;
using System.Drawing;
using SciChart.Charting3D.Model;
using SciChart.Charting3D.Model.DataSeries.Grid;
using SciChart.Charting3D.Modifiers;
using SciChart.Charting3D.Visuals;
using SciChart.Charting3D.Visuals.Axes;
using SciChart.Charting3D.Visuals.Camera;
using SciChart.Charting3D.Visuals.RenderableSeries.Columns;
using SciChart.Data.Model;
using Xamarin.Examples.Demo;
using Xamarin.Examples.Demo.Droid.Fragments.Base;

namespace Xamarin.Examples.Demo.Droid.Fragments.Examples3D
{
    [Example3DDefinition("Simple Uniform Column Series 3D Chart", description: "Create a simple Uniform Column Series 3D Chart", icon: ExampleIcon.ColumnChart)]
    class CreateUniformColumn3DChartFragment : ExampleBaseFragment
    {
        public SciChartSurface3D Surface => View.FindViewById<SciChartSurface3D>(Resource.Id.chart3d);

        public override int ExampleLayoutId => Resource.Layout.Example_Single_3D_Chart_Fragment;

        protected override void InitExample()
        {
            const int count = 15;

            var dataSeries3D = new UniformGridDataSeries3D<double, double, double>(count, count);

            for (int x = 0; x < count; x++)
            {
                for (int z = 0; z < count; z++)
                {
                    var y = Math.Sin(x * .2) / ((z + 1) * 2);

                    dataSeries3D.UpdateYAt(x, z, y);
                }
            }

            var renderableSeries3D = new ColumnRenderableSeries3D()
            {
                DataSeries = dataSeries3D,
                Fill = Color.DodgerBlue.ToArgb()
            };

            using (Surface.SuspendUpdates())
            {
                Surface.XAxis = new NumericAxis3D() { GrowBy = new DoubleRange(0.1, 0.1) };
                Surface.YAxis = new NumericAxis3D() { VisibleRange = new DoubleRange(0, .5) };
                Surface.ZAxis = new NumericAxis3D() { GrowBy = new DoubleRange(0.1, 0.1) };

                Surface.Camera = new Camera3D();

                Surface.RenderableSeries.Add(renderableSeries3D);

                Surface.ChartModifiers = new ChartModifier3DCollection
                {
                    new PinchZoomModifier3D(),
                    new OrbitModifier3D(),
                    new ZoomExtentsModifier3D()
                };
            }
        }
    }
}
Back to Xamarin Chart Examples