在饼图中删除矩形的图例边框

时间:2014-08-14 06:28:19

标签: jfreechart

我正在尝试使用以下代码将图例项目形状设置为矩形。但我总是在矩形周围看到黑色边框。我该如何删除它。我尝试了一些设置,例如将图例边框设置为零,将绘图setOutlineVisible设置为false,但没有设置

plot.setLegendItemShape(new Rectangle(8,6));

Jaspersoft Studio中使用的完整自定义程序代码

public class PieCustomizer extends JRAbstractChartCustomizer{
public void customize(JFreeChart chart, JRChart jasperChart){

    PiePlot plot = (PiePlot) chart.getPlot();

    plot.setShadowXOffset(0);
    plot.setShadowYOffset(0);

    plot.setLegendItemShape(new Rectangle(8,6));
    LegendTitle legend = chart.getLegend();
    legend.setFrame(BlockBorder.NONE);
    legend.setPosition(RectangleEdge.LEFT);
    legend.setVerticalAlignment(VerticalAlignment.BOTTOM);

    plot.setSectionOutlinesVisible(false);
    plot.setDirection(Rotation.ANTICLOCKWISE);
    plot.setLabelLinkPaint(new Color(103,103,103));
    plot.setLabelOutlinePaint(Color.BLUE);
    plot.setLabelShadowPaint(Color.WHITE);
    }
}

Screenshot (can't paste inline image due to insufficient reputation points)

1 个答案:

答案 0 :(得分:3)

使用sectionOutlinePaintsectionOutlineStroke绘制矩形。

如果您希望使它们不可见,您可以为数据集中的所有键设置以下内容:

plot.setSectionOutlinePaint(key, Color.WHITE);
plot.setSectionOutlineStroke(key ,new BasicStroke(0f));

如果要删除图例框周围的边框,则应设置LegendTitle对象的边框:

legend.setBorder(0, 0, 0, 0);