在这里简单的讲解一下Java中JFreeChart报表查询用的比较多用:JFreeChart 3D饼图 JFreeChart 折线图等等。
1.JFreeChart之3D柱形图。
这次我会讲解的非常简单创建一个Web项目,就是一个Servlet控制类,和一个JSP页面就组成了。
1.所需要的架包:
架包下载地址:架包下载 因为是我上传的免费下载。
下载后解压,所需的架包在lib文件夹中
2.编写Servlet控制类:
<span style="font-size:18px;"><span style="font-size:18px;"><span style="font-size:18px;">public static String genBarChart(HttpSession session) throws Exception {
//这是一个二维数组,分别存储比如:深圳标题下的苹果,香蕉,橘子,梨子的数值
//在这里我是直接写死数据,如果你从数据库获取数据,意思也一样
//你只需把数据塞给这些结果集就行了。
double [][]data=new double[][]{{1320,1110,1123,321},{720,210,1423,1321},{830,1310,123,521},{400,1110,623,321}};
String []rowKeys={"苹果","香蕉","橘子","梨子"};
String []columnKeys={"深圳","北京","上海","南京"};
CategoryDataset dataset=DatasetUtilities.createCategoryDataset(rowKeys,columnKeys ,data);
JFreeChart chart=ChartFactory.createBarChart3D("水果销售统计图", "水果市场", "销售分析", dataset,
PlotOrientation.VERTICAL, true, true, true);
CategoryPlot plot=chart.getCategoryPlot();
// 设置网格背景颜色
plot.setBackgroundPaint(Color.white);
// 设置网格竖线颜色
plot.setDomainGridlinePaint(Color.pink);
// 设置网格横线颜色
plot.setRangeGridlinePaint(Color.pink);
// 显示每个柱的数值,并修改该数值的字体属性
BarRenderer3D renderer=new BarRenderer3D();
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
renderer.setItemLabelAnchorOffset(10D);
// 设置平行柱的之间距离
renderer.setItemMargin(0.4);
plot.setRenderer(renderer);
//最终返回组成的表格
String fileName=ServletUtilities.saveChartAsPNG(chart, 700, 500, null,session);
return fileName;
}</span></span></span>
3.编写JSP显示页面:
<span style="font-size:18px;"><span style="font-size:18px;"><span style="font-size:18px;"><%@page import="com.java1234.chart.bar.BarChart5"%>
<%@ 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=BarChart5.genBarChart(session);
System.out.println(fileName);
%>
<img src="DisplayChart?filename=<%=fileName %>" width="700" height="500" border="0"/>
</body>
</html></span></span></span>
4.配置web.xml核心文件:
<span style="font-size:18px;"><span style="font-size:18px;"><span style="font-size:18px;"> <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></span></span></span>
5.最后的显示效果: