【问题标题】:Increase width of bars and give space between two bars BarChart using AChartEngine使用 AChartEngine 增加条形的宽度并在两个条形图之间留出空间
【发布时间】:2014-09-23 14:17:26
【问题描述】:

我在XYMultipleSeriesRenderer. 中添加了两个XYSeriesRenderer 我需要自定义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));   

【问题讨论】:

    标签: android bar-chart achartengine


    【解决方案1】:

    使用

    renderer.setBarWidth(width);
    

    用于设置条的宽度。

    【讨论】:

    • 感谢您的时间,它工作正常。如何在两个条之间留出很小的空间?
    • 你可以使用 setBarSpacing 查看更多achartengine.org/content/javadoc/org/achartengine/renderer/…
    • 我已经使用了该代码,但在这里不起作用。该代码适用于单个 categoryserious 中的多个值,但这里使用多个 categoryserious
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-01
    • 2012-11-25
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多