getfreechart.jsp
上传用户:jhtang88
上传日期:2014-01-27
资源大小:28528k
文件大小:4k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. <%@ page contentType="text/html;charset=GBK"%>
  2. <%@ page import="org.jfree.data.general.DefaultPieDataset"%>
  3. <%@ page import="org.jfree.chart.JFreeChart"%>
  4. <%@ page import="org.jfree.chart.plot.PiePlot"%>
  5. <%@ page import="org.jfree.chart.ChartRenderingInfo"%>
  6. <%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
  7. <%@ page import="org.jfree.chart.urls.StandardPieURLGenerator"%>
  8. <%@ page import="org.jfree.chart.entity.StandardEntityCollection"%>
  9. <%@ page import="org.jfree.chart.encoders.SunPNGEncoderAdapter"%>
  10. <%
  11. /*
  12. DefaultPieDataset dataset = new DefaultPieDataset();
  13. dataset.setValue(StrUtil.GBToUnicode("苹果GOOD"),100);
  14. dataset.setValue("梨子",200);
  15. dataset.setValue("葡萄",300);
  16. dataset.setValue("香蕉",400);
  17. dataset.setValue("荔枝",500);
  18. response.setContentType("image/jpeg");
  19. JFreeChart chart = ChartFactory.createPieChart3D("水果产量图", dataset, true, false, false);
  20. Font font = new Font("宋体",Font.TRUETYPE_FONT, 12);
  21. // StandardLegend legend = (StandardLegend) chart.getLegend();
  22. // legend.setItemFont(font);
  23. String title = "空调2002年市场占有率";
  24. //设定图片标题
  25. chart.setTitle(new TextTitle(title, new Font("宋体", Font.ITALIC, 15)));
  26. // chart.addSubtitle(new TextTitle("2002财年分析", new Font("隶书", Font.ITALIC, 12)));
  27. //设定背景
  28. // chart.setBackgroundPaint(Color.white);
  29. //chart.s
  30. //饼图使用一个PiePlot 
  31. PiePlot pie = (PiePlot)chart.getPlot();
  32. //pie.setSectionLabelType(PiePlot.NAME_AND_PERCENT_LABELS);
  33. //设定显示格式(名称加百分比或数值)
  34. // pie.setPercentFormatString("#,###0.0#%");
  35. //设定百分比显示格式
  36. // pie.setBackgroundPaint(Color.white);
  37. pie.setLabelFont(new Font("宋体", Font.TRUETYPE_FONT, 12));
  38. //设定背景透明度(0-1.0之间)
  39. pie.setBackgroundAlpha(0.6f);
  40. //设定前景透明度(0-1.0之间)
  41. pie.setForegroundAlpha(0.90f);
  42. */
  43. /*
  44. //图片标题
  45. String title = "空调2002年市场占有率";
  46. DefaultPieDataset piedata = new DefaultPieDataset();
  47. //第一个参数为名称,第二个参数是double数
  48. piedata.setValue("联想", 27.3);
  49. piedata.setValue("长城", 12.2);
  50. piedata.setValue("海尔", 5.5);
  51. piedata.setValue("美的", 17.1);
  52. piedata.setValue("松下", 9.0);
  53. piedata.setValue("科龙", 19.0);
  54. //创建JFreeChart,都使用ChartFactory来创建JFreeChart,很标准的工厂设计模式
  55. JFreeChart chart = ChartFactory.createPieChart(title, piedata, true, true, true);
  56. //设定图片标题
  57. chart.setTitle(new TextTitle(title, new Font("隶书", Font.ITALIC, 15)));
  58. //chart.addSubtitle(new TextTitle("2002财年分析", new Font("隶书", Font.ITALIC, 12)));
  59. //设定背景
  60. chart.setBackgroundPaint(Color.white);
  61. //chart.s
  62. //饼图使用一个PiePlot 
  63. PiePlot pie = (PiePlot)chart.getPlot();
  64. // pie.setSectionLabelType(PiePlot.NAME_AND_VALUE_LABELS);
  65. //设定显示格式(名称加百分比或数值)
  66. // pie.setPercentFormatString("#,###0.0#%");
  67. //设定百分比显示格式
  68. pie.setBackgroundPaint(Color.white);
  69. // pie.setSectionLabelFont(new Font("黑体", Font.TRUETYPE_FONT, 12));
  70. //设定背景透明度(0-1.0之间)
  71. pie.setBackgroundAlpha(0.6f);
  72. //设定前景透明度(0-1.0之间)
  73. pie.setForegroundAlpha(0.90f);
  74. ChartUtilities.writeChartAsJPEG(response.getOutputStream(), 100, chart, 400, 300, null);
  75. */
  76. DefaultPieDataset data = new DefaultPieDataset();
  77. data.setValue("六月", 500);
  78. data.setValue("七月", 580);
  79. data.setValue("八月", 828); 
  80. data.setValue("梨子",200);
  81. data.setValue("葡萄",300);
  82. data.setValue("香蕉",400);
  83. data.setValue("荔枝",500);
  84. PiePlot plot = new PiePlot(data);
  85. JFreeChart chart = new JFreeChart("", JFreeChart.DEFAULT_TITLE_FONT, plot, true);
  86. chart.setBackgroundPaint(java.awt.Color.white);  //可选,设置图片背景色
  87. chart.setTitle("档案分析"); //可选,设置图片标题
  88. plot.setToolTipGenerator(new org.jfree.chart.labels.StandardPieToolTipGenerator()); 
  89. ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
  90. //500是图片长度,300是图片高度
  91. String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);
  92. String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename; 
  93. %>
  94. <HTML>
  95. <HEAD>
  96.        <TITLE>Welcome to Jfreechart !</TITLE>
  97. </HEAD>
  98. <BODY>
  99. <P ALIGN="CENTER">
  100. <img src="<%=graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>">
  101. </P>
  102. </BODY>
  103. </HTML>