我向XYSeriesRenderer
添加了两个XYMultipleSeriesRenderer.
我需要自定义XYSeriesRenderer
想要增加条形图的宽度我包含此代码但它不起作用rendererm.setLineWidth(10);
然后两个条都紧密贴合,所以需要在XYSeriesRenderer
之间留出一些空间?此代码mRenderer.setBarSpacing(.5);
适用于XYMultipleSeriesRenderer
,但我需要在两个XYSeriousRenderer
之间留出空格。请参考我的代码和图片尽量给出你的建议。
seriesm = new CategorySeries("Male");
for(int i=0; i < malec.length; i++){
seriesm.add("Bar"+(i+1),malec[i]);
}
seriesf = new CategorySeries("Female");
for(int i=0; i < fmalec.length; i++){
seriesf.add("Bar"+(i+1),fmalec[i]);
}
dataSet = new XYMultipleSeriesDataset();
dataSet.addSeries(seriesm.toXYSeries());
dataSet.addSeries(seriesf.toXYSeries());
//customization of the chart
rendererm = new XYSeriesRenderer();
rendererm.setColor(Color.RED);
rendererm.setDisplayChartValues(true);
rendererm.setLineWidth(20);
rendererf = new XYSeriesRenderer();
rendererf.setColor(Color.YELLOW);
rendererf.setDisplayChartValues(true);
rendererf.setLineWidth(30);
mRenderer = new XYMultipleSeriesRenderer();
mRenderer.addSeriesRenderer(rendererm);
mRenderer.addSeriesRenderer(rendererf);
mRenderer.setChartTitle("Gender");
mRenderer.setYTitle("No of Reports");
mRenderer.setZoomButtonsVisible(true);
mRenderer.setShowLegend(true);
mRenderer.setShowGridX(true);
mRenderer.setBarSpacing(.5);
mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.BLACK);
mRenderer.setXAxisMin(0);
mRenderer.setYAxisMin(0);
mRenderer.setXAxisMax(2);
mRenderer.setXLabels(0);
mRenderer.setPanEnabled(true, true);
layout=(LinearLayout)findViewById(R.id.barchart);
mChartView=ChartFactory.getBarChartView(getApplicationContext(), dataSet, mRenderer, org.achartengine.chart.BarChart.Type.DEFAULT);
layout.addView(mChartView, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
答案 0 :(得分:2)
使用
renderer.setBarWidth(width);
用于设置条形宽度。