在饼图中隐藏较小的值MPAndroidChart

问题描述 投票:0回答:2

如果我在图表外打印小值,如何在PieChart中隐藏小值?我可以使用ValueFormatter来使标签为空,但是我不明白如何删除图表外的线。

这是我目前的情况(没有使用Value Formatter隐藏小值的情况:current graph

java android android-studio charts mpandroidchart
2个回答
0
投票

尝试dataSet.setDrawValues(false)。这将防止绘制任何值。

如果要更改(自定义)绘制的值(或仅更改单个值),可以使用ValueFormatter接口并实现自己的逻辑(例如,根据条件隐藏特定值)。使用ValueFormatter时,请始终牢记性能至关重要。


0
投票

此链接可能有用: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 class-drawValues(Canvas c) method:put condition like:

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, pt1y, pt2x, pt2y, mValueLinePaint);
                    }
                }
© www.soinside.com 2019 - 2024. All rights reserved.