Posted on 2009-12-28 14:31
landor 閱讀(1387)
評論(0) 編輯 收藏 所屬分類:
導出與圖表
//訪問量統(tǒng)計時間線
TimeSeries timeSeries = new TimeSeries("數(shù)字統(tǒng)計1", Month.class);
//時間數(shù)據(jù)集合
TimeSeriesCollection lineDataset = new TimeSeriesCollection();
//構(gòu)造數(shù)據(jù)
timeSeries.add(new Month(1, 2009), 100);
timeSeries.add(new Month(2, 2009), 200);
timeSeries.add(new Month(3, 2009), 100);
timeSeries.add(new Month(4, 2009), 200);
timeSeries.add(new Month(5, 2009), 100);
timeSeries.add(new Month(6, 2009), 200);
timeSeries.add(new Month(7, 2009), 100);
timeSeries.add(new Month(8, 2009), 200);
timeSeries.add(new Month(9, 2009), 100);
timeSeries.add(new Month(10, 2009), 200);
timeSeries.add(new Month(11, 2009), 100);
timeSeries.add(new Month(12, 2009), 200);
lineDataset.addSeries(timeSeries);//填入集合
JFreeChart chart = ChartFactory.createTimeSeriesChart("數(shù)字統(tǒng)計圖", "月份", "數(shù)字", lineDataset, true, true, true);
//設置標題字體
chart.getTitle().setFont(new Font("黑體", 12, 12));
chart.getLegend().setItemFont(new Font("宋體",Font.PLAIN,12));
XYPlot plot = (XYPlot) chart.getPlot();
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
ValueAxis domainAxis = plot.getDomainAxis();
//當timeSeries為null時,顯示
plot.setNoDataMessage("沒有數(shù)據(jù)顯示");
//設置X軸坐標上的字體
domainAxis.setTickLabelFont(new Font("sans-serif",Font.PLAIN,11));
//設置X軸的標題字體
domainAxis.setLabelFont(new Font("宋體",Font.PLAIN,12));
//設置Y軸坐標上的字體
rangeAxis.setTickLabelFont(new Font("sans-serif",Font.PLAIN,12));
//設置Y軸的標題字體
rangeAxis.setLabelFont(new Font("黑體",Font.PLAIN,12));
ChartUtilities.writeChartAsJPEG(response.getOutputStream(),chart,500,300);
out.clear();
pageContext.pushBody();