Achartengine 在系列区域内显示值和水平图例
Achartengine display values inside the series areas and horizontal legend
我已经尝试使用默认渲染器进行以下操作
CategorySeries series = new CategorySeries("First test");
int numSlide = portions.length;
for (int i = 0; i < numSlide; i++){
series.add(seriesNames[i]+" ("+portions[i]+" %)", portions[i]);
}
DefaultRenderer defaultRenderer = new DefaultRenderer();
SimpleSeriesRenderer simpleSeriesRenderer = null;
for (int i = 0; i < numSlide; i++){
simpleSeriesRenderer = new SimpleSeriesRenderer();
simpleSeriesRenderer.setColor(colors[i]);
simpleSeriesRenderer.setChartValuesFormat(new DecimalFormat("###,###,##0.0"));
defaultRenderer.addSeriesRenderer(simpleSeriesRenderer);
}
defaultRenderer.setInScroll(true);
defaultRenderer.setZoomButtonsVisible(false);
defaultRenderer.setZoomEnabled(true);
defaultRenderer.setLabelsTextSize(18); //value size
defaultRenderer.setLabelsColor(R.color.primary_dark);
defaultRenderer.setShowLegend(false);
defaultRenderer.setClickEnabled(true);
defaultRenderer.setPanEnabled(true);
defaultRenderer.setShowLabels(true);
defaultRenderer.setShowLegend(true);
//return the pie chart view
return ChartFactory.getPieChartView(context, series, defaultRenderer);
现在以上生成
我期待得到的是百分比值,例如:图表区域内的 2%,看起来像这样
如何获取要在图表中显示的百分比值?
您想显示 值 并隐藏 标签。在你的渲染器中这样做:
defaultRenderer.setShowLabels(false);
defaultRenderer.setDisplayValues(true);
此外,您的系列名称可能不包含这些值,因此请更改以下行
series.add(seriesNames[i]+" ("+portions[i]+" %)", portions[i]);
至
series.add(seriesNames[i], portions[i]);
我已经尝试使用默认渲染器进行以下操作
CategorySeries series = new CategorySeries("First test");
int numSlide = portions.length;
for (int i = 0; i < numSlide; i++){
series.add(seriesNames[i]+" ("+portions[i]+" %)", portions[i]);
}
DefaultRenderer defaultRenderer = new DefaultRenderer();
SimpleSeriesRenderer simpleSeriesRenderer = null;
for (int i = 0; i < numSlide; i++){
simpleSeriesRenderer = new SimpleSeriesRenderer();
simpleSeriesRenderer.setColor(colors[i]);
simpleSeriesRenderer.setChartValuesFormat(new DecimalFormat("###,###,##0.0"));
defaultRenderer.addSeriesRenderer(simpleSeriesRenderer);
}
defaultRenderer.setInScroll(true);
defaultRenderer.setZoomButtonsVisible(false);
defaultRenderer.setZoomEnabled(true);
defaultRenderer.setLabelsTextSize(18); //value size
defaultRenderer.setLabelsColor(R.color.primary_dark);
defaultRenderer.setShowLegend(false);
defaultRenderer.setClickEnabled(true);
defaultRenderer.setPanEnabled(true);
defaultRenderer.setShowLabels(true);
defaultRenderer.setShowLegend(true);
//return the pie chart view
return ChartFactory.getPieChartView(context, series, defaultRenderer);
现在以上生成
我期待得到的是百分比值,例如:图表区域内的 2%,看起来像这样
如何获取要在图表中显示的百分比值?
您想显示 值 并隐藏 标签。在你的渲染器中这样做:
defaultRenderer.setShowLabels(false);
defaultRenderer.setDisplayValues(true);
此外,您的系列名称可能不包含这些值,因此请更改以下行
series.add(seriesNames[i]+" ("+portions[i]+" %)", portions[i]);
至
series.add(seriesNames[i], portions[i]);