在我前面的博文講到了JFreeChart報表圖形:JFreeChart 3D餅圖 JFreeChart 柱形圖
public static String genLineChart(HttpSession session)throws Exception{ // A網站的訪問量統計 TimeSeries timeSeries=new TimeSeries("A網站訪問量統計", Month.class); // 添加數據 如果你是從數據庫中獲取數據,你就寫個循環塞值就行了。 timeSeries.add(new Month(1,2013), 100); timeSeries.add(new Month(2,2013), 200); timeSeries.add(new Month(3,2013), 300); timeSeries.add(new Month(4,2013), 400); timeSeries.add(new Month(5,2013), 560); timeSeries.add(new Month(6,2013), 600); timeSeries.add(new Month(7,2013), 750); timeSeries.add(new Month(8,2013), 890); timeSeries.add(new Month(9,2013), 120); timeSeries.add(new Month(10,2013), 400); timeSeries.add(new Month(11,2013), 1200); timeSeries.add(new Month(12,2013), 1600); // B網站的訪問量統計 //如果有更多的就繼續添加就行了 TimeSeries timeSeries2=new TimeSeries("B網站訪問量統計", Month.class); // 添加數據 timeSeries2.add(new Month(1,2013), 50); timeSeries2.add(new Month(2,2013), 100); timeSeries2.add(new Month(3,2013), 150); timeSeries2.add(new Month(4,2013), 200); timeSeries2.add(new Month(5,2013), 220); timeSeries2.add(new Month(6,2013), 300); timeSeries2.add(new Month(7,2013), 340); timeSeries2.add(new Month(8,2013), 400); timeSeries2.add(new Month(9,2013), 450); timeSeries2.add(new Month(10,2013), 500); timeSeries2.add(new Month(11,2013), 70); timeSeries2.add(new Month(12,2013), 800); // 定義時間序列的集合 TimeSeriesCollection lineDataset=new TimeSeriesCollection(); lineDataset.addSeries(timeSeries); lineDataset.addSeries(timeSeries2); JFreeChart chart=ChartFactory.createTimeSeriesChart("訪問量統計時間折線圖", "月份", "訪問量", lineDataset, true, true, true); //設置主標題 chart.setTitle(new TextTitle("A,B網站訪問量統計對比圖", new Font("隸書", Font.ITALIC, 15))); //設置子標題 TextTitle subtitle = new TextTitle("2016年度", new Font("黑體", Font.BOLD, 12)); chart.addSubtitle(subtitle); chart.setAntiAlias(true); //設置時間軸的范圍。 XYPlot plot = (XYPlot) chart.getPlot(); DateAxis dateaxis = (DateAxis)plot.getDomainAxis(); dateaxis.setDateFormatOverride(new java.text.SimpleDateFormat("M月")); dateaxis.setTickUnit(new DateTickUnit(DateTickUnit.MONTH,1)); //設置曲線是否顯示數據點 XYLineAndShapeRenderer xylinerenderer = (XYLineAndShapeRenderer)plot.getRenderer(); xylinerenderer.setBaseShapesVisible(true); //設置曲線顯示各數據點的值 XYItemRenderer xyitem = plot.getRenderer(); xyitem.setBaseItemLabelsVisible(true); xyitem.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_CENTER)); xyitem.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator()); xyitem.setBaseItemLabelFont(new Font("Dialog", 1, 12)); plot.setRenderer(xyitem); //最后返回組成的折線圖數值 String fileName=ServletUtilities.saveChartAsPNG(chart, 700, 500, session); return fileName; }3.編寫jsp顯示頁面:[java] view plain copy print?<%@page import=“com.java1234.chart.line.LineChart2”%> <%@ page language=”java” contentType=“text/html; charset=utf-8” pageEncoding=”utf-8”%> <!DOCTYPE html PUBLIC ”-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”> <html> <head> <meta http-equiv=”Content-Type” content=“text/html; charset=utf-8”> <title>Insert title here</title> </head> <body> <% String fileName=LineChart2.genLineChart(session); System.out.println(fileName); %> <img src=”DisplayChart?filename=<%=fileName %>” width=“700” height=“500” border=“0”/> </body> </html><%@page import="com.java1234.chart.line.LineChart2"%><%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body><% String fileName=LineChart2.genLineChart(session); System.out.println(fileName);%><img src="DisplayChart?filename=<%=fileName %>" width="700" height="500" border="0"/></body></html>4.配置web.xml核心文件:[java] view plain copy print?<servlet> <servlet-name>DisplayChart</servlet-name> <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class> </servlet> <servlet-mapping> <servlet-name>DisplayChart</servlet-name> <url-pattern>/DisplayChart</url-pattern> </servlet-mapping><servlet> <servlet-name>DisplayChart</servlet-name> <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class> </servlet> <servlet-mapping> <servlet-name>DisplayChart</servlet-name> <url-pattern>/DisplayChart</url-pattern> </servlet-mapping>5.最后完成的顯示效果:
新聞熱點
疑難解答