java - Combined bar and line chart JfreeChart. Trying to make a 3 point average with the line chart. The values do not line up correctly -


i have dataset barchart lets say:{1,2,3,4,5,6,7,8,9}. have line chart suppose 3 point average, value of barchart @ index, , 2 values before that, divided three.

the line chart should nonexistent corresponding barchart values 1 , 2, , begin @ position 3. tried using try , catch block , if statement put values in if possible, when did still started line graph @ position 1 , stretched out fit graph.

how can line chart starts @ column 3 , goes on there?

heres have right now:

public class mocktest extends jframe{

public mocktest() {     //mock data     defaultcategorydataset dataset = new defaultcategorydataset();     defaultcategorydataset dataset2 = new defaultcategorydataset();     int[] times = new int[]{1,2,3,4,5,6,7,8,9};      ( int = 0; < times.length; i++ ){         dataset.addvalue(times[i], "time", "hour" + string.valueof(i+1));;         if(i>2)         {             dataset2.addvalue((times[i] + times[i-1] + times[i-2])/3, "time", "hour" + string.valueof(i+1));          }      }     categoryplot plot = new categoryplot();      //create plot      //add first dataset, , render bar values     categoryitemrenderer renderer = new barrenderer();     plot.setdataset(0,dataset);     plot.setrenderer(0,renderer);        //add second dataset, render lines     categoryitemrenderer renderer2 = new lineandshaperenderer();     plot.setdataset(1, dataset2);      plot.setrenderer(1, renderer2);      //set axis      categoryaxis domainaxis = new categoryaxis("time");       numberaxis rangeaxis = new numberaxis("value");       plot.setdomainaxis(0,domainaxis);     plot.setrangeaxis(rangeaxis);     jfreechart chart = new jfreechart(plot);     chartpanel chartpanel = new chartpanel( chart );       this.setcontentpane(chartpanel); }    

** figured out, put if(i<2) statement, add else statement , put in null values.

i ended using try , catch block, if , else have worked. dont want values put null value.

    for(int i=0;i<ints1.size();i++)     {         dataset.addvalue(ints1.get(i), "good product", "hour" + string.valueof(i+1));         dataset.addvalue(ints2.get(i), "bad product", "hour" + string.valueof(i+1));         try{             dataset2.addvalue((ints1.get(i) + ints1.get(i-1) + ints1.get(i-2))/3, "time", "hour" + string.valueof(i+1));             }             catch(arrayindexoutofboundsexception e)             {                 dataset2.addvalue(null, "time", "hour" + string.valueof(i+1));             }     } 

Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -