2014-08-31 24 views
0

我最近開始使用achartengine。我想繪製一個簡單的線性圖 ,但偏離軸的原點 - (0,0)。 我從原來的值改爲X數組從5在achartengine中將線性圖的起始位置右移

開始這是我到目前爲止的代碼

public class MainActivity extends Activity { 

private String[] mMonth = new String[] { 
      "Jan", "Feb" , "Mar", "Apr", "May", "Jun", 
     }; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    openChart(); 
}  
private void openChart(){ 
    int[] x = { 5,6,7,8,9}; 
    int[] income = { 240,467,259,570,500}; 
    int[] expense = {200, 521, 290, 219, 457}; 

    // Creating an XYSeries for Income 
    XYSeries incomeSeries = new XYSeries("Income"); 
    // Creating an XYSeries for Income 
    XYSeries expenseSeries = new XYSeries("Expenses"); 
    // Adding data to Income and Expense Series 
    for(int i=0;i<x.length;i++){ 
     incomeSeries.add(x[i], income[i]); 
     expenseSeries.add(x[i],expense[i]); 
    } 

    // Creating a dataset to hold each series 
    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); 
    // Adding Income Series to the dataset 
    dataset.addSeries(incomeSeries); 
    // Adding Expense Series to dataset 
    dataset.addSeries(expenseSeries);  


    // Creating XYSeriesRenderer to customize incomeSeries 
    XYSeriesRenderer incomeRenderer = new XYSeriesRenderer(); 
    incomeRenderer.setColor(Color.WHITE); 
    incomeRenderer.setPointStyle(PointStyle.CIRCLE); 
    incomeRenderer.setFillPoints(true); 
    incomeRenderer.setLineWidth(2); 
    incomeRenderer.setDisplayChartValues(true); 

    // Creating XYSeriesRenderer to customize expenseSeries 
    XYSeriesRenderer expenseRenderer = new XYSeriesRenderer(); 
    expenseRenderer.setColor(Color.BLUE); 
    expenseRenderer.setPointStyle(PointStyle.CIRCLE); 
    expenseRenderer.setFillPoints(true); 
    expenseRenderer.setLineWidth(3); 
    expenseRenderer.setDisplayChartValues(true); 


    // Creating a XYMultipleSeriesRenderer to customize the whole chart 
    XYMultipleSeriesRenderer multiRenderer = new XYMultipleSeriesRenderer(); 
    multiRenderer.setXLabels(0); 
    multiRenderer.setChartTitle("Income vs Expense Chart"); 
    multiRenderer.setXTitle("Year 2011"); 
    multiRenderer.setYTitle("Amount in Rupees"); 
    multiRenderer.setZoomButtonsVisible(true);    
    for(int i=0;i<x.length;i++){ 
     multiRenderer.addXTextLabel(i+1, mMonth[i]);    
    }  

    // Adding incomeRenderer and expenseRenderer to multipleRenderer 
    // Note: The order of adding dataseries to dataset and renderers to multipleRenderer 
    // should be same 
    multiRenderer.addSeriesRenderer(incomeRenderer); 
    multiRenderer.addSeriesRenderer(expenseRenderer); 

    // Creating an intent to plot line chart using dataset and multipleRenderer 
    Intent intent = ChartFactory.getLineChartIntent(getBaseContext(), dataset, multiRenderer); 

    // Start Activity 
    startActivity(intent); 
} 
} 
+0

是什麼問題?你在做什麼? – keshav 2014-08-31 11:03:28

+0

即使當我將x數組的範圍從{1,2,3,4,5}更改爲{5,6,7,8,9}時,我會得到從(0,0)開始的默認圖形 – user3194546 2014-08-31 11:17:15

回答

0

這聽起來像你正在尋找控制圖表的可視區域:

mRenderer.setXAxisMin(minValue); 
mRenderer.setXAxisMax(maxValue);