我想创建一个饼图,片段标签呈现在两行上。
为此,我必须覆盖PieRenderer.drawSegmentLabel
(source on bitbucket),但我不知道如何将我的渲染器类设置为PieChart
对象。
我找到了pie.getRenderer(PieRenderer.class)
来获取渲染器,但我找不到任何方法设置它。有没有办法将我的渲染器设置为PieChart
?我不想使用AndroidPlot的来源。
(Androidplot版本:0.6.1)
答案 0 :(得分:1)
实际上是Formatter告诉Androidplot在绘图时使用哪个渲染器;添加片段/系列时,总是传入Formatter的实例。您需要像这样扩展SegmentFormatter:
/**
* Formatter used by MyPieRenderer to draw a segment.
*/
class MySegmentFormatter extends SegmentFormatter {
@Override
public Class<? extends SeriesRenderer> getRendererClass() {
return MyPieRenderer.class;
}
@Override
public SeriesRenderer getRendererInstance(final PieChart plot) {
return new MyPieRenderer(plot);
}
}
您可以/还应该将任何其他格式化参数添加到此类中以供drawSegmentLabel实现使用。
最后,确保在添加MyPieRenderer要呈现的片段时使用MySegmentFormatter实例:
pie.addSeries(series, new MySegmentFormatter());