67,542
社区成员
 发帖
 发帖 与我相关
 与我相关 我的任务
 我的任务 分享
 分享
    <%@ page contentType="text/html; charset=GBK" %>
<%@ page import="org.jfree.chart.*" %>
<%@ page import="org.jfree.data.*" %>
<%@ page import="org.jfree.data.category.*" %>
<%@ page import="org.jfree.chart.entity.StandardEntityCollection"%>
<%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
<%@ page import="org.jfree.chart.plot.*" %>
<%@ page import="org.jfree.chart.axis.*" %>
<%@ page import="org.jfree.chart.renderer.category.*" %>
<%@ page import="org.jfree.chart.labels.*" %>
<%@ page import="java.awt.*" %>
<%@ page import="java.io.*"%>
<html>
	<head>
		<meta http-equiv=Content-Type content="text/html;charset=gbk">
		<title>WebReportTest</title>
	</head>
	<body>
		<%!
			DefaultCategoryDataset getDataset(){
				DefaultCategoryDataset dataset = new DefaultCategoryDataset();
				dataset.addValue(100,"北京","苹果");
				dataset.addValue(200,"上海","苹果");
				dataset.addValue(150,"广州","苹果");
				dataset.addValue(200,"北京","梨子");
				dataset.addValue(180,"上海","梨子");
				dataset.addValue(190,"广州","梨子");
				dataset.addValue(300,"北京","葡萄");
				dataset.addValue(320,"上海","葡萄");
				dataset.addValue(200,"广州","葡萄");
				dataset.addValue(300,"北京","香蕉");
				dataset.addValue(350,"上海","香蕉");
				dataset.addValue(400,"广州","香蕉");
				dataset.addValue(400,"北京","荔枝");
				dataset.addValue(360,"上海","荔枝");
				dataset.addValue(400,"广州","荔枝");
				return dataset;
			}
			
			DefaultCategoryDataset getDataset2(){
				DefaultCategoryDataset dataset = new DefaultCategoryDataset();
				dataset.addValue(100,"北京","苹果苹果苹果");
				dataset.addValue(200,"上海","苹果苹果苹果");
				dataset.addValue(150,"广州","苹果苹果苹果");
				dataset.addValue(200,"北京","梨子梨子梨子");
				dataset.addValue(180,"上海","梨子梨子梨子");
				dataset.addValue(190,"广州","梨子梨子梨子");
				dataset.addValue(300,"北京","葡萄葡萄葡萄");
				dataset.addValue(320,"上海","葡萄葡萄葡萄");
				dataset.addValue(200,"广州","葡萄葡萄葡萄");
				dataset.addValue(300,"北京","香蕉香蕉香蕉");
				dataset.addValue(350,"上海","香蕉香蕉香蕉");
				dataset.addValue(400,"广州","香蕉香蕉香蕉");
				dataset.addValue(400,"北京","荔枝荔枝荔枝");
				dataset.addValue(360,"上海","荔枝荔枝荔枝");
				dataset.addValue(400,"广州","荔枝荔枝荔枝");
				return dataset;
			}
		%>
	<%
		DefaultCategoryDataset dataset = getDataset();
		//DefaultCategoryDataset dataset = getDataset2();
		
		JFreeChart jfreechart = ChartFactory.createBarChart("水果产量图","水果","产量",dataset,PlotOrientation.HORIZONTAL,true,false,false);
		jfreechart.setBackgroundPaint(Color.white); //设定背景色为白色 
		jfreechart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
		CategoryPlot categoryplot = jfreechart.getCategoryPlot(); //获得 plot:CategoryPlot 
		categoryplot.setBackgroundPaint(Color.lightGray); //设定图表数据显示部分背景色 		categoryplot.setRangeGridlinePaint(Color.black); //纵坐标网格线白色 		BarRenderer barrenderer = (BarRenderer)categoryplot.getRenderer(); //获得renderer 		barrenderer.setDrawBarOutline(false); // Bar的外轮廓线不画 
		
		//barrenderer.setItemURLGenerator(new org.jfree.chart.urls.StandardCategoryURLGenerator("aa.jsp"));
		barrenderer.setToolTipGenerator(new StandardCategoryToolTipGenerator());
		
		StandardEntityCollection sec = new StandardEntityCollection();
		ChartRenderingInfo info = new ChartRenderingInfo(sec);
	
		GradientPaint gradientpaint = new GradientPaint(0.0F,0.0F,Color.blue,0.0F,0.0F,new Color(0,0,64)); //设定特定颜色 
		GradientPaint gradientpaint1 = new GradientPaint(0.0F,0.0F,Color.yellow,0.0F,0.0F,new Color(0,64,0));
		GradientPaint gradientpaint2 = new GradientPaint(0.0F,0.0F,Color.red,0.0F,0.0F,new Color(64,0,0)); 
		barrenderer.setSeriesPaint(0, gradientpaint); //给series1 Bar设定上面定义的颜色 
		barrenderer.setSeriesPaint(1, gradientpaint1); //给series2 Bar 设定上面定义的颜色 
		barrenderer.setSeriesPaint(2, gradientpaint2); //给series3 Bar 设定上面定义的颜色 
		//CategoryAxis categoryaxis = categoryplot.getDomainAxis(); //横轴上的 Lable 45度倾斜 
		//categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
		
		PrintWriter w = new PrintWriter(out);
	
		String filename = ServletUtilities.saveChartAsPNG(jfreechart,300,500,info,session);
		ChartUtilities.writeImageMap(w,filename,info,false);
		
		String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
	%>
	<table border="1">
		<tr>
			<td>
				<img src="<%=graphURL%>" width="300" height="500" border="0" usemap="#<%=filename%>">
			</td>
		</tr>
	</table>
	</body>
</html>