首页 文章

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

提问于
浏览
3

我正在使用 AChartEnginehttp://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);
}

但不起作用 - 值显示在每个饼图上 . 我想要的就像在下面的图像(值只显示在第一个切片上,而不是全部显示) .

enter image description here

1 回答

  • 2

    为此,您必须更改库源 .

    draw() PieChart.java 进行更改并使用 renderer.setDisplayValues(true); of 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) .

相关问题