CandlestickRenderer 类中有一些方法可以将所有蜡烛的边框颜色更改为所需的颜色,但我需要将所有向上蜡烛边框设置为绿色,将所有向下蜡烛边框设置为红色。非常感谢任何建议或示例代码。
最佳答案
我通过深入研究 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());
结果:
关于java - 如何在 JFreeChart 烛台图中将主体和边框颜色设置为相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21103801/