How to use Achartengine to generate charts in Android _android

Source: Internet
Author: User
Tags set background

I used the chart function to do the project today, and I recorded it.

Achartengine is a Google Open source project that can download technical documents, jar packs, and project source code in https://code.google.com/p/achartengine/

Demo Download: https://code.google.com/p/achartengine/downloads/list

One, pie-like chart

New project, add Achartengine jar pack

Piechart.java

Copy Code code as follows:

Package Com.meritit.footlottery.view;

Import Org.achartengine.ChartFactory;
Import org.achartengine.model.CategorySeries;
Import Org.achartengine.renderer.DefaultRenderer;
Import Org.achartengine.renderer.SimpleSeriesRenderer;

Import Android.content.Context;
Import Android.graphics.Color;
Import Android.view.View;

Public class Piechart {
 public View Execute (Context context) {
  int[] colors = new int[] {Color . RED, Color.yellow, color.blue};
  defaultrenderer renderer = buildcategoryrenderer (colors);
  categoryseries categoryseries = new Categoryseries ("Vehicles Chart");
  categoryseries.add ("Sheng", 30);
  categoryseries.add ("negative", 20);
  categoryseries.add ("flat", 60);
  return chartfactory
    .getpiechartview (context, categoryseries, renderer );
 }

Protected Defaultrenderer buildcategoryrenderer (int[] colors) {
Defaultrenderer renderer = new Defaultrenderer ();
for (int color:colors) {
Simpleseriesrenderer r = new Simpleseriesrenderer ();
R.setcolor (color);
Renderer.addseriesrenderer (R);
}
Show labels
Renderer.setshowlabels (TRUE);
Do not show bottom description
Renderer.setshowlegend (FALSE);
Set Label font size
Renderer.setlabelstextsize (15);
Renderer.setlabelscolor (Color.Black);
Renderer.setzoomenabled (FALSE);
Renderer.setpanenabled (FALSE);
return renderer;
}
}

How to use

Copy Code code as follows:

View Piechart = new Piechart (). Execute (this);
Chartarea.addview (Piechart);

Get a View object, AddView directly below the layout you want to add

Second, columnar chart

Copy Code code as follows:

Package Com.meritit.footlottery.view;

Import Java.util.Random;

Import Org.achartengine.ChartFactory;
Import Org.achartengine.chart.BarChart.Type;
Import org.achartengine.model.CategorySeries;
Import Org.achartengine.model.XYMultipleSeriesDataset;
Import Org.achartengine.renderer.DefaultRenderer;
Import Org.achartengine.renderer.SimpleSeriesRenderer;
Import Org.achartengine.renderer.XYMultipleSeriesRenderer;

Import COM.MERITIT.FOOTLOTTERY.R;

Import Android.content.Context;
Import Android.graphics.Color;
Import Android.view.View;

public class Barchart {
private context;
Public View Execute (context context) {
This.context = context;
Return chartfactory
. Getbarchartview (context, Getbardemodataset (), Getbardemorenderer (), type.default);
}

/**
* Xymultipleseriesdataset type Object that provides the dataset that the chart needs to represent.
* Here we use Getbardemodataset to get it.
*/
Private Xymultipleseriesdataset Getbardemodataset () {
Xymultipleseriesdataset DataSet = new Xymultipleseriesdataset ();
Final int nr = 10;
Random r = new Random ();
for (int i = 0; i < 3; i++) {
Categoryseries series = new Categoryseries ("Team" + (i + 1));
for (int k = 0; k < nr; k++) {
Series.add (+ r.nextint ()% 100);
}
Dataset.addseries (Series.toxyseries ());
}
return dataset;
}

/**
* An object of type Xymultipleseriesrenderer to provide some style for the presentation of the chart,
* Here we use the Getbardemorenderer method to get it.
* The Getbardemorenderer method constructs a xymultipleseriesrenderer used to set the respective colors of the 2 series
*/
Public Xymultipleseriesrenderer Getbardemorenderer () {
Xymultipleseriesrenderer renderer = new Xymultipleseriesrenderer ();
Simpleseriesrenderer r = new Simpleseriesrenderer ();
R.setcolor (Color.Blue);
Renderer.addseriesrenderer (R);
R = new Simpleseriesrenderer ();
R.setcolor (Color.green);
Renderer.addseriesrenderer (R);
R = new Simpleseriesrenderer ();
R.setcolor (color.red);
Renderer.addseriesrenderer (R);
Renderer.setapplybackgroundcolor (TRUE);
Renderer.setbackgroundcolor (color.transparent);
Renderer.setmarginscolor (Context.getresources (). GetColor (R.color.main_background_color));
Renderer.setzoomenabled (False, false);
Renderer.setpanenabled (False, false);
Renderer.setlabelstextsize (15);
Renderer.setlabelscolor (Color.Black);
Setchartsettings (renderer);
return renderer;
}

/**
* The Setchartsettings method sets the bottom axis style.
*/
private void Setchartsettings (Xymultipleseriesrenderer renderer) {
Renderer.setcharttitle ("Record Analysis");
Renderer.setxtitle ("horizontal axis");
Renderer.setytitle ("ordinate");
Renderer.setxaxismin (0.5);
Renderer.setxaxismax (10.5);
Renderer.setyaxismin (0);
Renderer.setyaxismax (210);
}
}

The code section above explains:
Renderer.setapplybackgroundcolor (TRUE); Set background to enable, true setting background below valid

Renderer.setbackgroundcolor (color.transparent); Set background

Renderer.setmarginscolor ()//Set color of surrounding area

Renderer.setzoomenabled (False, false); Whether the settings can be enlarged

Renderer.setpanenabled (False, false); Set whether you can move

Renderer.setlabelstextsize (15); Set Label text size
Renderer.setlabelscolor (Color.Black);

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.