覆盖jfreechart在不覆盖drawItem的情况下绘制点的位置

时间:2011-08-29 15:10:43

标签: java jfreechart

到目前为止我有这个代码。现在我想覆盖绘制点的位置。如果该点低于1,我想将该点绘制为1并放置一个橙色标记。我有颜色设置,但现在我想改变Y的位置。我看到的唯一可以覆盖的方法是drawItem。但我不是百分百肯定。

public class XYCustomRenderer extends XYShapeRenderer {

    @Override
    public Paint getItemPaint( int series, int item ) {

        TimeSeriesCollection seriesCollection = ( TimeSeriesCollection ) getPlot().getDataset();
        //Logger.info( "" + data.getY( 0, 2 ) );

        if ( seriesCollection.getYValue( series, item ) < 1 ) {
            return Color.ORANGE;
        }

        return Color.RED;
    }
}

1 个答案:

答案 0 :(得分:1)

您可能会看到BoxAndWhiskerRenderer here使用Outlier的方式。或者,引脚负数表示某个任意值,例如, 0,在您的数据模型中,并使用自定义getItemPaint()更改相应项目的颜色。