Android Combat Simple Tutorial-16th gun (Linechart to achieve data trend display)

Source: Internet
Author: User

The line chart in Achartengine is a graph of lines, a kind of data display. First we will download the Achartengine jar package and import it into the project.

Look directly at the code (some comments):

Package Com.yayun.linechart;import Java.util.arraylist;import Java.util.list;import org.achartengine.ChartFactory; Import Org.achartengine.chart.pointstyle;import Org.achartengine.model.xymultipleseriesdataset;import Org.achartengine.model.xyseries;import Org.achartengine.renderer.xymultipleseriesrenderer;import Org.achartengine.renderer.xyseriesrenderer;import Android.app.activity;import Android.graphics.Color;import Android.graphics.paint.align;import Android.os.bundle;import Android.view.view;public class MainActivity extends Activity {@Overridepublic void onCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate); String[] titles = new string[] {"Crete", "CORFU", "Thassos", "Skiathos"};//four headings, i.e. four cities list<double[]> x = new Array  List<double[]> (); for (int i = 0; i < titles.length; i++) {X.add (new double[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, //x axis value}list<double[]> values = new arraylist<double[]> ();//The value to be displayed Values.add (new double[] {12.3, 12.5, 13.8, 16.8, 20.4, 24.4, 26.4,26.1, 23.6, 20.3, 17.2, 13.9}); Values.add (new double[] {10, 10, 12, 15, 20, 24, 26, 26, 14,11}); Values.add (new double[] {5, 5.3, 8, 9,, 24.2, 6}); Values.add (new double[] {9, 1 0, one, ten, (+), Max, (+), (+), (+), int[] colors = new int[] {color.blue, color.green, Color.cyan,color.yellow} ;///four display colors pointstyle[] styles = new pointstyle[] {pointstyle.circle,pointstyle.diamond, pointstyle.triangle, Pointstyle.square};//Four display styles Xymultipleseriesrenderer renderer = buildrenderer (colors, styles); int length = Renderer.getseriesrenderercount (); for (int i = 0; i < length; i++) {((Xyseriesrenderer) Renderer.getseriesrendererat ( i). Setfillpoints (true);} Setchartsettings (renderer, "Average temperature", "Month", "Temperature", 0.5, 12.5, -10, +, Color.ltgray, Color.ltgray ); Renderer.setxlabels (renderer.setylabels); Renderer.setshowgrid (true); Renderer.setxlabelsalign ( Align.right); renderer.setylabelsalign (align.right); rEnderer.setzoombuttonsvisible (TRUE);//Zoom button renderer.setpanlimits (new double[] {-10, 20,-10, 40}); Renderer.setzoomlimits (New double[] {-10, 20,-10, 40}); View view = Chartfactory.getlinechartview (This,builddataset (titles, x, values), renderer);// Get Viewview.setbackgroundcolor (Color.Black);//Background color setcontentview (view);} Private Xymultipleseriesrenderer Buildrenderer (int[] colors,pointstyle[] styles) {Xymultipleseriesrenderer renderer = New Xymultipleseriesrenderer (); Setrenderer (renderer, colors, styles); return renderer;} private void Setrenderer (Xymultipleseriesrenderer renderer, int[] colors,pointstyle[] styles) { Renderer.setaxistitletextsize (renderer.setcharttitletextsize); renderer.setlabelstextsize (15); Renderer.setlegendtextsize, Renderer.setpointsize (5f), Renderer.setmargins (new int[] {(+), (+), n}); int length = colors.length;for (int i = 0; i < length; i++) {Xyseriesrenderer r = new Xyseriesrenderer (); R.setcolor (Colors[i]); r.set Pointstyle (Styles[i]); Renderer.addserieSrenderer (R);}} private void Setchartsettings (xymultipleseriesrenderer renderer,//coordinates set string title, String Xtitle, String ytitle, Double xmin,double xmax, double ymin, double yMax, int axescolor,int labelscolor) {renderer.setcharttitle (title); Renderer.setxtitle (Xtitle); Renderer.setytitle (Ytitle); Renderer.setxaxismin (xMin); Renderer.setxaxismax (XMax); Renderer.setyaxismin (ymin); Renderer.setyaxismax (YMax); Renderer.setaxescolor (Axescolor); Renderer.setlabelscolor (Labelscolor);} Private Xymultipleseriesdataset Builddataset (string[] titles,//create DataSet list<double[]> xValues, list<double[] > Yvalues) {xymultipleseriesdataset DataSet = new Xymultipleseriesdataset (); Addxyseries (DataSet, titles, XValues, Yvalues, 0); return dataset;} private void Addxyseries (Xymultipleseriesdataset DataSet, string[] titles,list<double[]> xValues, list< double[]> yvalues, int scale) {int length = titles.length;for (int i = 0; i < length; i++) {Xyseries series = new XY Series (Titles[i], scale);d ouble[] XV = Xvalues.get (i);d ouble[] yv = Yvalues.get (i); int serieslength = xv.length;for (int k = 0; k < serieslength; k++) {Series.add (xv[k], yv[k]);} Dataset.addseries (series);}}}
The effect of running the instance is as follows:


Like a friend can pay attention to me, thank you!

Android Combat Simple Tutorial-16th gun (Linechart to achieve data trend display)

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.