Draw a Graph in Android
I wanted to draw a graph in Android such that on X axis I want Months like Jan, Feb, March, Apr, May, Jun, Aug, Sep, Oct, Nov, Dec and on Y axis the amount how much you spending in that particular month.
I have a code that draw the graph on an android:-
mySimpleXYPlot = (XYPlot) findViewById(R.id.mySimpleXYPlot);
Number[] series1Numbers = { 1, 8, 5, 2, 7, 4 };
Number[] series2Numbers = { 4, 6, 3, 8, 2, 10 };
XYSeries series1 = new SimpleXYSeries(Arrays.asList(series1Numbers),
SimpleXYSeries.ArrayFormat.Y_VALS_ONLY,"Series1");
XYSeries series2 = new SimpleXYSeries(Arrays.asL开发者_StackOverflow社区ist(series2Numbers),
SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "Series2");
LineAndPointFormatter series1Format = new LineAndPointFormatter(
Color.rgb(0, 200, 0), // line color
Color.rgb(0, 100, 0), // point color
Color.rgb(150, 190, 150)); // fill color (optional)
mySimpleXYPlot.addSeries(series1, series1Format);
mySimpleXYPlot.addSeries(
series2,
new LineAndPointFormatter(Color.rgb(0, 0, 200),
Color.rgb(0, 0, 100), Color.rgb(150, 150, 190)));
mySimpleXYPlot.setTicksPerRangeLabel(3);
}
But I want on X Axis the Months and on Y axis particular amount they spend in that month. and these values are coming from database, month in which they are spending money in the form of mon the reuqired month they spend and Name contains the value they spend in that month.
try {
myDB = this.openOrCreateDatabase("Expense_db", MODE_PRIVATE, null);
Cursor c = myDB.rawQuery("SELECT project_android.Month AS Month_Real, " +
"SUM(Total) AS OrderTotal FROM project_android " +
"WHERE Year='"+value1+"' " +
"GROUP BY project_android.Month " , null);
int Column1 = c.getColumnIndex("Month_Real");
int Column2 = c.getColumnIndex("OrderTotal");
//int current=0;
// Check if our result was valid.
c.moveToFirst();
if (c != null) {
// Loop through all Results
do {
mon = c.getString(Column1);
Name = c.getDouble(Column2);
Log.i(TAG, "Testing_value_graph_month: " + Name + " | " + mon + " " );
}while(c.moveToNext());
c.close();
}
}
catch(Exception e) {
Log.e("Error", "Error", e);
} finally {
if (myDB != null)
myDB.close();
}
Any help will be appreciated..!
I used this
Click Here
code for same requirement hope it will help you
精彩评论