2014-01-14 38 views

回答

3

我得到了这个挖成CandlestickRenderer类源

首先,一个子类

public class MyCandlestickRenderer extends CandlestickRenderer { 

    @Override 
    public Paint getItemPaint(int row, int column) { 

     //determine up or down candle 
     XYDataset dataset = getPlot().getDataset(); 
     OHLCDataset highLowData = (OHLCDataset) dataset; 
     int series = row, item = column; 
     Number yOpen = highLowData.getOpen(series, item); 
     Number yClose = highLowData.getClose(series, item); 
     boolean isUpCandle = yClose.doubleValue() > yOpen.doubleValue(); 

     //return the same color as that used to fill the candle 
     if (isUpCandle) { 
      return getUpPaint(); 
     } 
     else { 
      return getDownPaint(); 
     } 
    } 
} 

然后设置图表使用它

chart.getXYPlot().setRenderer(new MyCandlestickRenderer()); 

结果:

chart

+0

完美无缺,正是我所期待的,我也学到了一些关于班级如何工作的知识。谢谢! – user2312915

+0

不应该是:'XYDataset dataset = getPlot()。getDataset(row);'?指定数据集中的系列索引。 – Martin

相关问题