• This repository has been archived on 03/May/2024
  • Stars
    star
    121
  • Rank 293,924 (Top 6 %)
  • Language
    C#
  • Created over 6 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A powerful ๐Ÿš€ Android/iOS chart view / graph view library, binding support for Xamarin.Forms, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, dragging and animations.

MPAndroidChart/iOSChart for Xamarin Forms Custom Renderer

A powerful ๐Ÿš€ Android/iOS chart view / graph view library, binding support for Xamarin.Forms, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, dragging and animations.

Available on NuGet:

Build status NuGet Badge

MPAndroidChart Binding

Add assembly references

xmlns:ultimateChart="clr-namespace:UltimateXF.Widget.Charts;assembly=UltimateXF"

Setup for iOS project (add to AppDelegate before LoadApplication)

 UltimateXFSettup.Initialize();

Setup for Android project (add to MainActivity before LoadApplication)

 UltimateXFSettup.Initialize(this);

Required:

  • [Xamarin.Forms](>= 3.1.0.697729)

  • Your app could not run on simulator(iOS)

  • Install Xamarin.Swift package for iOS project(maybe if your app can't start)

    [Xamarin.Swift] (>= 1.0.7)  
    
  • You can downgrade swift support version for you project or your device (just download this project source and downgrade version of library for each project)

LineChart & BarChart

    <ultimateChart:SupportLineChartExtended  
	       x:Name="chart"  
           HorizontalOptions="FillAndExpand"  
           VerticalOptions="FillAndExpand"  
           DrawBorders="false"  
           DoubleTapToZoomEnabled="false" />  

DataBinding

        var entries = new List<EntryChart>();
        var entries2 = new List<EntryChart>();
        var labels = new List<string>();

 	    var random = new Random();
    for (int i = 0; i < 7; i++)
    {
	entries.Add(new EntryChart(i, random.Next(1000,50000)));
	entries2.Add(new EntryChart(i, random.Next(1000,50000)));
	labels.Add("Entry" + i);
    }
 	    var FontFamily = "";
        switch (Device.RuntimePlatform)
        {
            case Device.iOS:
                FontFamily = "Pacifico-Regular";
                break;
            case Device.Android:
                FontFamily = "Fonts/Pacifico-Regular.ttf";
                break;
            default:
                break;
        }
        var dataSet4 = new LineDataSetXF(entries, "Line DataSet 1")
        {
            CircleRadius = 10,
            CircleHoleRadius = 4f,
            CircleColors = new List<Color>(){
                Color.Accent, Color.Red, Color.Bisque, Color.Gray, Color.Green, Color.Chocolate, Color.Black
            },
            CircleHoleColor = Color.Green,
            ValueColors = new List<Color>(){
                Color.Accent, Color.Red, Color.Bisque, Color.Gray, Color.Green, Color.Chocolate, Color.Black
            },
            Mode = LineDataSetMode.CUBIC_BEZIER,
            ValueFormatter = new CustomDataSetValueFormatter(),
            ValueFontFamily = FontFamily
        };

        var dataSet5 = new LineDataSetXF(entries2, "Line DataSet 2")
        {
            Colors = new List<Color>{
                Color.Green
            },
            CircleHoleColor = Color.Blue,
            CircleColors = new List<Color>{
                Color.Blue
            },
            CircleRadius = 3,
            DrawValues = false,

        };

        var data4 = new LineChartData(new List<ILineDataSetXF>() { dataSet4,dataSet5 });

        chart.ChartData = data4;
        chart.DescriptionChart.Text = "Test label chart description";
        chart.AxisLeft.DrawGridLines = false;
        chart.AxisLeft.DrawAxisLine = true;
        chart.AxisLeft.Enabled = true;

        chart.AxisRight.DrawAxisLine = false;
        chart.AxisRight.DrawGridLines = false;
        chart.AxisRight.Enabled = false;

        chart.AxisRight.FontFamily = FontFamily;
        chart.AxisLeft.FontFamily = FontFamily;
        chart.XAxis.FontFamily = FontFamily;

        chart.XAxis.XAXISPosition = XAXISPosition.BOTTOM;
        chart.XAxis.DrawGridLines = false;
        chart.XAxis.AxisValueFormatter = new TextByIndexXAxisFormatter(labels);

Chart types:

Screenshots are currently taken from the original repository, as they render exactly the same :-)

  • LineChart (with legend, simple design) alt tag

  • LineChart (with legend, simple design) alt tag

  • LineChart (cubic lines) alt tag

  • LineChart (gradient fill) alt tag

  • Combined-Chart (bar- and linechart in this case) alt tag

  • BarChart (with legend, simple design)

alt tag

  • BarChart (grouped DataSets)

alt tag

  • Horizontal-BarChart

alt tag

  • PieChart (with selection, ...)

alt tag

  • ScatterChart (with squares, triangles, circles, ... and more)

alt tag

  • CandleStickChart (for financial data)

alt tag

  • BubbleChart (area covered by bubbles indicates the value)

alt tag

  • RadarChart (spider web chart)

alt tag

License

You can use this library for any project, or custom, edit it if you want, no need license and permissions

Special thanks Daniel Cohen Gindi & Philipp Jahoda

More Repositories

1

SupportWidgetXF

SupportWidgetXF is a open source project that aims to provide a powerful and cross platform set of controls and helpers tailored to work with Xamarin Forms.
C#
59
star
2

SupportMediaXF

Take & Pick Photos Plugin for Xamarin Forms as same screen on all platform
C#
31
star
3

M2Mqtt

M2Mqtt is a MQTT client available for all .Net platforms (.Net Framework, .Net Compact Framework and .Net Micro Framework) and WinRT platforms (Windows 8.1, Windows Phone 8.1 and Windows 10) for Internet of Things and M2M communication.
Java
23
star
4

TEditor2

Awesome HTML editor in Xamarin.Forms
C#
17
star
5

SupportTourGuideXF

SupportTourGuideXF is an Android/iOS library, write by c#, based on Xamarin.Forms. It lets you add pointer, overlay and tooltip easily, guiding users on how to use your app.
C#
17
star
6

SupportXFLite

A simple MVVM Framework for Xamarin Forms, it helps you to quick setup a new Xamarin Forms project. I used this library in my personal project and my company also every day :)
C#
15
star
7

SupportSlideViewXF

C#
6
star
8

ChilkatBindingXF

If you want use Chilkat in the Xamarin.Forms project? Unfortunately, it's not something that Chilkat explicitly supports at this time. Check back in the future to see if this is still the case. Workaround: Binding native library to *.dll can use on the XF projectย :)
C#
6
star
9

LogRocketBinding

Binding wrap logrocket native library for xamarin
Objective-C
5
star
10

DefaultAPP_Lite

A simple demo for SupportXFLite MVVM Framework
C#
2
star
11

SupportEventCalendarXF

C#
2
star
12

omnicasa-mobile-swiftUI

Rebuild omnicasa mobile app by native SwiftUI + Mvvm + Reactive
Swift
2
star
13

BXBTCThailand

App get coins information from biggest crypto exchange of Thailand http://bx.in.th
Java
1
star
14

OmnicasaNative

This repository for an app called the name "OmnicasaNative," created by Swift, RxSwift, RxCocoa, MVVM, DependencyInjection by myself After the moment I remembered NativeiOS
Swift
1
star
15

MUICharts

A powerful ๐Ÿš€ Android/iOS chart view / graph view library for Microsoft MAUI, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, dragging and animations.
1
star
16

NABWeather

Swift
1
star
17

notificationtracker

C#
1
star
18

SupportSegmentedViewXF

Custom UI control for Xamain.Forms iOS/Android which is showing data as a segments and a value inside them.
C#
1
star
19

TodoApp

Swift
1
star