前言
2021-4-16 記錄今天學習的內容
以下是本篇文章正文內容,下面案例可供參考
一、MpAndroidChart是什么?
MpAndroidChart是基于Android的開源圖表庫,它能夠實作很多常用的圖表型別.如線性圖,餅圖,柱狀圖和散點圖.它還提供了一些對圖表的操作功能,如:拖拽,縮放,顯示影片效果等.
檔案地址: https://github.com/PhilJay/MPAndroidChart
實作效果

二、匯入依賴
1.在根檔案目錄下引入
代碼如下(示例):
maven{url 'https://jitpack.io'}
2.在APP目錄下匯入依賴

代碼如下(示例):
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
二、正文
代碼如下(示例):
private void initBarChart() {
//沒有資料顯示這里面的
mBarChart.setNoDataText("沒有資料哦");
// 設定是否可以縮放
mBarChart.setScaleEnabled(false);
//設定雙擊不放大
mBarChart.setDoubleTapToZoomEnabled(false);
//設定控制元件之間的間距
mBarChart.setExtraOffsets(20,20,20,20);
//獲取XAxis 獲取XAxis setDrawGridLines:設定繪圖網格線
mBarChart.getXAxis().setDrawGridLines(false);
//獲取描述,是否顯示右下角描述
mBarChart.getDescription().setEnabled(false);
//獲取圖例,是否顯示圖例
mBarChart.getLegend().setEnabled(false);
// 設定執行的影片,XY軸
mBarChart.animateXY(2500,2500);
//設定傾斜角度 setLabelRotationAngle:設定旋轉角度
// mBarChart.getXAxis().setLabelRotationAngle(-30);
//獲取X軸
XAxis xAxis = mBarChart.getXAxis();
//設定X軸的位置
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
//設定X軸min數值
xAxis.setAxisMinimum(0f);
//設定X軸Max數值
xAxis.setAxisMaximum(list.size());
//設定可視范圍,0-5,可以防止X軸資料過長導致遮擋其他X軸資料
mBarChart.setVisibleXRange(0,5);
//設定X軸最大范圍
xAxis.setLabelCount(list.size());
//使得左邊柱子完全顯示
xAxis.setAxisMinimum(0.5f);
//不繪制格網線
// xAxis.setDrawGridLines(false);
//設定與頂部的距離
// mBarChart.setExtraTopOffset(30);
//設定最小間隔,防止當放大時,出現重復標簽,
xAxis.setGranularity(1);
//設定x軸顯示的值
xAxis.setValueFormatter(new ValueFormatter() {
@Override
public String getFormattedValue(float value) {
//判斷value的值是否小于陣列長度
if((int)value<list.size()){
return list.get((int)value).getName();
}else{
return "";
}
}
});
//設定X軸標簽與Y軸的間距
xAxis.setYOffset(10);
//設定y軸,y軸有兩條,分別是左邊和右邊,右邊一邊不常用可以隱藏
//獲取右邊的y軸
YAxis axisRight = mBarChart.getAxisRight();
//將右邊的y軸設定為不顯示
axisRight.setEnabled(false);
//獲取左邊的y軸
YAxis axisLeft = mBarChart.getAxisLeft();
//設定y軸最大值
axisLeft.setAxisMaximum(40f);
//設定y軸最低值
axisLeft.setAxisMinimum(0f);
//設定y標簽字體大小
axisLeft.setTextSize(15f);
//設定BarEntry集合,用來存放柱狀圖的數值
List<BarEntry>barEntries = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
barEntries.add(new BarEntry(i,Float.parseFloat(list.get(i).getReward())));
}
//將資料添加到BarDataSet中,
BarDataSet barDataSet1 = new BarDataSet(barEntries,"");
//柱狀圖數值顏色
barDataSet1.setValueTextColor(Color.RED);
//柱狀圖數值的大小(文字大小)
barDataSet1.setValueTextSize(15f);
//柱狀圖對應的顏色
barDataSet1.setColor(Color.parseColor("#03A9F4"));
BarData barData = new BarData(barDataSet1);
//設定柱子的寬度
barData.setBarWidth(0.3f);
//將資料添加到組件中
mBarChart.setData(barData);
//重繪圖表,
mBarChart.invalidate();
}
xxxx.xml代碼:
<com.github.mikephil.charting.charts.BarChart
android:id="@+id/record_barchart"
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="match_parent" />
總結
以上就是今天要講的內容,本文僅僅簡單介紹了MpAndroidChart繪制柱狀圖,而MpAndroidChart提供了圖表的操作功能.轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/277066.html
標籤:其他
上一篇:Android Sqlite資料庫中基礎的增刪改查操作
下一篇:ios不顯示拍照和相冊選中的圖片
