com.zx.zxutils.views.MPChart.ZXPieChart类的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(3.4k)|赞(0)|评价(0)|浏览(81)

本文整理了Java中com.zx.zxutils.views.MPChart.ZXPieChart类的一些代码示例,展示了ZXPieChart类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZXPieChart类的具体详情如下:
包路径:com.zx.zxutils.views.MPChart.ZXPieChart
类名称:ZXPieChart

ZXPieChart介绍

暂无

代码示例

代码示例来源:origin: StannyBing/ZXUtils

private void initPieChart() {
  pieChart = (ZXPieChart) findViewById(R.id.mp_piechart);
  List<ChartKeyValue> pieDataList = new ArrayList<>();
  for (int i = 0; i < 20; i++) {
    pieDataList.add(new ChartKeyValue("第" + i + "个", (int) (Math.random() * 1000)));
  }
  pieChart.addData(pieDataList, "MPAndroidChart")
      .addComplete(2000);
}

代码示例来源:origin: StannyBing/ZXUtils

private void initPieChart(Context context) {
    this.context = context;
    //设置标记
    Description description = new Description();
//        description.setText("重庆知行");
    description.setText("");
    description.setTextColor(ContextCompat.getColor(context, R.color.lightgray));
    description.setYOffset(10);
    setDescription(description);

    //属性设置
    setNoDataText("暂未获取到数据");
    setNoDataTextColor(ContextCompat.getColor(context, R.color.deepskyblue));
    setDrawEntryLabels(true);//将此设置为true以将x值文本绘制到饼图切片中
    setUsePercentValues(true);//如果启用此选项,图表中的值将以百分比形式绘制,而不是以原始值绘制。ValueFormatter为格式提供的值随后以百分比形式提供。
    setHoleRadius(40);//设置大圆里面小圆半径,和洞不是一个圆
    setTransparentCircleRadius(43);

    //图例设置
    getLegend().setHorizontalAlignment(Legend.LegendHorizontalAlignment.RIGHT);//图例的横向位置
    getLegend().setVerticalAlignment(Legend.LegendVerticalAlignment.TOP);//图例的纵向位置
    getLegend().setDrawInside(true);
    getLegend().setForm(Legend.LegendForm.CIRCLE);//图例的样式
    getLegend().setWordWrapEnabled(true);
    getLegend().setOrientation(Legend.LegendOrientation.VERTICAL);//设置图例纵向排列
  }

代码示例来源:origin: StannyBing/ZXUtils

public ZXPieChart(Context context, AttributeSet attrs) {
  super(context, attrs);
  initPieChart(context);
}

代码示例来源:origin: StannyBing/ZXUtils

public void clear() {
  pieData = new PieData(new PieDataSet(new ArrayList<PieEntry>(), ""));
  addComplete(1);
}

代码示例来源:origin: StannyBing/ZXUtils

/**
 * 添加data
 *
 * @param pieDataList
 * @param label
 */
public ZXPieChart addData(List<ChartKeyValue> pieDataList, String label) {
  setCenterText(label);
  List<PieEntry> entrys = new ArrayList<>();
  for (int i = 0; i < pieDataList.size(); i++) {
    entrys.add(new PieEntry(pieDataList.get(i).getValue(), pieDataList.get(i).getKey()));
  }
  PieDataSet dataSet = new PieDataSet(entrys, "");
  pieData = new PieData(dataSet);
  return this;
}

代码示例来源:origin: StannyBing/ZXUtils

/**
 * 添加结束
 *
 * @return
 */
public ZXPieChart addComplete(int animMillis) {
  PieDataSet dataSet = (PieDataSet) pieData.getDataSet();
  //重设颜色
  int[] color = new int[pieData.getDataSet().getEntryCount()];
  for (int i = 0; i < pieData.getDataSet().getEntryCount(); i++) {
    color[i] = ContextCompat.getColor(context, ChartColor.getColor(i));
  }
  dataSet.setValueFormatter(new PercentFormatter());
  dataSet.setValueTextSize(10);
  if (dataSet.getEntryCount() > 7) {
    dataSet.setValueTextColor(ContextCompat.getColor(context, R.color.cadetblue));
    dataSet.setValueLineColor(ContextCompat.getColor(context, R.color.white));
    dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
  } else {
    dataSet.setYValuePosition(PieDataSet.ValuePosition.INSIDE_SLICE);
    dataSet.setValueTextColor(ContextCompat.getColor(context, R.color.white));
  }
  dataSet.setColors(color);
  dataSet.setSliceSpace(4);//块间距
  dataSet.setSelectionShift(10);//选中状态多出的
  pieData.getDataSet().setDrawValues(true);//是否显示百分比
  super.setData(pieData);
  animateY(animMillis);
  return this;
}

相关文章

ZXPieChart类方法