如果在图形外打印小值,如何在PieChart中隐藏小值?我可以使用ValueFormatter来使标签为空,但是我不明白如何删除图表外的线。
这是我目前的情况(没有使用Value Formatter隐藏小值):current graph
如果在图形外打印小值,如何在PieChart中隐藏小值?我可以使用ValueFormatter来使标签为空,但是我不明白如何删除图表外的线。
这是我目前的情况(没有使用Value Formatter隐藏小值):current graph
此链接可能有用: https://stackoverflow.com/a/46403088/5482918
需要更改drawValues
类中的方法PieChartRenderer
添加数据时:
ArrayList<PieEntry> entries = new ArrayList<>();
entries.add(new PieEntry(75,"Data 1","showLine"));
entries.add(new PieEntry(25,"Data 2","hideLine"));
entries.add(new PieEntry(45,"Data 3","hideLine"));
entries.add(new PieEntry(58,"Data 4","showLine"));
entries.add(new PieEntry(76,"Data 5","hideLine"));
PieChartRenderer
类-drawValues(Canvas c)
方法:条件如下:
if (entry.getData().equals("showLine")) {
if (dataSet.getValueLineColor() != ColorTemplate.COLOR_NONE) {
if (dataSet.isUsingSliceColorAsValueLineColor()) {
mValueLinePaint.setColor(dataSet.getColor(j));
}
c.drawLine(pt0x,pt0y,pt1x,pt1y,mValueLinePaint);
c.drawLine(pt1x,pt2x,pt2y,mValueLinePaint);
}
}
,
尝试 dataSet.setDrawValues(false)。这样可以避免绘制任何值。
如果要更改(自定义)绘制的值(或仅更改单个值),可以使用ValueFormatter接口并实现自己的逻辑(例如,根据条件隐藏特定值)。使用ValueFormatter时,请始终牢记性能至关重要。