我在Achartengine遇到一些问题。我知道这非常有用。 我正面临酒吧对齐问题。我的标签在中间,而我的酒吧似乎有点流离失所。 我把一个链接的图像:AChartEngine条形图栏对齐
标签对齐方式盘旋在橙色,而酒吧对准是绿色。就像你会注意到这种行为发生在整个条形图上。 这是我的代码:
public void execute(){
for(int i = 0; i < xyRenderer.getSeriesRendererCount(); i++){
SimpleSeriesRenderer seriesRenderer = xyRenderer.getSeriesRendererAt(i);
seriesRenderer.setDisplayChartValues(true);
}
chartView = ChartFactory.getBarChartView(this.context, xyDataset, xyRenderer, BarChart.Type.STACKED);
}
private void setupRenderer(XYMultipleSeriesRenderer renderer){
renderer.setXLabels(0);
renderer.setMargins(new int[]{20, 20, 20, 20});
renderer.setYLabels(5);
renderer.setOrientation(Orientation.HORIZONTAL);
renderer.setAxisTitleTextSize(12);
renderer.setChartTitleTextSize(12);
renderer.setLabelsTextSize(10);
renderer.setLegendTextSize(10);
renderer.setShowGrid(true);
renderer.setFitLegend(true);
renderer.setXAxisMin(0);
renderer.setYAxisMin(0);
renderer.setXAxisMax(7);
renderer.setYAxisMax(100);
renderer.setXLabelsAlign(android.graphics.Paint.Align.CENTER);
renderer.setXLabelsColor(Color.BLACK);
renderer.setYLabelsColor(0, Color.BLACK);
renderer.setAxesColor(Color.BLUE);
renderer.setLabelsColor(Color.RED);
renderer.setPanEnabled(false, false);
renderer.setZoomEnabled(false, false);
renderer.setApplyBackgroundColor(true);
renderer.setGridColor(Color.argb(0x00, 0x01, 0x01, 0x01));
renderer.setMarginsColor(Color.argb(0x00, 0x01, 0x01, 0x01));
renderer.setBackgroundColor(Color.argb(0x00, 0x01, 0x01, 0x01));
renderer.setBarSpacing(0.75);
renderer.clearXTextLabels();
renderer.setInScroll(true);
}
public void setChartData(HashMap<String, Double> teamData){
createSeriesRenderer(1);
double space = 0.75f;
CategorySeries categorySeries = new CategorySeries("% aproveitamento");
for(Map.Entry<String, Double> currentEntry : teamData.entrySet()){
String label = currentEntry.getKey();
DecimalFormat decimalFormat = new DecimalFormat("#0.0");
String formattedNum = decimalFormat.format(currentEntry.getValue());
xyRenderer.addXTextLabel(space, label);
categorySeries.add(Double.parseDouble(formattedNum));
space += 0.75;
}
xyDataset.addSeries(categorySeries.toXYSeries());
}
private void createSeriesRenderer(int howMany){
for(int i = 0; i < howMany; i++){
SimpleSeriesRenderer seriesRenderer = new SimpleSeriesRenderer();
seriesRenderer.setColor(Color.RED);
xyRenderer.addSeriesRenderer(seriesRenderer);
}
}
最奇特的是在AChartEngine酒吧样本,此行为不会发生和酒吧是正确对齐。 这是AChartEngine的错误吗?
我的意图是正确对齐条形和维持它们之间的偏移。 AChartEngine afaik不允许您在开始渲染时明确对齐条形图。 – learner 2012-08-02 14:19:31