67,513
社区成员
发帖
与我相关
我的任务
分享
<%@ 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>