Hello guys, whats up?? Today in this blog we are going to see how to draw graphs in Android. For this purpose we are going to use a library called as "achartengine" . So , lets get started.
1) First of all create an Android Application Project.
2) Next go to "res/alyout/activity_main.xml" and create a LinearLayout there.
activity_main.xml
3) Now go to http://www.achartengine.org/content/download.html and download "achartengine" library from there.
4) Right click on the project file in eclipse and go to properties->Java Bild Path-> Libraries-> Export External Jar files and select the downloaded "achartengine" library from there.
5) Now go to "src/your_package_name/MainActivity.java" and paste the following code there.
MainActivity.java
Now we are done. Post your questions in the comment. I will be happy to answer those.
For more info visit on facebook https://www.facebook.com/androidcoolstuffs
Thank you
1) First of all create an Android Application Project.
2) Next go to "res/alyout/activity_main.xml" and create a LinearLayout there.
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/label" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > </LinearLayout>
3) Now go to http://www.achartengine.org/content/download.html and download "achartengine" library from there.
4) Right click on the project file in eclipse and go to properties->Java Bild Path-> Libraries-> Export External Jar files and select the downloaded "achartengine" library from there.
5) Now go to "src/your_package_name/MainActivity.java" and paste the following code there.
MainActivity.java
import org.achartengine.ChartFactory; import org.achartengine.GraphicalView; import org.achartengine.chart.PointStyle; import org.achartengine.model.*; import org.achartengine.renderer.XYMultipleSeriesRenderer; import org.achartengine.renderer.XYSeriesRenderer; import android.os.Bundle; import android.app.Activity; import android.app.Fragment; import android.graphics.Paint.Align; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; public class MainActivity extends Activity { private GraphicalView mChart; private XYSeriesRenderer mCurrentRenderer; private XYSeriesRenderer mCurrentRenderer1; private XYSeriesRenderer mCurrentRenderer2; private XYSeries mCurrentSeries; private XYSeries mCurrentSeries1; private XYSeries mCurrentSeries2; private XYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset(); private XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer(); private View rootView = null; private void addSampleData1() { double[] arrayOfDouble = { 20.0D, 30.0D, 67.0D, 80.0D, 85.0D, 94.0D, 99.0D, 100.0D, 102.0D, 104.0D, 106.0D, 108.0D }; for (int i = 0;; i++) { if (i >= 12) { return; } this.mCurrentSeries.add(i, arrayOfDouble[i]); } } private void addSampleData2() { double[] arrayOfDouble = { 30.0D, 55.0D, 80.0D, 90.0D, 91.0D, 100.0D, 102.0D, 105.0D, 110.0D, 115.0D, 120.0D, 125.0D }; for (int i = 0;; i++) { if (i >= 12) { return; } this.mCurrentSeries1.add(i, arrayOfDouble[i]); } } private void addSampleDatamid() { double[] arrayOfDouble = { 25.0D, 50.0D, 75.0D, 85.0D, 87.0D, 99.0D, 100.0D, 105.0D, 106.0D, 107.0D, 108.0D, 109.0D }; for (int i = 0;; i++) { if (i >= 12) { return; } this.mCurrentSeries2.add(i, arrayOfDouble[i]); } } private void initChart() { this.mCurrentSeries = new XYSeries("Min Price"); this.mCurrentSeries1 = new XYSeries("Max Price"); this.mCurrentSeries2 = new XYSeries("Predicted Price"); this.mDataset.addSeries(this.mCurrentSeries); this.mDataset.addSeries(this.mCurrentSeries1); this.mDataset.addSeries(this.mCurrentSeries2); this.mCurrentRenderer = new XYSeriesRenderer(); this.mCurrentRenderer1 = new XYSeriesRenderer(); this.mCurrentRenderer2 = new XYSeriesRenderer(); this.mCurrentRenderer.setColor(-16776961); this.mCurrentRenderer1.setColor(-16711936); this.mCurrentRenderer2.setColor(-65536); this.mCurrentRenderer.setPointStyle(PointStyle.SQUARE); this.mCurrentRenderer1.setPointStyle(PointStyle.CIRCLE); this.mCurrentRenderer2.setPointStyle(PointStyle.DIAMOND); this.mCurrentRenderer.setFillPoints(true); this.mCurrentRenderer1.setFillPoints(true); this.mCurrentRenderer2.setFillPoints(true); this.mRenderer.addSeriesRenderer(this.mCurrentRenderer); this.mRenderer.addSeriesRenderer(this.mCurrentRenderer1); this.mRenderer.addSeriesRenderer(this.mCurrentRenderer2); this.mRenderer.setXTitle("month"); this.mRenderer.setYTitle("price"); this.mRenderer.setZoomButtonsVisible(true); this.mRenderer.setPointSize(2.0F); this.mRenderer.setShowGridX(true); String[] arrayOfString = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; for (int i = 0;; i++) { if (i >= arrayOfString.length) { this.mRenderer.setXLabels(0); this.mRenderer.setXLabelsAlign(Align.CENTER); return; } this.mRenderer.addTextLabel(i, arrayOfString[i]); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void onResume() { super.onResume(); LinearLayout localLinearLayout = (LinearLayout) findViewById(R.id.label); if (this.mChart == null) { initChart(); addSampleData1(); addSampleData2(); addSampleDatamid(); this.mChart = ChartFactory.getLineChartView(this, this.mDataset, this.mRenderer); localLinearLayout.addView(this.mChart); return; } this.mChart.repaint(); } }
Now we are done. Post your questions in the comment. I will be happy to answer those.
For more info visit on facebook https://www.facebook.com/androidcoolstuffs
Thank you
0 comments:
Post a Comment