如何在PIE CHART MP ANDROID CHART中的特定切片中设置颜色?

时间:2018-10-06 05:57:22

标签: android pie-chart mpandroidchart

我想在值为0时设置特定的颜色。我已经尝试过此代码,但是仍然失败。

    if(etKids == 0){
        yvalues.add(new PieEntry(Float.parseFloat(String.valueOf(nilai.getSkala())), nilai.getNama()));
        int newcolor = Color.GRAY;
        dataSet.addColor(newcolor);

    }else{
        yvalues.add(new PieEntry(Float.parseFloat(etKids+"f"), nilai.getNama()));
    }

    if (test1.size() == test2.size()) {
        pieChart.getDescription().setText("Nilai sudah di konversi sesuai bobot !");
        pieChart.setExtraOffsets(5, 10, 5, 5);
        pieChart.setDragDecelerationFrictionCoef(0.9f);
        pieChart.setTransparentCircleRadius(61f);
        pieChart.setHoleColor(Color.WHITE);
        pieChart.animateY(1000, Easing.EasingOption.EaseInOutCubic);


        if(yvalues.contains(0))
            dataSet.setSliceSpace(3f);
        dataSet.setSelectionShift(5f);

        dataSet.setColors(ColorTemplate.COLORFUL_COLORS);
        PieData pieData = new PieData((dataSet));
        pieData.setValueTextSize(10f);
        pieData.setValueTextColor(Color.YELLOW);

        pieLegend.setPosition(Legend.LegendPosition.BELOW_CHART_CENTER);
        pieLegend.setWordWrapEnabled(true);
        pieChart.setCenterText("B+" );
        pieChart.setCenterTextSize(34f);
        pieChart.setCenterTextColor(Color.BLUE);
        pieChart.setData(pieData);

        progressBar_nilai.setVisibility(View.GONE);
        mAdapter.notifyDataSetChanged();

    }

我想将if(etKids == 0){ }中的数据设置为灰色。我还使用firebase,因此此代码if (test1.size() == test2.size()) {}使用as标志来了解异步或等待数据完全加载,之后饼图只是显示。真的谢谢

1 个答案:

答案 0 :(得分:0)

使用以下代码段代替dataSet.setColors(ColorTemplate.COLORFUL_COLORS);

if(etKids == 0)
{
    dataSet.setColors(Color.BLACK);
}