【问题标题】:How to remove box around label in piechart?如何删除饼图中标签周围的框?
【发布时间】:2016-12-12 20:22:39
【问题描述】:

有谁知道如何删除 jasperreport 饼图中标签周围的框/边框?我需要在 .jrxml 文件中包含什么,以便标签显示时没有边框。

【问题讨论】:

  • 你问的是简单的饼图还是高图?
  • 这是 pie3DChart

标签: jasper-reports jfreechart pie-chart


【解决方案1】:

添加JRChartCustomizer,将labelOutlinePaint 和labelShadowPaint 设置为null

示例

Java 定制器

public class NoLabelCustomizer implements JRChartCustomizer{
    @Override
    public void customize(JFreeChart chart, JRChart jrchart) {
        PiePlot plot = (PiePlot) chart.getPlot();
         plot.setLabelOutlinePaint(null);
         plot.setLabelShadowPaint(null);    
    }
}

jrxml

<pie3DChart>
    <chart isShowLegend="false" customizerClass="NoLabelCustomizer">
            <reportElement mode="Opaque" x="225" y="0" width="320" height="140" backcolor="#FFFFFF" uuid="23bd26a6-04a4-406f-8a1a-5e1b260cb75d"/>
            <chartTitle/>
            <chartSubtitle/>
            <chartLegend/>
            <anchorNameExpression><![CDATA["Graph"]]></anchorNameExpression>
            <hyperlinkTooltipExpression><![CDATA["Graph"]]></hyperlinkTooltipExpression>
    </chart>
    <pieDataset>
            <keyExpression><![CDATA[$F{User}]]></keyExpression>
            <valueExpression><![CDATA[$F{Rep}]]></valueExpression>
    </pieDataset>
    <pie3DPlot isShowLabels="true">
            <plot/>
            <itemLabel/>
    </pie3DPlot>
</pie3DChart>

注意图表标签上的customizerClass="NoLabelCustomizer"

输出(使用来自 question 的数据源)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    相关资源
    最近更新 更多