<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>/servletDisplayChart</url-pattern> </servlet-mapping> |
<%@ page contentType="text/html;charset=GBK"%> <%@ page import="org.jfree.data.general.DefaultPieDataset"%> <%@ page import="org.jfree.chart.*"%> <%@ page import="org.jfree.chart.plot.*"%> <%@ page import="org.jfree.chart.servlet.ServletUtilities"%> <%@ page import="org.jfree.chart.labels.StandardPieItemLabelGenerator"%> <%@ page import="org.jfree.chart.urls.StandardPieURLGenerator"%> <%@ page import="org.jfree.chart.entity.StandardEntityCollection"%> <%@ page import="java.io.*"%> <HTML> <HEAD> <META http-equiv=Content-Type content="text/html; charset=GBK"> <TITLE>nacl_zhuang@hotmail.com</TITLE> </HEAD> <BODY> <% DefaultPieDataset data = new DefaultPieDataset(); data.setValue("高中以下",370); data.setValue("高中",1530); data.setValue("大專",5700); data.setValue("本科",8280); data.setValue("碩士",4420); data.setValue("博士",80); PiePlot3D plot = new PiePlot3D(data);//3D餅圖 plot.setURLGenerator(new StandardPieURLGenerator("barview.jsp"));//設(shè)定鏈接 JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true); chart.setBackgroundPaint(java.awt.Color.white);//可選,設(shè)置圖片背景色 chart.setTitle("程序員學(xué)歷情況調(diào)查表");//可選,設(shè)置圖片標(biāo)題 plot.setToolTipGenerator(new StandardPieItemLabelGenerator()); StandardEntityCollection sec = new StandardEntityCollection(); ChartRenderingInfo info = new ChartRenderingInfo(sec); PrintWriter w = new PrintWriter(out);//輸出MAP信息 //500是圖片長度,300是圖片高度 String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session); ChartUtilities.writeImageMap(w, "map0", info, false); String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename; %> <P ALIGN="CENTER"> <img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#map0"> </P> </BODY> </HTML> |
![]() |
<map id="map0" name="map0"> <area shape="poly" coords="247,61,250,61,250,123,250,123" title="博士 = 80" alt="" href="barview.jsp?category=博士&pieIndex=0"/> <area shape="poly" coords="148,112,153,102,160,92,170,83,182,76,196,70,212,65,229,62,247,61,250,123,250,123" title="碩士 = 4,420" alt="" href="barview.jsp?category=碩士&pieIndex=0"/> <area shape="poly" coords="324,167,311,173,297,179,282,182,266,185,250,186,234,185,217,183,202,179,188,173,175,167, 165,159,157,151,151,142,147,132,146,122,148,112,250,123,250,123" title="本科 = 8,280" alt="" href="barview.jsp?category=本科&pieIndex=0"/> <area shape="poly" coords="307,72,324,80,338,91,347,103,352,117,352,131,347,144,338,156,324,167,250,123,250,123" title="大專 = 5,700" alt="" href="barview.jsp?category=大專&pieIndex=0"/> <area shape="poly" coords="261,62,285,65,307,72,250,123,250,123" title="高中 = 1,530" alt="" href="barview.jsp?category=高中&pieIndex=0"/> <area shape="poly" coords="250,61,261,62,250,123,250,123" title="高中以下 = 370" alt="" href="barview.jsp?category=高中以下&pieIndex=0"/> </map> |
<HTML> <HEAD> <META http-equiv=Content-Type content="text/html; charset=GBK"> <TITLE>nacl_zhuang@hotmail.com</TITLE> </HEAD> <body> <%@ page contentType="text/html;charset=GBK"%> <%@ page import="org.jfree.chart.ChartFactory, org.jfree.chart.JFreeChart, org.jfree.chart.plot.PlotOrientation, org.jfree.chart.servlet.ServletUtilities, org.jfree.data.category.*"%> <% CategoryDataset dataset; String category=request.getParameter("category"); category= new String(category.getBytes("ISO8859_1"), "GBK"); if(category.equals("本科")||category.equals("高中")||category.equals("大專")) { dataset=getDataSet(); } else if(category.equals("碩士")||category.equals("博士")) { dataset=getDataSet2(); }else { dataset=getDataSet3(); } String title=category+"程序員在各城市薪金情況統(tǒng)計"; JFreeChart chart = ChartFactory.createBarChart3D(title, "城市", "薪金", dataset, PlotOrientation.VERTICAL, true, false, false); String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session); String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename; %> <P ALIGN="CENTER"> <img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>"> </P> <%! private static CategoryDataset getDataSet() { DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(2000, "北京", "VB"); dataset.addValue(1800, "上海", "VB"); dataset.addValue(2200, "廣州", "VB"); dataset.addValue(3200, "北京", "JAVA"); dataset.addValue(3500, "上海", "JAVA"); dataset.addValue(3600, "廣州", "JAVA"); dataset.addValue(3300, "北京", "DOT NET"); dataset.addValue(3400, "上海", "DOT NET"); dataset.addValue(3700, "廣州", "DOT NET"); dataset.addValue(2500, "北京", "DELPHI"); dataset.addValue(2800, "上海", "DELPHI"); dataset.addValue(3200, "廣州", "DELPHI"); dataset.addValue(5000, "北京", "VC"); dataset.addValue(3500, "上海", "VC"); dataset.addValue(4600, "廣州", "VC"); return dataset; } private static CategoryDataset getDataSet2() { DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(2000, "上海", "VB"); dataset.addValue(3000, "北京", "JAVA"); dataset.addValue(3330, "上海", "JAVA"); dataset.addValue(3500, "廣州", "JAVA"); dataset.addValue(3500, "北京", "DOT NET"); dataset.addValue(4000, "上海", "DOT NET"); dataset.addValue(4800, "廣州", "DOT NET"); dataset.addValue(2600, "北京", "DELPHI"); dataset.addValue(2200, "上海", "DELPHI"); dataset.addValue(4000, "北京", "VC"); dataset.addValue(4000, "上海", "VC"); dataset.addValue(4200, "廣州", "VC"); return dataset; } private static CategoryDataset getDataSet3() { DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(2100, "北京", "VB"); dataset.addValue(2200, "上海", "VB"); dataset.addValue(2100, "廣州", "VB"); dataset.addValue(3000, "北京", "JAVA"); dataset.addValue(3200, "上海", "JAVA"); dataset.addValue(3600, "廣州", "JAVA"); dataset.addValue(4100, "北京", "DOT NET"); dataset.addValue(4200, "上海", "DOT NET"); dataset.addValue(4160, "廣州", "DOT NET"); dataset.addValue(2400, "北京", "DELPHI"); dataset.addValue(2600, "上海", "DELPHI"); dataset.addValue(2500, "廣州", "DELPHI"); dataset.addValue(5400, "北京", "VC"); dataset.addValue(5000, "上海", "VC"); dataset.addValue(5500, "廣州", "VC"); return dataset; } %> </body> </html> |
![]() |