2014-05-13 23 views
0

我是新來的,我有一個問題。 我有這個條形圖,我需要它填充只有一種顏色(每個酒吧),但是,爲了使差異,我需要每個酒吧的輪廓是在不同的顏色(紅色或綠色) 我的方法接收數據集1和2,也是數組中的相同數據。好吧,我正在比較我的數組,然後將顏色設置爲綠色或紅色。 但是,這裏是問題所在,渲染器獲取我係列的最後一個值。 這裏是我的代碼:如何在jfreechart中設置多個outlinePaint到渲染器(我正在使用條形圖)

public void crearChartSemanal(DefaultCategoryDataset dataPresupuestos, DefaultCategoryDataset dataGastos, Color[] colores, Color[] coloresBlancos, String tipo, JPanel panel,double[]g,double[]p) { 
     Paint coloPaint[] = new Paint[colores.length]; 
     Paint colorBordes[] = new Paint[coloresBlancos.length]; 

     coloPaint = coloresBlancos; 
     colorBordes = colores; 
     final CategoryItemRenderer rendererP = new CustomRenderer(
       coloPaint); 


     Paint outline = Color.BLACK; 
//  Paint orilla=new Paint(Color.CYAN); 

     System.out.println("count "+g.length); 
     for (int i = 0; i < g.length; i++) { 
      if (g[i] > p[i]) { 
//    outline = Color.YELLOW; 
       rendererP.setSeriesOutlinePaint(i,Color.green); 
       System.out.println("pase al rojo"); 
      } else if (g[i]<=p[i]){ 
       //outline = Color.RED; 
       rendererP.setSeriesOutlinePaint(i,Color.red); //the renderer takes this value at the end 
       System.out.println("njhbñ"); 
      } 
     } 

     System.out.println("Estoy aquí"); 
     // renderer.setLabelGenerator(generator); 
     rendererP.setItemLabelsVisible(true);  
     final CategoryPlot plot = new CategoryPlot(); 

     plot.setDataset(dataGastos); 
//  plot.setOutlinePaint(null); 

.... (另外,我對我的英語很抱歉,希望大家理解)

回答

0

如果子類BarRenderer類可以覆蓋getItemOutlinePaint()和返回任何顏色你想要一個項目的大綱。

+0

謝謝你,現在我已經想出了讓它在沒有輪廓的情況下看起來很好的方法,但是我會嘗試你說的:) – Azu