android pandas按条件删除行 如果在饼图中值为0%,如何删除行




python pandas删除特定行 (2)

我在饼图工作,为此,我使用MPAndroidChart图书馆,值可能包含0%的任何数据或多个数据,我显示的数值之外的setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE)使用setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE) 。 我不想在饼图中显示0%的值,我得到了一个解决方案,使用格式化的值。

public class CustomPercentFormatter implements IValueFormatter {    

    private DecimalFormat mFormat;

    public CustomPercentFormatter() {
        mFormat = new DecimalFormat("###,###,##0.0");
    }

    public CustomPercentFormatter(DecimalFormat format) {
        this.mFormat = format;
    }

    @Override
    public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {

        if (value == 0.0f)
            return "";

        return mFormat.format(value) + " %";
    }
}

但是,如果我使用的行选项,那么行显示为0%的值和重叠的多个0%的值,所以任何人都可以帮我删除0%值的行选项


我改变了drawValues类中的方法drawValues

如果值为0,则不显示行。

只要把一个条件:

if (entry.getValue() != 0.0) {
    if (dataSet.getValueLineColor() != ColorTemplate.COLOR_NONE) {
        c.drawLine(pt0x, pt0y, pt1x, pt1y, mValueLinePaint);
        c.drawLine(pt1x, pt1y, pt2x, pt2y, mValueLinePaint);
    }
}

代替以下代码:

if (dataSet.getValueLineColor() != ColorTemplate.COLOR_NONE) {
    c.drawLine(pt0x, pt0y, pt1x, pt1y, mValueLinePaint);
    c.drawLine(pt1x, pt1y, pt2x, pt2y, mValueLinePaint);
}





overlapping