0
您好!
我需要創建一個像Jasper Reports一樣的附件顯示報告。
我用折線圖試了一下。結果:折線圖期望軸的數字類型爲2。
我試過它與時間系列。結果:時間序列期望軸數爲1個數字和1個日期類型字段。
我必須使用日期,所以我需要一個圖表類型可以處理日期。
任何建議我該如何解決這個問題?我已經嘗試過Google至少10個小時。現在我非常絕望。
謝謝!
您好!
我需要創建一個像Jasper Reports一樣的附件顯示報告。
我用折線圖試了一下。結果:折線圖期望軸的數字類型爲2。
我試過它與時間系列。結果:時間序列期望軸數爲1個數字和1個日期類型字段。
我必須使用日期,所以我需要一個圖表類型可以處理日期。
任何建議我該如何解決這個問題?我已經嘗試過Google至少10個小時。現在我非常絕望。
謝謝!
我想我解決了我的問題。我寫了一個定製器類:
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);
}
}