mikephil.charting.charts.PieChart的使用

 
 

XML:

<com.github.mikephil.charting.charts.PieChart android:id="@+id/mPieChart" android:layout_width="match_parent" android:layout_height="250dp" android:layout_below="@id/toolbar2" android:layout_marginTop="10dp" android:layout_weight="1" android:text="Hello World!" android:visibility="visible"> com.github.mikephil.charting.charts.PieChart>

填写数据后才有饼状图显示!

mikephil.charting.charts.PieChart的使用_第1张图片

JAVA:

 

private void initPieChart() { //mChart.setVisibility(View.VISIBLE); ArrayList <Entry> yVals = new ArrayList <>(); //值坐标 ArrayList <String> xVals = new ArrayList <>();//对应的Lable,可以理解成X轴 for (int i = 0; i < property.size(); i++) { xVals.add(property.get(i)); yVals.add(new Entry(cost.get(i), i)); } //property是属性(中文字)cost是消费(数字),将两种数据传入yVals以及xVals以加入到饼状图绘制

 

mChart.setExtraOffsets(10, 10, 10, 10); //设置饼图与上下左右边界的距离 //mChart.setUsePercentValues(true);// 是否使用百分比 PieDataSet pieDataSet = new PieDataSet(yVals, "");//创建饼图的一个数据集 pieDataSet.setValueTextSize(11f); pieDataSet.setColors(COLORFUL); //设置成丰富多彩的颜色

//  int COLORFUL[] = new int[]{Color.rgb(236,250,251),
//        Color.rgb(129,203,200),
//        Color.rgb(74,166,181),
//        Color.rgb(214,196,129),
//       Color.rgb(53,176,171)};

//DisplayMetrics metrics = getResources().getDisplayMetrics(); //float px = 10 * (metrics.densityDpi / 160f); //pieDataSet.setSelectionShift(px); //点击后延伸出来的长度 PieData piedata = new PieData(xVals, pieDataSet);//生成PieData mChart.setData(piedata);//给PieChart填充数据 mChart.getLegend().setPosition(Legend.LegendPosition.BELOW_CHART_RIGHT); mChart.getLegend().setForm(Legend.LegendForm.SQUARE);//设置注解的位置和形状 mChart.getLegend().setTextSize(12); mChart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {//设置值选择时的Listener @Override public void onValueSelected(Entry entry, int i, Highlight highlight) { mChart.animateX(400);//绕X轴旋转(越低越快) } @Override public void onNothingSelected() { } }); mChart.setCenterText("支出");//中间写的文字 mChart.setCenterTextColor(Color.BLACK);//设置中间文字的颜色 mChart.setCenterTextRadiusPercent(0.5f);//设置文字显示的角度,180横着,默认是竖着 mChart.setCenterTextSize(12f);//设置中心文字的字体大小 mChart.setCenterTextTypeface(null);//设置字体 mChart.setDrawCenterText(true);//中心字使能开关,false时中间无法显示文字 mChart.setTransparentCircleAlpha(100);//透明圈的透明度,分3圈,一个是外面的值,然后是这个,然后就是下面的那个Hole mChart.setTransparentCircleColor(Color.WHITE); //设置颜色 mChart.setTransparentCircleRadius(40f);//设置半径 mChart.setDrawHoleEnabled(true);//基本同上 mChart.setHoleColor(Color.WHITE); mChart.setHoleRadius(30f); mChart.setDescription("");//设置描述文字 mChart.setDescriptionTextSize(20.f);//设置描述文字的字体 mChart.animateY( 1000); //绕Y轴旋转(越低越快)}

 

你可能感兴趣的:(Android)