I am trying to find a fast and reliable charting library. After some searching, I found 4 libraries: AChartEngine [warning! official website is down and redirects to virus filled website!], WilliamChart, HelloCharts and AndroidPlot. I need some up to date feedback about the performance and the stability of these libraries because all the information I could find was outdated.
You can use MPAndroidChart.
It’s native, free, easy to use, fast and reliable.
Core features, benefits:
- LineChart, BarChart (vertical, horizontal, stacked, grouped), PieChart, ScatterChart, CandleStickChart (for financial data), RadarChart (spider web chart), BubbleChart
- Combined Charts (e.g. lines and bars in one)
- Scaling on both axes (with touch-gesture, axes separately or pinch-zoom)
- Dragging / Panning (with touch-gesture)
- Separate (dual) y-axes
- Highlighting values (with customizeable popup-views)
- Save chart to SD-Card (as image)
- Predefined color templates
- Legends (generated automatically, customizeable)
- Customizeable Axes (both x- and y-axis)
- Animations (build up animations, on both x- and y-axis)
- Limit lines (providing additional information, maximums, …)
- Listeners for touch, gesture & selection callbacks
- Fully customizeable (paints, typefaces, legends, colors, background, dashed lines, …)
- Realm.io mobile database support via MPAndroidChart-Realm library
- Smooth rendering for up to 10.000 data points in Line- and BarChart
- Lightweight (method count ~1.4K)
- Available as .jar file (only 500kb in size)
- Available as gradle dependency and via maven
- Good documentation
- Example Project (code for demo-application)
- Google-PlayStore Demo Application
- Widely used, great support on both GitHub and stackoverflow – mpandroidchart
- Also available for iOS: Charts (API works the same way)
- Also available for Xamarin: MPAndroidChart.Xamarin
- No official support for dynamic & realtime data, limited performance in that area
Disclaimer: I am the developer of this library.
See Android arsenal (category Graphics) for more libraries.
If you’re looking for something more straight forward to implement (and it doesn’t include pie/donut charts) then I recommend WilliamChart. Specially if motion takes an important role in your app design. In other hand if you want featured charts, then go for MPAndroidChart.
You can create a plethora of different chart types relatively quickly with loads of customizable options.
- Achartengine: I have used this. Although for real time graph this might not give good performance if you do not tweak properly.