最近專案中需要用到圖表,技術有限,自己實現起來有難度,於是對比之後,最終決定使用hellocharts這個開源庫,傳送門:https://github.com/lecho/hellocharts-android ,一是因為引入方便,二是程式碼也比較清晰,便於加到專案中。還有一個重要的原因,這個庫可以支援折線表,柱狀表,餅狀表以及氣泡狀表,而且實現的效果非常棒,放幾張圖大家感受一下:
怎麼樣,效果是不是非常炫啊,下面我們來看看怎麼使用吧。 PS:本文操作基於Android Studio匯入hellocharts
有三種方式可以在我們的專案中使用hellocharts。
- 感謝Android Studio,讓我們可以非常方便的使用一些開源的庫,如果你的開發工具是它的話,那麼引入專案非常簡單,只需要在你的app下的build檔案的dependencies閉包中新增如下程式碼,然後同步即可:
dependencies{
compile 'com.github.lecho:hellocharts-library:1.5.8@aar'
}
複製程式碼
- 當然,我們也可以下載最新的jar包來匯入使用,點選https://github.com/lecho/hellocharts-android/releases ,會看到作者釋出的最新jar包。下載jar包之後,放到app目錄下的libs資料夾下,然後同步專案即可。
- 前兩種方法雖然比較方便,但是不能修改庫的原始碼,有時候我們需要在開源庫的基礎上做一些修改,這個時候我們就可以以新增module的方式來匯入。匯入過程也非常簡單。 首先,我們可以在專案主頁將程式碼下載到本地。有兩種方式:
基本折線表的使用
經過以上幾步,我們的專案現在已經成功即成了hellocharts,下面我們來簡單看下最基本的圖表-折線表是如何使用的吧。 首先,在xml檔案中新增折線表控制元件:
<lecho.lib.hellocharts.view.LineChartView
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="match_parent" />
複製程式碼
在hellocharts中,每種圖表都有它自己的一個資料型別,在折線表中,最終設定給圖表顯示的是LineChartData,我們可以簡單想下,這個資料中肯定包含線,線上的點,以及座標軸,下面我們分別用程式碼來展現。
- 宣告一條折線
Line line = new Line(values).setColor(Color.BLUE);//宣告線並設定顏色
line.setCubic(false);//設定是平滑的還是直的
lines = new ArrayList<Line>();
lines.add(line);
複製程式碼
- 初始化折線上的點
values = new ArrayList<PointValue>();//折線上的點
values.add(new PointValue(0, 2));
values.add(new PointValue(1, 4));
values.add(new PointValue(2, 3));
values.add(new PointValue(3, 4));
複製程式碼
- 設定折線表相關屬性和資料
mChartView.setInteractive(true);//設定圖表是可以互動的(拖拽,縮放等效果的前提)
mChartView.setZoomType(ZoomType.HORIZONTAL_AND_VERTICAL);//設定縮放方向
LineChartData data = new LineChartData();
Axis axisX = new Axis();//x軸
Axis axisY = new Axis();//y軸
data.setAxisXBottom(axisX);
data.setAxisYLeft(axisY);
data.setLines(lines);
mChartView.setLineChartData(data);//給圖表設定資料
複製程式碼
經過這幾步簡單的設定(最後會放上demo地址),我們已經可以看到基本的折線圖效果了:
到這裡,我們已經成功的使用hellocharts這個強大的圖表庫來展示了一個基本的折線圖表,裡邊兒還有很多炫酷的用法等待我們去發掘。最後放上demo地址:https://github.com/SolveBugs/HelloChartDemo