import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.text.NumberFormat;
import org.jfree.chart.*;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.PiePlot;
public class PieChart extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException {
response.setContentType("image/png");
OutputStream out = response.getOutputStream();
try{
//グラフ作成
[[JFreeChart]] chart = createChart();
//PNGで書き出す
ChartUtilities.writeChartAsPNG(out,chart,300,300);
} catch (Exception e) {
System.out.println(e.toString());
}finally {
out.close();
}
}
private JFreeChart createChart() {
//データセット
DefaultPieDataset data = new DefaultPieDataset();
data.setValue("XXXXX", 70);
data.setValue("YYYYY", 30);
//グラフ作成
JFreeChart chart = ChartFactory.createPieChart(
"タイトル", // タイトル
data, // データ
true, // 凡例
false, // ツールチップ
false // URL
);
//プロットの取得
PiePlot plot = (PiePlot)chart.getPlot();
//パーセント表示
plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0} = {1} ({2})", NumberFormat.getNumberInstance(), NumberFormat.getPercentInstance()));
return chart;
}
}
最終更新:2009年10月05日 08:11