1
CandlestickRenderer类中有方法可将所有蜡烛的边框颜色更改为所需的颜色,但我需要将所有的上蜡烛边界变为绿色,所有的下降蜡烛边界变为红色。任何建议或示例代码非常感谢。如何在JFreeChart烛台图表中设置主体和边框颜色相同
CandlestickRenderer类中有方法可将所有蜡烛的边框颜色更改为所需的颜色,但我需要将所有的上蜡烛边界变为绿色,所有的下降蜡烛边界变为红色。任何建议或示例代码非常感谢。如何在JFreeChart烛台图表中设置主体和边框颜色相同
我得到了这个挖成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());
结果:
完美无缺,正是我所期待的,我也学到了一些关于班级如何工作的知识。谢谢! – user2312915
不应该是:'XYDataset dataset = getPlot()。getDataset(row);'?指定数据集中的系列索引。 – Martin