如果饼图中的值为 0%,如何删除线条
how to remove lines if values is 0 % in pie chart
我正在制作饼图,为此,我正在使用 MPAndroidChart 库,值可能包含 0% 的任何数据或多个数据,并且我显示的值超出使用 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% 值的线条选项?
我在PieChartRenderer
class.
中更改了方法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);
}
如果您不想绘制这些线条,则必须将该线条的颜色设置为 ColorTemplate.COLOR_NONE
。
我没有足够的原始代码来指出具体要做什么,但是在示例中 https://github.com/PhilJay/MPAndroidChart/blob/master/MPChartExample/src/com/xxmassdeveloper/mpchartexample/PieChartActivity.java#L199 您可以查看如何做。
我正在制作饼图,为此,我正在使用 MPAndroidChart 库,值可能包含 0% 的任何数据或多个数据,并且我显示的值超出使用 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% 值的线条选项?
我在PieChartRenderer
class.
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);
}
如果您不想绘制这些线条,则必须将该线条的颜色设置为 ColorTemplate.COLOR_NONE
。
我没有足够的原始代码来指出具体要做什么,但是在示例中 https://github.com/PhilJay/MPAndroidChart/blob/master/MPChartExample/src/com/xxmassdeveloper/mpchartexample/PieChartActivity.java#L199 您可以查看如何做。