饼图:如何使用AChartEngine Android库在一些饼图切片上显示文本?

饼图:如何使用AChartEngine Android库在一些饼图切片上显示文本?,android,charts,achartengine,pie-chart,Android,Charts,Achartengine,Pie Chart,我正在使用AChartEngine库在Android应用程序中显示饼图 饼图可以有很多幻灯片。我只想在一些饼图切片上显示值,但我无法使其工作(我甚至不确定这是否可行) 对于DefaultRenderer,我已经制作了: renderer.setLabelsColor(Color.BLACK); // color of the text displayed on the chart renderer.setLabelsTextSize(12); // size of the text displ

我正在使用AChartEngine库在Android应用程序中显示饼图

饼图可以有很多幻灯片。我只想在一些饼图切片上显示值,但我无法使其工作(我甚至不确定这是否可行)

对于
DefaultRenderer
,我已经制作了:

renderer.setLabelsColor(Color.BLACK);  // color of the text displayed on the chart
renderer.setLabelsTextSize(12); // size of the text displayed on the chart
而对于每个
简单的排序规则

if (pieSlidesNo > 5) {
    serieRender.setDisplayChartValues(false);
} else {
    serieRender.setDisplayChartValues(true);
}
但不起作用-值显示在每个饼图切片上。 我想要的是下图(值仅显示在第一个切片上,而不是所有切片上)


为此,您必须更改库源

更改
PieChart.java的
draw()
,并使用
renderer.setDisplayValues(true)
DefaultRenderer

 if (mRenderer.isDisplayValues()) {
        if(angle<60)
        {}
        else
        drawLabel(
            canvas,
            getLabel(mRenderer.getSeriesRendererAt(i).getChartValuesFormat(), mDataset.getValue(i)),
            mRenderer, prevLabelsBounds, mCenterX, mCenterY, shortRadius / 2, longRadius / 2,
            currentAngle, angle, left, right, mRenderer.getLabelsColor(), paint, false, true);
      }
if(mrender.isDisplayValues()){

如果(Angle),我很快就会尝试。我的想法是,我现在正在使用jar文件,在这种情况下,我需要获取源代码并重新编译。我会让你知道它是否有效。谢谢。我在
SimpleSeriesRenderer
bean类中添加了2个
boolean
变量:
displayValueOnSlice
(布尔值指示是否需要在饼图切片上显示值)和
displayValueBesideSlice
(布尔值指示是否需要在饼图切片旁边显示值)在
PieChart.java
上,我已更改为基于这些值显示信息。在我的应用程序中,根据不同的标准,我决定将这两个值设置为
true
还是
false
。感谢您的想法,这非常有帮助,因此我将接受您的答案。对不起,您能告诉我您是如何设置“%”的吗在饼图切片上???我也在使用achartengine库,我正在尝试找到如何做到这一点…谢谢!您好user3019105,上面的图像不是使用库渲染的,是来自互联网。我想如果不修改库,您就无法制作所需的,因为
系列
接受双精度值作为参数,而您不能同时将
%
符号传递到那里。谢谢。因此,甚至无法使用该系列为饼图设置边框颜色?据我所知,没有。好的,谢谢您的回复!