我是使用achartengine库进行安卓的新手,请耐心等待。我希望我的水平条形图在每个条形图上方都有标签。我试图操纵渲染器并寻找解决方案,但此时没有运气。 以下是我想要的输出:
到目前为止,这是我创建条形图的代码:
public GraphicalView getChartView(Context context){ int x = 8000,y = 4000,z = 0;
CategorySeries series1 = new CategorySeries("Bar1");
CategorySeries dummySeries = new CategorySeries("Bar dummy");
CategorySeries series2 = new CategorySeries("Bar2");
series1.add(x);
dummySeries.add(z);
series2.add(y);
XYMultipleSeriesDataset dataSet = new XYMultipleSeriesDataset();
dataSet.addSeries(series1.toXYSeries());
dataSet.addSeries(dummySeries.toXYSeries());
dataSet.addSeries(series2.toXYSeries());
XYSeriesRenderer renderer = new XYSeriesRenderer();
renderer.setColor(context.getResources().getColor(
R.color.barchart_green));
renderer.setDisplayChartValues(true);
renderer.setChartValuesSpacing(60);
renderer.setLineWidth((float) 10.5d);
renderer.setChartValuesTextSize(context.getResources().getDimension(
R.dimen.salesquota_axis_textsize));
XYSeriesRenderer renderer2 = new XYSeriesRenderer();
renderer2.setColor(context.getResources().getColor(
R.color.barchart_orange));
renderer2.setChartValuesSpacing(60);
renderer2.setLineWidth((float) 10.5d);
renderer2.setDisplayChartValues(true);
renderer2.setChartValuesTextSize(context.getResources().getDimension(
R.dimen.salesquota_axis_textsize));
XYSeriesRenderer dummyRenderer = new XYSeriesRenderer();
dummyRenderer.setColor(Color.WHITE);
dummyRenderer.setDisplayChartValues(false);
dummyRenderer.setChartValuesSpacing((float) 10.5d);
dummyRenderer.setLineWidth((float) 10.5d);
XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
mRenderer.addSeriesRenderer(renderer);
mRenderer.addSeriesRenderer(dummyRenderer);
mRenderer.addSeriesRenderer(renderer2);
// mRenderer.setXTitle("xValues");
mRenderer.setShowLegend(true);
mRenderer.setShowLabels(false);
mRenderer.setShowAxes(false);
mRenderer.addXTextLabel(0, "Quota");
mRenderer.addXTextLabel(1, "Sales status");
mRenderer.setPanEnabled(false, false);
mRenderer.setShowGrid(false);
mRenderer.setZoomEnabled(false, false);
mRenderer.setBarWidth(context.getResources().getDimension(
R.dimen.salesquota_barwidth));
mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.WHITE);
mRenderer.setXAxisMin(0);
mRenderer.setXAxisMax(4);
mRenderer.setYAxisMax(10000);
mRenderer.setYAxisMin(0);
mRenderer.setMarginsColor(context.getResources()
.getColor(R.color.White));
mRenderer.setOrientation(Orientation.VERTICAL);
mChartView = ChartFactory.getBarChartView(context, dataSet, mRenderer,
Type.DEFAULT);
return mChartView;
}
然后我将返回的mChartView添加到我的LinearLayout中:
LinearLayout layout = (LinearLayout) myFragmentView
.findViewById(R.id.salesquota_layout);
SalesStackedBarChart barChartStacked = new SalesStackedBarChart();
layout.addView(barChartStacked.getChartView(getActivity()));
任何帮助将不胜感激。非常感谢你!