JFreeChart 柱形图

在这里简单的讲解一下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.最后的显示效果:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值