Skip to main content

Bar Chart

Main Activity:-- 

package com.example.two_charts_includes;

import java.text.BreakIterator;

import org.achartengine.ChartFactory;
import org.achartengine.chart.BarChart.Type;
import org.achartengine.chart.PointStyle;
import org.achartengine.model.CategorySeries;
import org.achartengine.model.MultipleCategorySeries;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.model.XYSeries;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import org.achartengine.renderer.XYMultipleSeriesRenderer.Orientation;
import org.achartengine.renderer.XYSeriesRenderer;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity 
{
int[] x = { 0,1,2,3 };
double i=2.5,j=5,k=7.5,l=10,m=12.5,n=15;
double a=12,b=14,c=16,d=18,e=20,f=22;
double abc;
int servervariable=12;
double income[]=new double[6];
double expense[]=new double[6];




private String[] mMonth = new String[] 
{
"central mall             ", "Lotus         " , "V-mart        ", "Big bazaar\n\n\n\n\n\n\n", "T.I", "C-21",
"Jul", "Aug" , "Sep", "Oct", "Nov", "Dec"
};
private String[] mTime=new String[]
{
"10" , "12","2","4","6","8","9","10"
};

public void onCreate(Bundle savedInstanceState) 
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

switch (servervariable)
{
case 12:
abc=2.5;

break;
case 14:
abc=5;
break;
case 16:
abc=7.5;
break;
case 18:
abc=10;
break;
case 20:
abc=12.5;
break;
case 22:
abc=15;
break;
default:
break;
}
for(int t=0;t<x.length;t++)
{
income[t]=abc;

expense[t] =abc;
}

      

// Getting reference to the button btn_chart
Button btnChart = (Button) findViewById(R.id.btn_chart);

// Defining click event listener for the button btn_chart
OnClickListener clickListener = new OnClickListener() 
{


public void onClick(View v) 
{
// Draw the Income vs Expense Chart
openChart();
}
};

// Setting event click listener for the button btn_chart of the MainActivity layout
btnChart.setOnClickListener(clickListener);

}

private void openChart()
{

// Creating an  XYSeries for Income
XYSeries incomeSeries = new XYSeries("Income");

// Creating an  XYSeries for Expense
XYSeries expenseSeries = new XYSeries("Expense");
incomeSeries.addAnnotation("12k", 12d,13d );
// Adding data to Income and Expense Series
for(int w=0;w<x.length;w++){
incomeSeries.add(w,income[w]);
expenseSeries.add(w,expense[w]);

}

// 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.RED);
incomeRenderer.setFillPoints(true);
incomeRenderer.setLineWidth(0);
incomeRenderer.setChartValuesSpacing(10f);
incomeRenderer.setDisplayChartValues(false);

// Creating XYSeriesRenderer to customize expenseSeries
XYSeriesRenderer expenseRenderer = new XYSeriesRenderer();
expenseRenderer.setColor(Color.GREEN);
expenseRenderer.setFillPoints(true);

expenseRenderer.setDisplayChartValues(false);
expenseRenderer.setChartValuesSpacing(10f)  ;
// Creating a XYMultipleSeriesRenderer to customize the whole chart
XYMultipleSeriesRenderer multiRenderer = new XYMultipleSeriesRenderer();

multiRenderer.addYTextLabel(0, "10");
multiRenderer.addYTextLabel(2.5d, "12");
multiRenderer.addYTextLabel(5, "14");
multiRenderer.addYTextLabel(7.5d, "16");
multiRenderer.addYTextLabel(10, "18");
multiRenderer.addYTextLabel(12.5d, "20");
multiRenderer.addYTextLabel(15, "22");
// multiRenderer.addYTextLabel(17.5, "00");
multiRenderer.setChartTitle("Income vs Expense Chart");
multiRenderer.setXTitle("Year 2012");
//multiRenderer.setYTitle("Amount in Dollars");

multiRenderer.setBarSpacing(.5d);
multiRenderer.setInitialRange(new double[]{400,200,100,200});
//multiRenderer.setPanLimits(new double[]{0,200,0,200});
multiRenderer.setYAxisMax(15);
     
multiRenderer.setShowGridX(true);
multiRenderer.setShowGridY(true);
// multiRenderer.setXLabels(20);
// multiRenderer.setYLabels(20);
multiRenderer.setOrientation(multiRenderer.getOrientation().VERTICAL);
multiRenderer.setZoomButtonsVisible(false);
multiRenderer.setYAxisMin(0,0 );
multiRenderer.setXAxisMin(0,0 );     
//multiRenderer.setLegendHeight(100);
multiRenderer.setPanEnabled(true, false);
for(int z=0; z< x.length;z++)
{

multiRenderer.addXTextLabel(z, mMonth[z]);
//multiRenderer.addYTextLabel(i, mTime[i]);
}


multiRenderer.setGridColor(Color.WHITE);
multiRenderer.setMargins(new int[] {20 ,20,50,80});
// 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 bar chart using dataset and multipleRenderer
Intent intent = ChartFactory.getBarChartIntent(getBaseContext(), dataset, multiRenderer, Type.DEFAULT);

// Start Activity
startActivity(intent);

}


public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}



Android Manifest :-- 

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.two_charts_includes"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="4"
        android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
         <activity android:name="org.achartengine.GraphicalActivity"/>
    </application>

</manifest>

Comments

Popular posts from this blog

ToggleButton vs Switch In Android (एंड्रॉइड में स्विच vs टॉगल बटन)

what is Fragment in Android (फ्रेगमेंट क्या हे एंड्राइड में ) - Coding Part

Android Project Structure(एंड्राइड प्रोजेक्ट स्ट्रक्चर )