2012-01-15 25 views

Respuesta

24

por lo que necesita un diseño (main.xml):

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:id="@+id/chart" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" /> 

    <LinearLayout 
     android:id="@+id/layXzoom" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentRight="true" 
     android:orientation="horizontal" 
     android:padding="5dp" > 
    </LinearLayout> 

</RelativeLayout> 

y la actividad (TestgrafActivity.java):

package si.pd.testgraf; 

import java.util.ArrayList; 
import java.util.Date; 
import java.util.List; 
import java.util.Random; 

import org.achartengine.ChartFactory; 
import org.achartengine.GraphicalView; 
import org.achartengine.chart.PointStyle; 
import org.achartengine.chart.TimeChart; 
import org.achartengine.model.TimeSeries; 
import org.achartengine.model.XYMultipleSeriesDataset; 
import org.achartengine.renderer.XYMultipleSeriesRenderer; 
import org.achartengine.renderer.XYSeriesRenderer; 

import android.app.Activity; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.widget.LinearLayout; 

public class TestgrafActivity extends Activity { 
    /** Called when the activity is first created. */ 
    private XYMultipleSeriesDataset mDataset; 
    private XYMultipleSeriesRenderer mRenderer; 
    List<double[]> values = new ArrayList<double[]>(); 
    private GraphicalView mChartView; 
    private TimeSeries time_series; 

    // chart container 
    private LinearLayout layout; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     layout = (LinearLayout) findViewById(R.id.chart); 

     // create dataset and renderer 
     mDataset = new XYMultipleSeriesDataset(); 
     mRenderer = new XYMultipleSeriesRenderer(); 
     mRenderer.setAxisTitleTextSize(16); 
     mRenderer.setChartTitleTextSize(20); 
     mRenderer.setLabelsTextSize(15); 
     mRenderer.setLegendTextSize(15); 
     mRenderer.setPointSize(3f); 

     XYSeriesRenderer r = new XYSeriesRenderer(); 
     r.setColor(Color.GREEN); 
     r.setPointStyle(PointStyle.CIRCLE); 
     r.setFillPoints(true); 
     mRenderer.addSeriesRenderer(r); 
     mRenderer.setClickEnabled(true); 
     mRenderer.setSelectableBuffer(20); 
     mRenderer.setPanEnabled(true); 

     time_series = new TimeSeries("test"); 

     mDataset.addSeries(time_series); 

     fillData(); 

     mChartView = ChartFactory.getTimeChartView(this, mDataset, mRenderer, 
       "H:mm:ss"); 

     layout.addView(mChartView); 
    } 

    private void fillData() { 
     long value = new Date().getTime() - 3 * TimeChart.DAY; 
     for (int i = 0; i < 100; i++) { 
      time_series.add(new Date(value + i * TimeChart.DAY/4), i); 
     } 
    } 
} 

no he probado el código así que tal vez hay algunos errores . Solo quería que entendieras la imagen.

Lo hice en casa. Si me das un correo electrónico, puedo enviarte un proyecto eclipse.

+0

gracias Toni, voy a probar este código y creo que me va a ayudar mucho y este es mi correo electrónico [email protected] – Basant

+0

gracias toni. usted está ahorrando mi tiempo Gracias otra vez amigo –

+0

por favor, califíquelo útil entonces @AshishDwivedi :) – toni

Cuestiones relacionadas