SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, iOS Chart, Android Chart and JavaScript Chart Components
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.
SciChart’s Charts are popular with traders as they are a good fit for use in real-time trading systems, in demanding and fast-moving markets.
This example demonstrates how to create a CandleStick Chart with Xamarin.iOS and Xamarin.Android for your mobile apps.
The SCIFastCandlestickRenderableSeries in iOS and FastCandlestickRenderableSeries in Android requires a SCIOhlcDataSeries and OhlcDataSeries respectively.
The OhlcDataSeries contains one X-point (Date) and four Y-points (Open, High, Low, Close). Candles are drawn using the UpWick, DownWick, UpBody and DownBody colors, which are used depending on whether Open > Close or not.
Documentation Links
The C#/Xamarin.iOS/Xamarin.Android source code for the Xamarin Candlestick 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?
using System;
using Android.Views.Animations;
using SciChart.Charting.Model;
using SciChart.Charting.Model.DataSeries;
using SciChart.Charting.Modifiers;
using SciChart.Charting.Visuals;
using SciChart.Charting.Visuals.Animations;
using SciChart.Charting.Visuals.Axes;
using SciChart.Charting.Visuals.RenderableSeries;
using SciChart.Data.Model;
using SciChart.Drawing.Common;
using Xamarin.Examples.Demo.Data;
using Xamarin.Examples.Demo;
using Xamarin.Examples.Demo.Droid.Extensions;
using Xamarin.Examples.Demo.Droid.Fragments.Base;
namespace Xamarin.Examples.Demo.Droid.Fragments.Examples
{
[ExampleDefinition("Candlestick Chart", description:"Creates a simple Candlestick Chart", icon: ExampleIcon.CandlestickChart)]
public class CandlestickChartFragment : ExampleBaseFragment
{
public override int ExampleLayoutId => Resource.Layout.Example_Single_Chart_Fragment;
private SciChartSurface Surface => View.FindViewById<SciChartSurface>(Resource.Id.chart);
protected override void InitExample()
{
var priceSeries = DataManager.Instance.GetPriceDataIndu();
var dataSeries = new OhlcDataSeries<DateTime, double>();
dataSeries.Append(priceSeries.TimeData, priceSeries.OpenData, priceSeries.HighData, priceSeries.LowData, priceSeries.CloseData);
var size = priceSeries.Count;
var xAxis = new CategoryDateAxis(Activity) {VisibleRange = new DoubleRange(size - 30, size), GrowBy = new DoubleRange(0, 0.1)};
var yAxis = new NumericAxis(Activity) {GrowBy = new DoubleRange(0, 0.1), AutoRange = AutoRange.Always};
var rSeries = new FastCandlestickRenderableSeries
{
DataSeries = dataSeries,
StrokeUpStyle = new SolidPenStyle(0xFF00AA00, 1.ToDip(Activity)),
StrokeDownStyle = new SolidPenStyle(0xFFFF0000, 1.ToDip(Activity)),
FillUpBrushStyle = new SolidBrushStyle(0x8800AA00),
FillDownBrushStyle = new SolidBrushStyle(0x88FF0000)
};
using (Surface.SuspendUpdates())
{
Surface.XAxes.Add(xAxis);
Surface.YAxes.Add(yAxis);
Surface.RenderableSeries.Add(rSeries);
Surface.ChartModifiers = new ChartModifierCollection
{
new ZoomPanModifier(),
new PinchZoomModifier(),
new ZoomExtentsModifier(),
};
new WaveAnimatorBuilder(rSeries) { Interpolator = new DecelerateInterpolator(), Duration = 3000, StartDelay = 350}.Start();
}
}
}
}