private void setData(int count, float range) { ArrayList<PieEntry> values = new ArrayList<>(); for (int i = 0; i < count; i++) { values.add(new PieEntry((float) ((Math.random() * range) + range / 5), parties[i % parties.length])); } PieDataSet dataSet = new PieDataSet(values, "Election Results"); dataSet.setSliceSpace(3f); dataSet.setSelectionShift(5f); dataSet.setColors(ColorTemplate.MATERIAL_COLORS); //dataSet.setSelectionShift(0f); PieData data = new PieData(dataSet); data.setValueFormatter(new PercentFormatter()); data.setValueTextSize(11f); data.setValueTextColor(Color.WHITE); data.setValueTypeface(tfLight); chart.setData(data); chart.invalidate(); }
chart.invalidate(); break; chart.invalidate(); break; else chart.setDrawHoleEnabled(true); chart.invalidate(); break; chart.setMinAngleForSlices(0f); chart.notifyDataSetChanged(); chart.invalidate(); break; chart.invalidate(); break; else chart.setDrawCenterText(true); chart.invalidate(); break; chart.invalidate(); break; chart.invalidate(); break;
chart.invalidate(); break; else chart.setDrawHoleEnabled(true); chart.invalidate(); break; chart.setMinAngleForSlices(0f); chart.notifyDataSetChanged(); chart.invalidate(); break; chart.invalidate(); break; else chart.setDrawCenterText(true); chart.invalidate(); break; chart.invalidate(); break; chart.invalidate(); break; case R.id.animateX: {
/** * 设置初始旋转动画 * * @param mChart */ public static void setAnimate(PieChart mChart) { //--------------设置动画---------------------- mChart.animateY(1000, Easing.EasingOption.EaseInOutQuad); mChart.invalidate(); }
/** * 设置初始旋转动画 * @param mChart */ public static void setAnimate(PieChart mChart){ //--------------设置动画---------------------- mChart.animateY(1000, Easing.EasingOption.EaseInOutQuad); mChart.invalidate(); }
/** * 设置描述信息 * * @param str */ public void setDescription(String str) { Description description = new Description(); description.setText(str); pieChart.setDescription(description); pieChart.invalidate(); } }
/** * 设置饼状图中间的描述内容 * * @param str */ public void setCenterDescription(String str, int color) { pieChart.setCenterText(str); pieChart.setCenterTextColor(color); pieChart.setCenterTextSize(12); pieChart.invalidate(); }
/** * 设置饼状图 * * @param name 饼状图分类的名字 * @param date 数值 * @param colors 颜色集合 */ public void setPieChart(List<String> name, List<Float> date, List<Integer> colors) { List<PieEntry> yValue = new ArrayList<>(); for (int i = 0; i < date.size(); i++) { PieEntry entry = new PieEntry(date.get(i), name.get(i)); yValue.add(entry); } PieDataSet set = new PieDataSet(yValue, ""); set.setDrawValues(true); set.setValueTextSize(12); set.setColors(colors); set.setValueTextColor(Color.WHITE); PieData data = new PieData(set); pieChart.setData(data); pieChart.invalidate(); // refresh }
/** * 设置饼图数据源 */ private static void setPieChartData(PieChart pieChart, Map<String, Float> pieValues) { ArrayList<PieEntry> entries = new ArrayList<>(); Set set = pieValues.entrySet(); Iterator it = set.iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); entries.add(new PieEntry(Float.valueOf(entry.getValue().toString()), entry.getKey().toString())); } PieDataSet dataSet = new PieDataSet(entries, ""); dataSet.setSliceSpace(3f);//设置饼块之间的间隔 dataSet.setSelectionShift(5f);//设置饼块选中时偏离饼图中心的距离 dataSet.setColors(PIE_COLORS);//设置饼块的颜色 dataSet.setValueLinePart1OffsetPercentage(80f);//数据连接线距图形片内部边界的距离,为百分数 dataSet.setValueLinePart1Length(0.3f); dataSet.setValueLinePart2Length(0.4f); dataSet.setValueLineColor(Color.BLUE);//设置连接线的颜色 dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE); PieData pieData = new PieData(dataSet); pieData.setValueFormatter(new PercentFormatter()); pieData.setValueTextSize(11f); pieData.setValueTextColor(Color.DKGRAY); pieChart.setData(pieData); pieChart.highlightValues(null); pieChart.invalidate(); }
/** * 设实心饼状图 * * @param name 饼状图分类的名字 * @param date 数值 * @param colors 颜色集合 */ public void setSolidPieChart(List<String> name, List<Float> date, List<Integer> colors) { pieChart.setHoleRadius(0);//实心圆 pieChart.setTransparentCircleRadius(0);// 半透明圈 pieChart.setDrawCenterText(false);//饼状图中间不可以添加文字 List<PieEntry> yValue = new ArrayList<>(); for (int i = 0; i < date.size(); i++) { PieEntry entry = new PieEntry(date.get(i), name.get(i)); yValue.add(entry); } PieDataSet set = new PieDataSet(yValue, ""); set.setDrawValues(true); set.setValueTextSize(12); set.setColors(colors); set.setValueTextColor(Color.WHITE); PieData data = new PieData(set); pieChart.setData(data); pieChart.invalidate(); // refresh }
set.setDrawValues(!set.isDrawValuesEnabled()); mChart.invalidate(); break; else mChart.setDrawHoleEnabled(true); mChart.invalidate(); break; else mChart.setDrawCenterText(true); mChart.invalidate(); break; mChart.invalidate(); break; mChart.invalidate(); break; case R.id.animateX: {
private void setData(int count, float range) { ArrayList<PieEntry> values = new ArrayList<PieEntry>(); for (int i = 0; i < count; i++) { values.add(new PieEntry((float) ((Math.random() * range) + range / 5), mParties[i % mParties.length])); } PieDataSet dataSet = new PieDataSet(values, "Election Results"); dataSet.setSliceSpace(3f); dataSet.setSelectionShift(5f); dataSet.setColors(ColorTemplate.MATERIAL_COLORS); //dataSet.setSelectionShift(0f); PieData data = new PieData(dataSet); data.setValueFormatter(new PercentFormatter()); data.setValueTextSize(11f); data.setValueTextColor(Color.WHITE); data.setValueTypeface(mTfLight); mChart.setData(data); mChart.invalidate(); }
set.setDrawValues(!set.isDrawValuesEnabled()); mChart.invalidate(); break; else mChart.setDrawHoleEnabled(true); mChart.invalidate(); break; else mChart.setDrawCenterText(true); mChart.invalidate(); break; mChart.invalidate(); break; mChart.invalidate(); break; case R.id.animateX: {
mChart.invalidate();
mChart.invalidate();