在JFreeChart中使条形半透明?

时间:2013-08-30 17:48:32

标签: java swing jfreechart

我使用JFreeChart创建了一个XYBarChart,我想知道如果绿色条纹隐藏在其后面是否有另一组条形图,是否可以使绿色条形图变为半透明。换句话说,也许只改变蓝色顶部绿色条的不透明度?

enter image description here

1 个答案:

答案 0 :(得分:0)

大多数渲染器实现都有一个getItemPaint()方法,该方法在AbstractRenderer.getItemPaint()中实现。此方法返回Paint以用于绘制特定项(条)。您可以在自己的渲染器类中重写此方法,并实现确定条形图的颜色和透明度所需的任何逻辑。

有关示例,请参阅JFreeChart论坛上的this post或在论坛中搜索更多示例。基本上这只是:

class CustomRenderer extends BarRenderer
{


    public Paint getItemPaint (int row, int column)
    {
        if (/* something */) {
            Paint mySpecialColor = new Color(0.0f, 1.0f, 0.0f, 0.5f);
            return mySpecialColor;
        }

        // else just return the "normal" paint for the series
        return getSeriesPaint(row);
    }
}

HTH,
- 马丁