Java报表之JFreeChart-第二讲
2016-09-26 19:15
375 查看
1. CategoryDataset分类数据引入
第一步:导入jfreeChart的jar包第二步:在web.xml配置jfreechart
<span style="font-family:FangSong_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>JFreeChartDemo</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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>
</web-app>
</span>
第三步:新建一个JFreeChart3的类创建代码如下:
<span style="font-family:FangSong_GB2312;font-size:18px;">package com.xp.jfreechart.bar; import javax.servlet.http.HttpSession; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.servlet.ServletUtilities; import org.jfree.data.category.CategoryDataset; import org.jfree.data.general.DatasetUtilities; public class BarChart3 { public static String genBarChart(HttpSession session) throws Exception { //创建一个二维数组来存放数据 double [][]data=new double[][]{{1320},{720},{830},{400}}; String []rowKeys={"苹果","香蕉","橘子","梨子"};//定义行的值 String []columnKeys={"深圳"}; CategoryDataset dataset=DatasetUtilities.createCategoryDataset(rowKeys,columnKeys ,data); JFreeChart chart=ChartFactory.createBarChart3D("水果销售统计图", "水果", "销售", dataset, PlotOrientation.VERTICAL, true, true, true); String fileName=ServletUtilities.saveChartAsPNG(chart, 700, 500, null,session); return fileName; } } </span>
第四步:新建一个jsp页面用来展示网页版的饼状图
<span style="font-family:FangSong_GB2312;font-size:18px;"><%@page import="com.xp.jfreechart.bar.BarChart3"%> <%@ 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=BarChart3.genBarChart(session); System.out.println(fileName); %> <img src="DisplayChart?filename=<%=fileName %>" width="700" height="500" /> </body> </html> </span>
第五步:效果图如下
2.利用JFreeChart
创建按颜色分类并且按地区分类水果销售报表
package com.xp.jfreechart.bar; import javax.servlet.http.HttpSession; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.servlet.ServletUtilities; import org.jfree.data.category.CategoryDataset; import org.jfree.data.general.DatasetUtilities; public class BarChart4 { 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); String fileName=ServletUtilities.saveChartAsPNG(chart, 700, 500, null,session); return fileName; } } 效果图如下:
3.
利用
JFreeChart
创建自定义
3D
柱状报表
CategoryPlot指定标题字的方向以及字体的设定 package com.xp.jfreechart.bar; import java.awt.Color; import javax.servlet.http.HttpSession; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.labels.ItemLabelAnchor; import org.jfree.chart.labels.ItemLabelPosition; import org.jfree.chart.labels.StandardCategoryItemLabelGenerator; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.renderer.category.BarRenderer3D; import org.jfree.chart.servlet.ServletUtilities; import org.jfree.data.category.CategoryDataset; import org.jfree.data.general.DatasetUtilities; import org.jfree.ui.TextAnchor; public class BarChart5 { 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; } }
相关文章推荐
- Java报表制作(iReport+jaserReport+jFreeChart)
- java学习笔记之 jfreechart报表,饼形图,用swing画
- Java程序中用JFreeChart制作图形报表
- java做图表(报表)--JFreeChart综合应用
- java之报表组件JFreeChart
- web项目中运用java jfreechart生成各种样式报表的教程demo代码下载
- Java——使用JFreechart创建报表
- Java 报表之JFreeChart(第二讲)
- java jfreechart报表,饼形图,用swing画
- java JFreechart开发报表的实例demo下载
- Java报表之JFreeChart-第一讲
- java报表之JFreeChart视频教程
- java的绘画图报表的组件_JFreeChart
- Java 报表之JFreeChart(第一讲)
- Java程序中用JFreeChart制作图形报表-Java基础-Java-编程开发
- Java开发实用工具及组件应用(JFreeChart、PDF组件-iText、jasper report报表、Maven)
- [置顶] JAVA生成报表(JFreeChart)
- Java报表工具及报表实现方案性能比较
- 使用JFreeChart制作图形报表
- Java第二课,火星机器人