开发者

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜