2011-05-30 160 views
1

我在android中使用aChartEngine圖表一切都很好,直到現在...現在我想設置軸之間的時間間隔值,如x軸值時間間隔應在1.5這樣的x軸的值將是如何在x軸和y軸之間使用achartEngine值間隔

0,1.5,3,4.5等等

誰能告訴我如何設定的時間間隔....

public class LineGraphDemo extends Activity { 
XYMultipleSeriesDataset mDataSet; 
XYMultipleSeriesRenderer mRenderer; 
private GraphicalView mView; 
List<double[]> values=new ArrayList<double[]>(); 
List<Date[]> dates=new ArrayList<Date[]>(); 
private Date[] mDate; 
String s; 
Date d=new Date(); 
protected void onCreate(Bundle si){ 
    super.onCreate(si); 
    setContentView(R.layout.list1); 


    s = DateFormat.format("hh:mm:ss ", d.getTime()).toString(); 

    String str=SimpleTimeZone.getTimeZone(TimeZone.getAvailableIDs().toString()).toString(); 
    Log.e("System date",s+" "+" "+str); 


    mDate=new Date[]{new Date(110,10,5),new Date(109,6,1)}; 
    values.add(new double[] { 142, 123, 142, 152, 149, 122, 110, 120, 125, 155, 146, 150 }); 
    mDataSet=getDataSet(values); 
    mRenderer=getRenderer(); 



} 
public void onResume(){ 
    super.onResume(); 
    if(mView==null){ 
    LinearLayout lay=(LinearLayout)findViewById(R.id.chart); 

    mView=ChartFactory.getTimeChartView(getApplicationContext(), mDataSet,mRenderer,"a"); 

    lay.addView(mView); 
    }else{ 
     mView.repaint(); 
    } 
} 
protected XYMultipleSeriesRenderer getRenderer(){ 
    XYMultipleSeriesRenderer renderer=new XYMultipleSeriesRenderer(); 
    renderer.setYLabelsAlign(Align.RIGHT); 
    renderer.setAxisTitleTextSize(16); 
    renderer.setChartTitleTextSize(20); 
    renderer.setLabelsTextSize(15); 
    renderer.setLegendTextSize(15); 
    renderer.setPointSize(5f); 
    renderer.setMargins(new int[] { 20, 30, 15, 0 }); 
    renderer.setChartTitle("Line Graph"); 
    renderer.setXTitle("x-axis"); 
    renderer.setYTitle("y-axis"); 
    //renderer.setXAxisMin(-2); 
    //renderer.setXAxisMax(14); 
    renderer.setXAxisMin(mDate[0].getTime());  renderer.setXAxisMax(mDate[mDate.length-1].getTime()); 
    renderer.setYAxisMin(50); 
    renderer.setYAxisMax(200); 
    renderer.setXLabels(6); 
    renderer.setYLabels(10); 
    renderer.setAxesColor(Color.GREEN); 
    renderer.setLabelsColor(Color.MAGENTA); 
    renderer.setDisplayChartValues(true); 

    XYSeriesRenderer r = new XYSeriesRenderer(); 
    r.setColor(Color.YELLOW); 
    r.setPointStyle(PointStyle.DIAMOND); 
    renderer.addSeriesRenderer(r); 

    return renderer; 
} 
protected XYMultipleSeriesDataset getDataSet(List<double[]> values){ 
    XYMultipleSeriesDataset dataSet=new XYMultipleSeriesDataset(); 
    CategorySeries series=new CategorySeries("mobile"); 
    for (int k = 0; k < values.size(); k++) { 
      double[] xV=values.get(k); 
      int seriesLen=xV.length; 
      for(int l=0;l<seriesLen;l++){ 
      series.add(xV[l]); 
     } 
    } 
    dataSet.addSeries(series.toXYSeries()); 
    return dataSet; 
} 

}

這是我的課現在我想設定的日期之間的間隔......這不表示上述圖表...

謝謝... Ammu

回答

0

@Ammu有兩種方式,我會告訴你最簡單的方法,你可以使用標籤來設置軸的值,如renderer.addTextLabel(position,「string to be displayed」);如果你不能得到它,我會告訴你第二種方式

+0

感謝你的回覆...實際上對於時間序列圖我設置列表 dates = new ArrayList (); private Date [] mDate = new Date [] {new Date(110,10,5),new Date(109,6,1)};那麼我將渲染器的最小值和最大值設置爲renderer.setXAxisMin(mDate [0] .getTime()); \t \t renderer.setXAxisMax(mDate [mDate.length-1] .getTime());現在我想設置日期之間的時間間隔....我該怎麼做? – Taruni 2011-05-31 08:17:08

+0

是日期之間的時間間隔是一個恆定的時間間隔?如0,1.5,3.0,它有一個1.5的共同區間? – Karthik 2011-05-31 11:04:10

+0

是............... – Taruni 2011-05-31 11:52:01