我正在研究aChartEngine并绘制条形图。图表我已经能够成功绘制,但因为我需要在动态上绘制X轴上的值,所以我使图表在x轴上可滚动但是当我在X轴上滚动图表时,条形图正在穿过Y轴,有些部分也可以在Y轴外面看到。
我认为这张图片会让我知道我的意思。
在上图中,我将X轴上的滚动设置为true,但是当我在X轴上滚动条形图时,条形图的某些部分正在穿过Y轴。我希望一旦触及Y轴,就不应该看到条形。
我尝试了很多选择但却没有想法。
的 MainActivity.java
public class MainActivity extends Activity {
private View mChart;
private String[] mMonth = new String[] {
"Jan", "Feb" , "Mar", "Apr", "May", "Jun",
"Jul", "Aug" , "Sep", "Oct", "Nov", "Dec"
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_sample_chart);
openChart();
}
private void openChart(){
int[] x = { 0,1,2,3,4,5,6,7, 8, 9, 10, 11 };
int[] income = { 2000,2500,2700,3000,2800,3500,3700,3800, 0,0,0,0};
// Creating an XYSeries for Income
XYSeries incomeSeries = new XYSeries("Income");
for(int i=0;i<x.length;i++){
incomeSeries.add(i,income[i]);
}
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
dataset.addSeries(incomeSeries);
XYSeriesRenderer incomeRenderer = new XYSeriesRenderer();
incomeRenderer.setColor(Color.CYAN); //color of the graph set to cyan
incomeRenderer.setFillPoints(true);
incomeRenderer.setLineWidth(2);
incomeRenderer.setDisplayChartValues(true);
incomeRenderer.setDisplayChartValuesDistance(10);
multiRenderer.setPanEnabled(true, false);
multiRenderer.setClickEnabled(false);
multiRenderer.setZoomEnabled(true, false);
multiRenderer.setShowGridY(false);
multiRenderer.setYLabels(10);
multiRenderer.setYAxisMax(4000);
multiRenderer.setXAxisMin(-0.5);
multiRenderer.setBarSpacing(1.0);
LinearLayout chartContainer = (LinearLayout) findViewById(R.id.chart);
chartContainer.removeAllViews();
mChart = ChartFactory.getBarChartView(ChartMainActivity.this, dataset, multiRenderer,Type.DEFAULT);
chartContainer.addView(mChart);
}
}