Jasper reports Jaspersoft Studio:如何设置传奇标题?
我正在使用Jaspersoft Studio 6.6.0 Eclipse插件和jasperreports库。对于条形图,我想为图例设置一个标题。我怎么做Jasper reports Jaspersoft Studio:如何设置传奇标题?,jasper-reports,bar-chart,jfreechart,jaspersoft-studio,Jasper Reports,Bar Chart,Jfreechart,Jaspersoft Studio,我正在使用Jaspersoft Studio 6.6.0 Eclipse插件和jasperreports库。对于条形图,我想为图例设置一个标题。我怎么做 根据,有一个高级属性legend.title.text。它建议我应该在Advanced选项卡中手动输入它,但在Jaspersoft Studio 6.6.0 Eclipse插件中没有自由文本属性字段,只有一组预定义的属性。我瞎了吗?或者这项功能是为付费产品保留的?JasperReports和Jaspersoft Studio社区版图表基于。wi
根据,有一个高级属性legend.title.text。它建议我应该在Advanced选项卡中手动输入它,但在Jaspersoft Studio 6.6.0 Eclipse插件中没有自由文本属性字段,只有一组预定义的属性。我瞎了吗?或者这项功能是为付费产品保留的?JasperReports和Jaspersoft Studio社区版图表基于。wiki文章讨论了JasperReports Server Professional,这是一种不同的产品,它的特点是基于 JasperReports图表没有内置功能来指定图例的标题 但是,您可以将其作为图表定制器或图表主题自行实现,但这有点复杂。图表自定义程序将读取图表元素属性,并使用JFreeChart为图例创建标题。它看起来像这样:
import org.jfree.chart.JFreeChart;
import org.jfree.chart.block.BlockContainer;
import org.jfree.chart.block.LabelBlock;
import org.jfree.chart.title.LegendTitle;
import org.jfree.ui.RectangleEdge;
import net.sf.jasperreports.engine.JRChart;
import net.sf.jasperreports.engine.JRChartCustomizer;
import net.sf.jasperreports.engine.JRPropertiesMap;
public class LegendTitleCustomizer implements JRChartCustomizer {
@Override
public void customize(JFreeChart chart, JRChart jasperChart) {
JRPropertiesMap elementProperties = jasperChart.getPropertiesMap();
String legendTitleText = elementProperties.getProperty("legend.title.text");
if (legendTitleText != null) {
LegendTitle legend = chart.getLegend();
BlockContainer legendItems = legend.getItemContainer();
BlockContainer legendWrapper = new BlockContainer();
LabelBlock label = new LabelBlock(legendTitleText);
legendWrapper.add(label, RectangleEdge.TOP);
legendWrapper.add(legendItems, RectangleEdge.BOTTOM);
legend.setWrapper(legendWrapper);
}
}
}
报表中的图表元素需要指定图表自定义程序类和属性值:
<barChart>
<chart customizerClass="LegendTitleCustomizer">
<reportElement x="0" y="50" width="270" height="175">
<propertyExpression name="legend.title.text">"Series"</propertyExpression>
</reportElement>
...
您好@badbishop,您使用了highcharts标签,但问题似乎与highcharts无关,而是与jaspersoft studio有关。要在Highcharts中设置图例标题,请设置legend.title.text。活例子:@ppotaczek:是其他人添加了highcharts标签,而不是我。我确认我的问题与Jaspersoft Studio有关。事实上,对于JasperReports库,如果可以解决问题,我不介意手动编辑文本文件。