colors - How do I change the background / transparency of a 3dPieChart (JFreeChart API)? -


i have declared 3dpiechart, , want change background / transparency. in case, 'background' mean white space.

enter image description here

here's function implements chart, if it's helpful somehow.

    //customize panel visualising statistics     public void customizestatisticspanelwhenbuttoninispressed()     {        transactionscenterfinalpanel.setlayout(new borderlayout());     //center side of main panel     jpanel statisticspanelcenter = new jpanel();     statisticspanelcenter.setborder(borderfactory.createetchedborder(etchedborder.lowered));      //create dataset         defaultpiedataset piedataset = new defaultpiedataset();      //add values dataset     piedataset.setvalue("deposit:", depositcount);     piedataset.setvalue("withdraw:", withdrawcount);     piedataset.setvalue("transfer:", transfercount);      //create 3d chart given title appears above chart     jfreechart chart = chartfactory.createpiechart3d(" ", piedataset, true, false, true);     final chartpanel chartpanel = new chartpanel(chart);     chartpanel.setpreferredsize(new dimension(315, 195));     chartpanel.setborder(borderfactory.createetchedborder(etchedborder.lowered));      //declare pieplot can customize chart     pieplot3d plot = (pieplot3d) chart.getplot();     plot.setinsets(new rectangleinsets(-6.0, 5.0, 5.0, 5.0));     plot.setdirection(rotation.clockwise);     plot.setignorezerovalues(true);      plot.setlabelgenerator(new standardpiesectionlabelgenerator("{0} {1} ({2})"));     plot.setdepthfactor(0.1);     plot.setcircular(true);     plot.setdarkersides(true);      //create timer animation     rotate3dpiechart = new timer(150, new actionlistener()     {         public void actionperformed(actionevent ae)         {             //set start angle, increases everytime timer executed             plot.setstartangle(piechartthreaditerator = piechartthreaditerator + 0.6);                        }     });      //south side     jpanel statisticspanelsouth = new jpanel();     statisticspanelsouth.setborder(borderfactory.createetchedborder(etchedborder.lowered));      jbutton transactionscount = new jbutton("count");     statisticspanelsouth.add(transactionscount);     transactionscenterfinalpanel.add(chartpanel, borderlayout.center);     transactionscenterfinalpanel.add(statisticspanelsouth, borderlayout.south);      transactions.add(transactionscenterfinalpanel, borderlayout.center);      //start timer (animation starts!)     rotate3dpiechart.start();         revalidate(); } 

note: using plot chart, set plot.setbackgroundpaint(color.gray) doesn't good. changes background inside outline. want gray. how can ?

the white space surrounding plot in example chart's background. can set image and/or translucent color shown below. otherwise gray image in tinted 50% transparent yellow.

image

jfreechart piechart = chartfactory.createpiechart3d(…); try {//https://www.pinterest.com/pin/79516749641165970/     piechart.setbackgroundimage(imageio.read(new url(         "https://s-media-cache-ak0.pinimg.com/736x/bb/bf/bf/bbbfbfd869f20db50d3dd4943790020f.jpg"))); } catch (ioexception ex) {     ex.printstacktrace(system.err); } piechart.setbackgroundpaint(new color(0x7fffff00, true)); 

a different effect can achieved using setbackgroundimagealpha().

image

piechart.setbackgroundpaint(color.yellow); piechart.setbackgroundimagealpha(0.5f);