Android 中有好的图表库吗?还是用 HTML5 来画比较好?
学习是最好的投资!
很多的,如果题主的需求只是题目中的样子,自己写也很简单,自定义一个View依次将数组/列表中的数值绘制在屏幕上就可以了。 如果有其它需求,看这个Trinea整理的开源项目:
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
achartengine 强大的图表绘制工具,支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、拨号图/表、立方线图及各种图的结合 项目地址:https://code.google.com/p/achartengine/ 效果图:http://www.achartengine.org/dimages/sales_line_and_area_chart.pnghttp://www.achartengine.org/dimages/temperature_range_chart.pnghttp://www.achartengine.org/dimages/combined_chart.pnghttp://www.achartengine.org/dimages/budget_chart.png 官网网址:http://www.achartengine.org/ APP示例:Wordpress Android,Google Analytics
GraphView 绘制图表和曲线图的View,可用于Android上的曲形图、柱状图、波浪图展示 项目地址:https://github.com/jjoe64/GraphView Demo项目:https://github.com/jjoe64/GraphView-Demos APP示例:Wordpress Android,Google Analytics
HoloGraphLibrary 绘制现状图、柱状图、饼状图 项目地址:https://bitbucket.org/danielnadeau/holographlibrary/src 文档介绍:https://bitbucket.org/danielnadeau/holographlibrary/wiki/Home
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
EazeGraph Android 图表库,支持柱状图、分层柱状图、饼状图、线性图 项目地址:https://github.com/blackfizz/EazeGraph Demo地址:https://play.google.com/store/apps/details?id=org.eazegraph.app
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 效果图:
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
androidplot 这种?
不需要Html5,一般是直接在canvas上绘图了. 成熟的图表库也很多.. 随便列2个:
XCL-Chartshttps://github.com/xcltapestry/XCL-Charts
MPAndroidCharthttps://github.com/PhilJay/MPAndroidChart
有一些开源工具。如果想自己实现的话,可以用android.graphics包提供的工具绘制。 关键是定义这样几个类: 1.表示每条折现的数据模型,可以对数据进行增删改查等操作,这部分主要是设计数据结构 2.折线的绘制类,包含一个draw(Canvas canvas,Paint paint)方法,在方法内完成绘制 3.图表的数据模型,包含有要绘制的折线的引用,以及一些坐标系属性等。 4.自定义View来呈现上述图标,重写onDraw(Canvas canvas)方法,在该方法内逐个调用每条折线的draw方法 1和2,以及3和4可以合并定义为一个类,也就是既管理数据,又包含一个负责绘图的方法。 具体实现比上述要复杂,但是大体上是这个思路。
很多的,如果题主的需求只是题目中的样子,自己写也很简单,自定义一个View依次将数组/列表中的数值绘制在屏幕上就可以了。
如果有其它需求,看这个Trinea整理的开源项目:
十四、GraphView
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
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
GraphView
绘制图表和曲线图的View,可用于Android上的曲形图、柱状图、波浪图展示
项目地址:https://github.com/jjoe64/GraphView
Demo项目:https://github.com/jjoe64/GraphView-Demos
APP示例:Wordpress Android,Google Analytics
HoloGraphLibrary
绘制现状图、柱状图、饼状图
项目地址:https://bitbucket.org/danielnadeau/holographlibrary/src
文档介绍:https://bitbucket.org/danielnadeau/holographlibrary/wiki/Home
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
EazeGraph
Android 图表库,支持柱状图、分层柱状图、饼状图、线性图
项目地址:https://github.com/blackfizz/EazeGraph
Demo地址:https://play.google.com/store/apps/details?id=org.eazegraph.app
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
效果图:
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
androidplot 这种?
不需要Html5,一般是直接在canvas上绘图了.
成熟的图表库也很多..
随便列2个:
XCL-Charts
https://github.com/xcltapestry/XCL-Charts
MPAndroidChart
https://github.com/PhilJay/MPAndroidChart
有一些开源工具。如果想自己实现的话,可以用android.graphics包提供的工具绘制。
关键是定义这样几个类:
1.表示每条折现的数据模型,可以对数据进行增删改查等操作,这部分主要是设计数据结构
2.折线的绘制类,包含一个draw(Canvas canvas,Paint paint)方法,在方法内完成绘制
3.图表的数据模型,包含有要绘制的折线的引用,以及一些坐标系属性等。
4.自定义View来呈现上述图标,重写onDraw(Canvas canvas)方法,在该方法内逐个调用每条折线的draw方法
1和2,以及3和4可以合并定义为一个类,也就是既管理数据,又包含一个负责绘图的方法。
具体实现比上述要复杂,但是大体上是这个思路。