首页 > Android 中如何实现如图所示的图表?

Android 中如何实现如图所示的图表?

Android 中有好的图表库吗?还是用 HTML5 来画比较好?


很多的,如果题主的需求只是题目中的样子,自己写也很简单,自定义一个View依次将数组/列表中的数值绘制在屏幕上就可以了。
如果有其它需求,看这个Trinea整理的开源项目:

十四、GraphView

  1. MPAndroidChart
    强大的图表绘制工具,支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、网状图及各种图的结合;支持图的拖拽缩放;支持 Android 2.2 以上,支持横纵轴缩放,多指缩放,展现动画、高亮、保存到 sdcard、从文件读取图表
    项目地址:https://github.com/PhilJay/MPAndroidChart
    Demo地址:https://play.google.com/store/apps/details?id=com.xxmassdeveloper.mpchartexample
    Demo项目:https://github.com/PhilJay/MPAndroidChart/tree/master/MPChartExample
    效果图:





    在线演示:https://www.youtube.com/watch?v=ufaK_Hd6BpI

  2. achartengine
    强大的图表绘制工具,支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、拨号图/表、立方线图及各种图的结合
    项目地址:https://code.google.com/p/achartengine/
    效果图:
    http://www.achartengine.org/dimages/sales_line_and_area_chart.png
    http://www.achartengine.org/dimages/temperature_range_chart.png
    http://www.achartengine.org/dimages/combined_chart.png
    http://www.achartengine.org/dimages/budget_chart.png
    官网网址:http://www.achartengine.org/
    APP示例:Wordpress Android,Google Analytics

  3. GraphView
    绘制图表和曲线图的View,可用于Android上的曲形图、柱状图、波浪图展示
    项目地址:https://github.com/jjoe64/GraphView
    Demo项目:https://github.com/jjoe64/GraphView-Demos
    APP示例:Wordpress Android,Google Analytics

  4. HoloGraphLibrary
    绘制现状图、柱状图、饼状图
    项目地址:https://bitbucket.org/danielnadeau/holographlibrary/src
    文档介绍:https://bitbucket.org/danielnadeau/holographlibrary/wiki/Home

  5. XCL-Charts
    XCL-Charts基于原生的Canvas来绘制各种图表,在设计时,尽量在保证开发效率的同时,给使用者提供足够多的定制化能力。因此使用简便,同时具有相当灵活的定制能力。目前支持3D/非3D柱形图(Bar Chart)、3D/非3D饼图(Pie Chart)、堆���图(Stacked Bar Chart)、面积图(Area Chart)、 折线图(Line Chart)、曲线图(Spline Chart)、环形图(Dount Chart)、南丁格尔玫瑰图(Rose Chart)、仪表盘(Dial Chart)、刻度盘(Gauge Chart)、雷达图(Radar Chart)、圆形图(Circle Chart)等图表。其它特性还包括支持图表缩放、手势移动、动画显示效果、高密度柱形显示、图表分界定制线、多图表的混合显示及同数据源不同类型图表切换等。
    项目地址:https://github.com/xcltapestry/XCL-Charts
    Demo地址:https://github.com/xcltapestry/XCL-Charts/blob/master/XCL-Charts-demo/bin/XCL-Charts-demo.apk?raw=true

  6. EazeGraph
    Android 图表库,支持柱状图、分层柱状图、饼状图、线性图
    项目地址:https://github.com/blackfizz/EazeGraph
    Demo地址:https://play.google.com/store/apps/details?id=org.eazegraph.app

  7. WilliamChart
    绘制图表的库,支持LineChartView、BarChartView和StackBarChartView三中图表类型,并且支持 Android 2.2及以上的系统。
    项目地址:https://github.com/diogobernardino/WilliamChart
    Demo地址:https://play.google.com/store/apps/details?id=com.db.williamchartdemo
    Demo项目:https://github.com/diogobernardino/WilliamChart/tree/master/sample
    效果图:

  8. HelloCharts for Android
    支持折线图、柱状图、饼图、气泡图、组合图;支持预览、放大缩小,滚动,部分图表支持动画;支持 Android 2.2 以上
    项目地址:https://github.com/lecho/hellocharts-android
    Demo地址:https://play.google.com/store/apps/details?id=lecho.lib.hellocharts.samples
    在线演示:https://www.youtube.com/watch?v=xbSBjyjH2SY


有一些开源工具。如果想自己实现的话,可以用android.graphics包提供的工具绘制。
关键是定义这样几个类:
1.表示每条折现的数据模型,可以对数据进行增删改查等操作,这部分主要是设计数据结构
2.折线的绘制类,包含一个draw(Canvas canvas,Paint paint)方法,在方法内完成绘制
3.图表的数据模型,包含有要绘制的折线的引用,以及一些坐标系属性等。
4.自定义View来呈现上述图标,重写onDraw(Canvas canvas)方法,在该方法内逐个调用每条折线的draw方法
1和2,以及3和4可以合并定义为一个类,也就是既管理数据,又包含一个负责绘图的方法。
具体实现比上述要复杂,但是大体上是这个思路。


androidplot 这种?


不需要Html5,一般是直接在canvas上绘图了.
成熟的图表库也很多..
随便列2个:

XCL-Charts
https://github.com/xcltapestry/XCL-Charts

MPAndroidChart
https://github.com/PhilJay/MPAndroidChart

【热门文章】
【热门文章】