一、描述
</br>
主要介绍一下这个库的使用方法
二、环境配置
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
dependencies { compile 'com.github.PhilJay:MPAndroidChart:v3.0.1'}
二、使用说明
</br>
饼图:
//设置对应的数据和颜色值
initChart(new float[]{5f, 15f}, new Integer[]{Color.parseColor("#3BA6F5"), Color.parseColor("#AC804F")});
/**
* 描述:指定数据集合和颜色集合,显示对应的饼图
* values : 多个占有的值,
* colors : 对应值的颜色
* 作者:卜俊文
* 邮箱:344176791@qq.com
* 日期:17/1/8 下午5:21
*/
private void initChart(float[] values, Integer[] colors) {
mPieChart.setExtraOffsets(5, 10, 5, 5);
mPieChart.setUsePercentValues(false); //设置是否显示百分比
//设置不显示默认右下角的文字
Description description = new Description();
description.setEnabled(false);
mPieChart.setDescription(description);
//设置中间是否空心
mPieChart.setDrawHoleEnabled(false);
// 设置滑动减速摩擦系数
mPieChart.setDragDecelerationFrictionCoef(0.95f);
// 设置旋转角度 ??
mPieChart.setRotationAngle(0);
mPieChart.setRotationEnabled(true);
mPieChart.setHighlightPerTapEnabled(true); //设置饼图是否可点击放大
//设置饼图的数据,添加占1.0中多少的数值,比如1,就传入0.5f
List<PieEntry> data = new ArrayList<>();
float sum = 0;
for (float value : values) {
sum += value;
}
for (float value : values) {
data.add(new PieEntry(value / sum));
}
//添加对应的颜色值
List<Integer> colorSum = new ArrayList<>();
for (Integer color : colors) {
colorSum.add(color);
}
//设置数据
setData(data, colorSum);
// 设置动画
mPieChart.animateY(1400, Easing.EasingOption.EaseOutQuad);
// 关闭了对应饼图的颜色说明
mPieChart.getLegend().setEnabled(false); //关闭默认设置的颜色对应图形
}
public void setData(List<PieEntry> yVals1, List<Integer> colors) {
PieDataSet dataSet = new PieDataSet(yVals1, "Election Results");
// 设置饼图区块之间的距离
dataSet.setSliceSpace(2f);
dataSet.setSelectionShift(5f);
// 添加颜色
dataSet.setColors(colors);
PieData data1 = new PieData(dataSet);
data1.setValueFormatter(new PercentFormatter());
data1.setValueTextSize(10f);
data1.setValueTextColor(Color.parseColor("#00000000"));//这里直接设置透明的颜色了
mPieChart.setData(data1);
// undo all highlights
mPieChart.highlightValues(null);
mPieChart.invalidate();
}
四、总结
如果项目有混淆的话,就加入下面这句话,不然打包后没有动画
-keep class com.github.mikephil.charting.** { *; } # 确保MPAndroidChart加载动画可用
欢迎关注我的微信公众号,分享更多技术文章。