MPAndroidChart的PieChart不显示扇形,只显示中间文字

  想了三四天都不知道咋回事,然后发现是一个很智障的错误。。。
  如下所示:
在这里插入图片描述
  可以看到,有的科目的扇形图是正常显示的,有的没有正常显示。
  输出数据:

//根据数据对pieChart进行初始化
ArrayList<Integer> data = list.get(i).getData();
ArrayList<String> name = new ArrayList<>(Arrays.asList("55-60", "50-55", "45-50","40-45", "40以下"));
List<PieEntry> pieEntries = new ArrayList<>();
ArrayList<String> rate = new ArrayList<>();

for(Integer x : data) {
    
    
    System.out.println(x);
}

for(int m = 0; m < 5; m++) {
    
    
    System.out.println("当前 = " + data.get(m) / (data.get(0) + data.get(1) + data.get(2) + data.get(3) + data.get(4)) * 100);
    DecimalFormat df = new DecimalFormat("0.00%");
    String decimal = df.format(data.get(m) / (data.get(0) + data.get(1) + data.get(2) + data.get(3) + data.get(4)));
    PieEntry pieEntry = new PieEntry(data.get(m) / (data.get(0) + data.get(1) + data.get(2) + data.get(3) + data.get(4)) * 100, name.get(m));
    pieEntries.add(pieEntry);
    rate.add(decimal);
}

  输出发现每次计算的扇形比例都为0,所以显示不出来。

  解决:

PieEntry pieEntry = new PieEntry((float)data.get(m) / (data.get(0) + data.get(1) + data.get(2) + data.get(3) + data.get(4)) * 100, name.get(m));

猜你喜欢

转载自blog.csdn.net/Cyril_KI/article/details/113901533