gpt4 book ai didi

java - Jaspersoft Studio - 如何创建自定义函数来增加/减少 barChart 中条形的宽度?

转载 作者:行者123 更新时间:2023-11-30 05:33:04 25 4
gpt4 key购买 nike

我正在使用 TIBCO Jaspersoft Studio 版本 6.8.0,并且正在创建一个条形图作为主报告的子报告。条形图从子数据集中获取数据。该报告制作得很好,因此没有任何提示。
条形图是根据元素的数量动态设置条形宽度的。但我想静态设置条形的宽度,忽略有多少元素。因此,当有 10 个元素或 2 个元素时,它都会是一个大 10 像素的条(例如)。

这是一张显示条形图的图片,具有正确的条形宽度(基于其中的元素数量)

enter image description here


这里我们有相同的条形图,但元素较少,因此条形的宽度只会动态调整大小(我想为其宽度设置一个静态值)

enter image description here

我遵循了一些为 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
}
}

最佳答案

我解决了我的问题(双重问题)。
在我编写的函数内

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 文件。

关于java - Jaspersoft Studio - 如何创建自定义函数来增加/减少 barChart 中条形的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57166000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com