安卓图表库

114

我正在寻找一个快速可靠的图表库。经过一番搜索,我找到了4个库:AChartEngine [警告!官方网站已经关闭并重定向到含有病毒的网站!]、WilliamChartHelloChartsAndroidPlot。我需要一些关于这些库的性能和稳定性的最新反馈,因为我找到的所有信息都过时了。


1
目前我正在开发外汇移动客户端应用程序。需要蜡烛图表。我们花了很多时间,AChartEngine看起来比其他工具更好。我在几个小时内将其渲染时间从每帧的270ms优化到了80ms - Oleksii K.
1
可能是Android图表:achartengine还是AndroidPlot?的重复问题。 - Bartosz Bilicki
2
这里有一些非常最新的信息,比较了5个图表库以及一个新来者SciChart的Android图表性能:http://www.scichart.com/android-chart-performance-comparison/ - Dr. Andrew Burnett-Thompson
另外:Android图表库比较 - Nick
1
AChartEngine看起来已经被放弃了。AndroidPlot和MPAndroidChart看起来不错——我特别喜欢MPAndroidChart的演示源代码。 - Someone Somewhere
显示剩余3条评论
5个回答

188

你可以使用MPAndroidChart

它是原生的、免费的、易于使用的、快速的和可靠的。

核心功能, 优点:

  • LineChart,BarChart(垂直、水平、堆叠、分组),PieChart,ScatterChart,CandleStickChart(用于金融数据),RadarChart(蜘蛛网图表),BubbleChart
  • 组合图表(例如在一个图表中同时包含线条和柱状图)
  • 两个轴的缩放(使用触摸手势,可以分别调整轴或者通过捏合缩放)
  • 拖动/平移(使用触摸手势)
  • 分离(双重)y轴
  • 突出显示值(使用可自定义的弹出视图)
  • 将图表保存到SD卡中(作为图像)
  • 预定义颜色模板
  • 图例(自动生成,可自定义)
  • 可自定义的坐标轴(x轴和y轴均可)
  • 动画(在x轴和y轴上都可以进行构建动画)
  • 限制线(提供附加信息,最大值等)
  • 触摸、手势和选择回调的监听器
  • 完全可自定义(绘画、字体、图例、颜色、背景、虚线等)
  • 通过MPAndroidChart-Realm库支持Realm.io移动数据库
  • 在Line-和BarChart中顺畅地渲染高达10,000个数据点
  • 轻量级(方法数量约为1.4K)
  • 可用作.jar文件(大小仅为500kb)
  • 可通过gradle依赖项和通过maven获取
  • 良好的documentation文档
  • Example Project(演示应用程序的代码)
  • Google-PlayStore Demo Application(Google Play商店中的演示应用程序)
  • 被广泛使用,在GitHub和stackoverflow上得到了极佳的支持 - mpandroidchart
  • 也适用于iOSCharts(API的工作方式相同)
  • 也适用于XamarinMPAndroidChart.Xamarin

缺点:

免责声明:我是这个库的开发者。


我不会担心多达1000个对象 - 如果您正在使用线条或柱状图,那么10000-20000个对象应该是可能的。 - Philipp Jahoda
我目前正在使用MpChart,在三年前的平板电脑上,我可以轻松绘制多达15000个点 ;) - andrea.rinaldi
3
图书馆大约有1,400个方法。与其他库相比,这不是一个非常大的数字,除非您拥有大量其他库或具有显着更高方法计数的库(例如Play服务30K,AppCompat 12K等),否则不应真正影响65K限制。这意味着优化可能更适用于其他地方。此外,可以使用超过65K个方法构建应用程序 - Philipp Jahoda
7
我必须说,缺乏时间序列是一个很大的缺陷。我花了一些时间来整合这个很棒的库,但我发现无法正确地按照日期/时间缩放X轴。 - Benoit Duffez
1
似乎MPAndroidChart仅支持X轴等距值,这是一个劣势。 - ivan
显示剩余13条评论

87

13
这是最佳答案,因为它提供了可能的库的全面列表。 - chenshuiluke
1
根据 Android Arsenal,最好的图表库是 MPAndroidChart。 - Yohanim
@chenshuiluke 不幸的是,除了一个库之外,其他都已经失效了 :-\ - t3chb0t

15

如果您想要实现更加简单直接的内容(不包括饼图/环形图),我推荐使用WilliamChart。特别是如果动画在您的应用设计中起着重要作用的话。另一方面,如果您需要一些主流的图表,则可以选择MPAndroidChart


我需要在我的应用程序中使用饼图类型,这就是为什么我选择了MPAndroidChart的原因,此外它还具有一些不错的渲染图表。 - user3488996

6

AchartEngine

您可以快速创建多种不同类型的图表,有许多可自定义的选项。


5
  • Achartengine:我用过它。虽然对于实时图表,如果您没有适当地进行调整,可能性能不佳。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接