我正在使用 AChartEngine ( http://code.google.com/p/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
并且对于每个 SimpleSeriesRenderer
:
if (pieSlidesNo > 5) {
serieRender.setDisplayChartValues(false);
} else {
serieRender.setDisplayChartValues(true);
}
但不起作用 - 值显示在每个饼图切片上。 我想要的如下图所示(值仅显示在第一个切片上,而不是所有切片上)。
最佳答案
为此,您必须更改库源。
在 draw()
中进行更改的 PieChart.java
并使用 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);
}
你可以改变角度比较值(angle<60)
根据你的要求。
关于android - 饼图 : how to display text just on some pie slices using AChartEngine Android library?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21622582/