wifi - Android Achartengine: Barchart dealing with big number of series -


i'm trying bar chart , of wifi channels , received signal strength. can create mannualy 2,3..series bat in reality have 25 bar display.so have different colors ,well how can set randomly colors bars.i know how manualy ,but can't 25 bars ,and specielly 25 number changing (25 represents access points detected ) code 2 series :

public class truitonachartengineactivity extends actionbaractivity {  private static int series_nr  ; //the number of columns display, arraylist<scanresult> classobject = new arraylist<scanresult>(); int [ ] [ ] center_frequency_2 = {   { 1,2,3,4,5,6,7,8,9,10,11,12,13,14 },         { 2412, 2417, 2422, 2427, 2432,2437,2442,2447,2452 ,2457,2462,2467,2472,2484},     }; @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_truiton_achart_engine);     xymultipleseriesrenderer renderer = gettruitonbarrenderer();     mychartsettings(renderer);     bundle v = getintent().getextras();     //arraylist<scanresult> classobject = (arraylist<scanresult>) v.getserializable("key");      classobject = (arraylist<scanresult>) v.getserializable("key");          intent intent = chartfactory.getbarchartintent(this, gettruitonbardataset(), renderer, type.default);         startactivity(intent);  }  private xymultipleseriesdataset gettruitonbardataset() {         xymultipleseriesdataset dataset = new xymultipleseriesdataset();         final int nr = 4;         random r = new random();         arraylist<string> legendtitles = new arraylist<string>();         legendtitles.add("sales");         legendtitles.add("expenses");         series_nr = 2 ;         (int = 0; < series_nr; i++) {             categoryseries series = new categoryseries(legendtitles.get(i));             (int k = 0; k < nr; k++) {                 if (k==2)                 series.add(classobject.get(2).level);                 if (k==1)                     series.add(classobject.get(1).level);                 if (k==3)                     series.add(classobject.get(3).level);             }             dataset.addseries(series.toxyseries());         }         return dataset;     }   public xymultipleseriesrenderer gettruitonbarrenderer() {     xymultipleseriesrenderer renderer = new xymultipleseriesrenderer();     renderer.setaxistitletextsize(10);     renderer.setcharttitletextsize(20);     renderer.setlabelstextsize(10);     renderer.setlegendtextsize(10);     renderer.setmargins(new int[] { 30, 40, 15, 0 });         simpleseriesrenderer r = new simpleseriesrenderer();         r.setcolor(color.blue);         renderer.addseriesrenderer(r);     r = new simpleseriesrenderer();     r.setcolor(color.red);     renderer.addseriesrenderer(r);      return renderer; }  @suppresswarnings("deprecation") private void mychartsettings(xymultipleseriesrenderer renderer) {     renderer.setcharttitle("wifi channels");     renderer.setxaxismin(0.5);     renderer.setxaxismax(14.5);     renderer.setyaxismin(-30);     renderer.setyaxismax(-90);     renderer.addxtextlabel(1, "1");     renderer.addxtextlabel(2, "2");     renderer.addxtextlabel(3, "3");     renderer.addxtextlabel(4, "4");     renderer.addxtextlabel(5, "5");     renderer.addxtextlabel(6, "6");     renderer.addxtextlabel(7, "7");     renderer.addxtextlabel(8, "8");     renderer.addxtextlabel(9, "9");     renderer.addxtextlabel(10, "10");     renderer.addxtextlabel(11, "11");     renderer.addxtextlabel(12, "12");     renderer.addxtextlabel(13, "13");     renderer.addxtextlabel(14, "14");      /*renderer.addytextlabel(0, "");     renderer.addytextlabel(10, "-90");     renderer.addytextlabel(20, "-80");     renderer.addytextlabel(30, "-70");     renderer.addytextlabel(40, "-60");     renderer.addytextlabel(50, "-50");     renderer.addytextlabel(60, "-40");     renderer.addytextlabel(70, "-30");     renderer.addytextlabel(80, "");*/     renderer.setpanenabled(true, true);     renderer.setzoomenabled(false, false);       renderer.setapplybackgroundcolor(true);     renderer.setbackgroundcolor(color.black);       renderer.setylabelsalign(align.right);     renderer.setbarspacing(0.5);     renderer.setxtitle("canal du wifi");     renderer.setytitle("puissance du signal[dbm]");     renderer.setshowgrid(true);     renderer.setgridcolor(color.gray);     renderer.setxlabels(0); // sets number of integer labels appear   renderer.setxlabels((int) 0.5);//25     renderer.setylabels(10);  }  @override public boolean oncreateoptionsmenu(menu menu) {      // inflate menu; adds items action bar if present.     getmenuinflater().inflate(r.menu.truiton_achart_engine, menu);     return true; }  @override public boolean onoptionsitemselected(menuitem item) {     // handle action bar item clicks here. action bar     // automatically handle clicks on home/up button, long     // specify parent activity in androidmanifest.xml.     int id = item.getitemid();     if (id == r.id.action_settings) {         return true;     }     return super.onoptionsitemselected(item); } 

}

use each time want make new random color.

int randomcolor = color.rgb((int)(math.random() * 255), (int)(math.random() * 255), (int)math.random() * 255)); 

Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -