2016-05-13 2 views
1

複数のグラフを結合して1つのグラフを作成しようとしています。個々のグラフは白い背景を持っていますが、どうやら統合されたグラフは、setBackgroundpaint APIを使用していても灰色の背景になってしまいます。jfreechart setBackgroundpaintが動作しない

public static String mergeXYGraphs(List<XYPlot> plots, String title, boolean legend, int width, int height) throws IOException 
{ 
    if(plots != null && !plots.isEmpty()) 
    { 
     XYPlot base = plots.get(0); 
     for(int i = 1; i< plots.size(); i++) 
     { 
      base.setDataset(i, plots.get(i).getDataset()); 
      base.setRenderer(i, plots.get(i).getRenderer()); 
     } 
     JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, base, legend); 
     setDateAxis(base); 
     chart.getXYPlot().setBackgroundPaint(Color.WHITE); 
     return saveImageFile(chart, "merged", "charts", width, height); 
    } 
    return ""; 
} 


private static void setDateAxis(XYPlot plot) 
{ 
    DateAxis domainAxis = new DateAxis(); 
    domainAxis.setAutoTickUnitSelection(true); 
    domainAxis.setDateFormatOverride(new SimpleDateFormat("dd/MM")); 
    plot.setDomainAxis(domainAxis); 
} 

PS:base.setBackgroundPaint(Color.WHITE);どちらか

enter image description here

答えて

1

を動作しません。だから、私たちはさまざまな部分の色を制御するためにはJFreeChartに異なるレベルの色を設定しなければならないことが判明します。

上記の画像では、パネルの背景色は白ですが、グラフの背景色は表示されません。だから、私は使用しなければならなかった:

chart.setBackgroundPaint(Color.WHITE); 
関連する問題