为了账号安全,请及时绑定邮箱和手机立即绑定

如何创建自定义函数来增加/减少条形图中条形的宽度?

如何创建自定义函数来增加/减少条形图中条形的宽度?

慕盖茨4494581 2023-04-13 16:44:36
我使用的是 TIBCO Jaspersoft Studio 6.8.0 版,我正在创建一个条形图作为主报表的子报表。条形图从子数据集中获取数据。该报告创建得很好,因此没有人抱怨。条形图是动态构建的,根据元素的数量设置条形的宽度。但我想静态设置条的宽度,忽略有多少元素。因此,当有 10 个元素或 2 个元素时,它将是一个大 10 像素(例如)的条。这是一张显示条形图宽度正确的图片(基于其中的元素编号)这里我们有相同的 barChart 但元素较少,因此条形的宽度会动态调整大小(我想为其宽度设置一个静态值)我按照一些指南为条形图创建和使用自定义函数,但这些似乎都不起作用(也许我使用的是较新版本,他们指的是旧版本的 Jasper Report)我正在使用它,但我不知道它是否好以及如何在报告中实施它package com.efarmgroup.sina.sios4.jasper;import org.jfree.chart.JFreeChart;import org.jfree.chart.labels.*;import org.jfree.chart.plot.CategoryPlot;import org.jfree.chart.renderer.category.*;import org.jfree.chart.ui.TextAnchor;import net.sf.jasperreports.engine.JRChart;import net.sf.jasperreports.engine.JRChartCustomizer;public class customBarWidth implements JRChartCustomizer{    @Override    public void customize(JFreeChart chart, JRChart jasperChart){        CategoryPlot categoryPlot = chart.getCategoryPlot();        BarRenderer br = (BarRenderer) categoryPlot.getRenderer();        br.setMaximumBarWidth(.10); // set maximum width to 35% of chart    }}
查看完整描述

1 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

我解决了我的问题(双重问题)。

在我写的函数里面


br.setMaximumBarWidth(.01); // set maximum width to 1% of chart

这很好地满足了我的需要。

另一个问题是关于在报告中导入函数。

通过一个 ant 文件,我设法创建了包含编译函数(.class 文件)的 Jar。


<project name="projectName" default="createjar">    

   <target name="createjar">

      <jar destfile="output-jar/jarName.jar" basedir="./bin" />

   </target>    

</project>

在此之后,我有了导入和使用报告中的函数所需的 .class 文件。


查看完整回答
反对 回复 2023-04-13
  • 1 回答
  • 0 关注
  • 77 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信