搜尋

首頁  >  問答  >  主體

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

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

PHPzPHPz2772 天前1043

全部回覆(4)我來回復

  • ringa_lee

    ringa_lee2017-04-17 13:00:48

    很多的,如果題主的需求只是題目中的樣子,自己寫也很簡單,自訂一個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_range_chart.p< >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

    回覆
    0
  • 黄舟

    黄舟2017-04-17 13:00:48

    androidplot 這種?

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 13:00:48

    不需要Html5,一般是直接在canvas上繪圖了.
    成熟的圖表庫也很多..
    隨便列2個:

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

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

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 13:00:48

    有一些開源工具。如果想自己實作的話,可以用android.graphics套件提供的工具來繪製。
    關鍵是定義這樣幾個類別:
    1.表示每條折現的資料模型,可以對資料進行增刪改查等操作,這部分主要是設計資料結構
    2.折線的繪製類,包含一個draw(Canvas canvas,Paint paint)方法,在方法內完成繪製
    3.圖表的資料模型,包含要繪製的折線的引用,以及一些座標系屬性等。
    4.自訂View來呈現上述圖標,重寫onDraw(Canvas canvas)方法,在該方法內逐一調用每條折線的draw方法
    1和2,以及3和4可以合併定義為一個類,也就是既管理數據,又包含一個負責繪圖的方法。
    具體實現比上述複雜,但大體上是這個思路。

    回覆
    0
  • 取消回覆