java - 如何在 JFreeChart 烛台图中将主体和边框颜色设置为相同

标签 java jfreechart candlestick-chart

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());

结果:

chart

关于java - 如何在 JFreeChart 烛台图中将主体和边框颜色设置为相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21103801/

相关文章:

jfreechart - 使用 JFreeChart 和 Apache PDFBOX 生成图表

java - JFreeChart - RangeAxis 自动调整范围并且不从 0 开始

java - 如何在Java freechart中添加多行?

c# - Oxyplot:蜡烛重叠每根蜡烛

python - 日期时间格式的 Matplotlib 日期

java - 使用Ant编译j2me

java - Web 服务跨语言参数类型

javascript - 如何将参数绑定(bind)到 URL

java - Spring Restful API,是否有像路由器一样使用方法来获取其他方法的端点或URL?

python - 使用 Matplotlib v2.2.2 的烛台图表?