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_range_chart.phttp://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_range_chart.phttp://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可以合併定義為一個類,也就是既管理數據,又包含一個負責繪圖的方法。
具體實現比上述複雜,但大體上是這個思路。