Jasper Report柱状图/堆叠柱状图填充图案设置方法求助
在Jasper Report中为柱状图/堆叠柱状图设置斜线填充图案
一、可视化操作步骤(Jaspersoft Studio)
如果用可视化设计工具,按以下步骤设置:
- 打开报表设计文件,选中目标柱状图(Bar/StackedBar),切换到右侧属性面板。
- 展开
Plot->Series节点,找到要设置填充的目标数据系列,点击右侧的编辑按钮(...)。 - 在弹出的「Series Properties」窗口中,切换到Fill标签页。
- 将填充类型(Fill Type)从默认的
Solid改为Pattern。 - 在Pattern下拉列表中选择斜线样式:
Backward Diagonal是左斜线,Forward Diagonal是右斜线;同时可调整前景色(斜线颜色)和背景色(柱子底色)。 - 点击确定后,预览报表即可看到带斜线填充的柱子效果。
二、XML代码配置示例
如果直接编辑JRXML文件,可通过seriesFill标签为每个数据系列指定填充图案,以下是堆叠柱状图的示例片段:
<barChart> <chart evaluationTime="Report"> <reportElement x="0" y="0" width="500" height="300" uuid="xxx"/> </chart> <categoryDataset> <!-- 定义两个堆叠数据系列 --> <categorySeries> <seriesExpression><![CDATA["产品A"]]></seriesExpression> <categoryExpression><![CDATA[$F{季度}]]></categoryExpression> <valueExpression><![CDATA[$F{销量A}]]></valueExpression> </categorySeries> <categorySeries> <seriesExpression><![CDATA["产品B"]]></seriesExpression> <categoryExpression><![CDATA[$F{季度}]]></categoryExpression> <valueExpression><![CDATA[$F{销量B}]]></valueExpression> </categorySeries> </categoryDataset> <barPlot> <plot/> <!-- 为系列配置填充图案 --> <seriesFill> <!-- 产品A用左斜线,黑色线条+白色底色 --> <seriesFillPattern seriesOrder="0" pattern="Backward_Diagonal" foregroundColor="#000000" backgroundColor="#FFFFFF"/> <!-- 产品B用右斜线,黑色线条+白色底色 --> <seriesFillPattern seriesOrder="1" pattern="Forward_Diagonal" foregroundColor="#000000" backgroundColor="#FFFFFF"/> </seriesFill> </barPlot> </barChart>
代码说明:
seriesOrder对应数据系列的顺序(从0开始计数)。pattern可选值包括:Backward_Diagonal、Forward_Diagonal、Cross(十字线)、Vertical(竖线)、Horizontal(横线)。foregroundColor控制填充图案的线条颜色,backgroundColor控制柱子的底色。
注意事项
- Jasper Reports 5.0及以上版本支持内置的图案填充功能,低版本可能需要升级。
- 普通柱状图和堆叠柱状图的设置逻辑完全一致,都是针对单个数据系列配置填充样式。
- 若需要更复杂的自定义填充图案,可通过扩展Jasper Report的绘图插件实现,但常规斜线需求用内置Pattern即可满足。
内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

