我有一个由 AChartEngine 生成的水平条形图。但是,我有一个问题。
应用程序首次启动时,Y 轴最小值从 0 开始,因此所有条形图都可见,如下图所示:
但是,当用户按下缩小按钮时,整个图表会缩小,并且我的条形图会浮动,如下图所示:
如图所示,X 轴移动,原点 (0,0) 不再位于原始位置。
所以我的问题是:是否可以以这样一种方式锁定轴,当您缩小时,条形图仍与 Y 轴对齐?
这是我的代码:
public class BarGraph {
public Intent getIntent(Context context) {
int y[] = { 25, 10, 15, 20 };
CategorySeries series = new CategorySeries("Bar1");
for (int i = 0; i < y.length; i++) {
series.add("Bar" + (i + 1), y[i]);
}
// collection of series under one object, there could any number of series
XYMultipleSeriesDataset dataSet = new XYMultipleSeriesDataset();
dataSet.addSeries(series.toXYSeries());
// customization of the chart
XYSeriesRenderer renderer = new XYSeriesRenderer(); // one renderer for
// one series
renderer.setColor(Color.RED);
renderer.setDisplayChartValues(true);
renderer.setChartValuesSpacing((float) 5.5d);
renderer.setLineWidth((float) 10.5d);
//collection of multiple vales for one renderer or series
XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
mRenderer.addSeriesRenderer(renderer);
mRenderer.setChartTitle("Demo Graph");
// mRenderer.setXTitle("xValues");
mRenderer.setYTitle("Rupee");
mRenderer.setZoomButtonsVisible(true);
mRenderer.setShowLegend(true);
mRenderer.setShowGridX(true); // this will show the grid in graph
mRenderer.setShowGridY(true);
// mRenderer.setAntialiasing(true);
mRenderer.setBarSpacing(.5); // adding spacing between the line or
// stacks
mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.BLACK);
mRenderer.setXAxisMin(0);
mRenderer.setYAxisMin(0);
mRenderer.setXAxisMax(5);
mRenderer.setYAxisMax(50);
//
mRenderer.setXLabels(0);
mRenderer.addXTextLabel(1, "Income");
mRenderer.addXTextLabel(2, "Saving");
mRenderer.addXTextLabel(3, "Expenditure");
mRenderer.addXTextLabel(4, "NetIncome");
mRenderer.setPanEnabled(true, false); // will fix the chart position
mRenderer.setOrientation(Orientation.VERTICAL);
Intent intent = ChartFactory.getBarChartIntent(context, dataSet,
mRenderer, Type.DEFAULT);
return intent;
}
}
此外,您如何调整为轴标签分配的字体大小和空间?
谢谢你们的帮助。