你好!
我需要创建一个报告,例如与Jasper Reports的附件显示。
我用折线图试过了。结果:折线图需要轴的2个数字类型字段。
我用时间序列试过了。结果:时间序列期望轴的1个数字和1个日期类型字段。
我必须使用日期,所以我需要一个可以处理日期的图表类型。
任何建议如何解决这个问题?我已经尝试了谷歌至少10个小时。现在我非常绝望。
谢谢!
答案 0 :(得分:1)
我想我已经解决了我的问题。我写了一个定制器类:
package com.test;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import net.sf.jasperreports.engine.JRChart;
import net.sf.jasperreports.engine.JRChartCustomizer;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.axis.DateTickUnit;
import org.jfree.chart.plot.XYPlot;
public class TrendCustomizer implements JRChartCustomizer {
public void customize(JFreeChart chart, JRChart jasperChart) {
DateAxis xAxis = new DateAxis();
DateAxis yAxis = new DateAxis();
DateTickUnit unit = null;
unit = new DateTickUnit(DateTickUnit.MONTH, 6);
DateFormat chartFormatter = new SimpleDateFormat("yyyy.MM.dd");
xAxis.setDateFormatOverride(chartFormatter);
xAxis.setTickUnit(unit);
yAxis.setDateFormatOverride(chartFormatter);
yAxis.setTickUnit(unit);
((XYPlot)chart.getPlot()).setDomainAxis(xAxis);
((XYPlot)chart.getPlot()).setRangeAxis(yAxis);
}
}