package com.azim.trigonometriccharts;
import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import org.achartengine.ChartFactory;
import org.achartengine.GraphicalView;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.model.XYSeries;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import org.achartengine.renderer.XYSeriesRenderer;
import android.graphics.*;
import org.achartengine.chart.*;
public class MainActivity extends Activity
{
private GraphicalView myChart;
private XYSeriesRenderer sineRenderer,cosineRenderer,tangentRenderer;
private XYMultipleSeriesRenderer myRenderer;
private XYSeries sineSeries,cosineSeries,tangentSeries;
private XYMultipleSeriesDataset mySeries;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
protected void onResume()
{
super.onResume();
LinearLayout layout=(LinearLayout)findViewById(R.id.chart);
if(myChart==null)
{
initializeChart();
addData();
myChart=ChartFactory.getLineChartView(this, mySeries, myRenderer);
layout.addView(myChart);
}
else
{
myChart.repaint();
}
}
private void initializeChart()
{
sineRenderer=new XYSeriesRenderer();
cosineRenderer=new XYSeriesRenderer();
tangentRenderer=new XYSeriesRenderer();
sineRenderer.setColor(Color.RED);
cosineRenderer.setColor(Color.GREEN);
tangentRenderer.setColor(Color.BLUE);
myRenderer=new XYMultipleSeriesRenderer();
myRenderer.addSeriesRenderer(sineRenderer);
myRenderer.addSeriesRenderer(cosineRenderer);
myRenderer.addSeriesRenderer(tangentRenderer);
myRenderer.setPanEnabled(false);
myRenderer.setYAxisMax(1);
myRenderer.setYAxisMin(-1);
sineSeries=new XYSeries("Sine");
cosineSeries=new XYSeries("Cosine");
tangentSeries=new XYSeries("Tangent");
mySeries=new XYMultipleSeriesDataset();
mySeries.addSeries(sineSeries);
mySeries.addSeries(cosineSeries);
mySeries.addSeries(tangentSeries);
}
private void addData()
{
for(int angle=5;angle<=1440;angle+=5)
{
sineSeries.add(angle, Math.sin(angle*(Math.PI/180)));
cosineSeries.add(angle, Math.cos(angle*(Math.PI/180)));
tangentSeries.add(angle, Math.tan(angle*(Math.PI/180)));
}
}
}