JFreeChart网页图表例子
来源:互联网 发布:qq三国四象js用什么 编辑:程序博客网 时间:2024/03/29 16:18
柱状图 bar.jsp
柱状图1 bar1.jsp
柱状图2 bar2.jsp
3D柱状图 bar3d.jsp
柱状图 bar.jsp :
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="org.jfree.chart.ChartFactory,
org.jfree.chart.JFreeChart,
org.jfree.chart.plot.PlotOrientation,
org.jfree.chart.servlet.ServletUtilities,
org.jfree.data.DefaultCategoryDataset"%>
<%@ page import = "java.util.Iterator,
org.jfree.data.time.*,
java.awt.Font"%>
<%
Font font=new Font("黑体",Font.TRUETYPE_FONT, 12);
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(300, "", "超员");
dataset.addValue(200, "", "超速");
dataset.addValue(500, "", "随意停车上下客");
dataset.addValue(340, "", "右侧超车");
dataset.addValue(280, "", "客货混装");
dataset.addValue(500, "", "违法装载");
dataset.addValue(128, "", "疲劳驾驶");
dataset.addValue(263, "", "违反分道行驶原则行驶");
dataset.addValue(412, "", "车牌证失效");
dataset.addValue(380, "", "其他违法行为");
JFreeChart chart = ChartFactory.createBarChart3D("查处违法信息统计图",
"违法信息",
"数量",
dataset,
PlotOrientation.VERTICAL,
false,
false,
false);
//chart.setTitle("网站访问统计表",font);//可选,设置图片标题
String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;
%>
<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>">
柱状图1 bar1.jsp
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.awt.Color,
java.awt.Font,
org.jfree.chart.ChartFactory,
org.jfree.chart.JFreeChart,
org.jfree.chart.plot.PlotOrientation,
org.jfree.chart.servlet.ServletUtilities,
org.jfree.data.CategoryDataset,org.jfree.data.DatasetUtilities,
org.jfree.chart.plot.CategoryPlot,
org.jfree.chart.axis.CategoryAxis,
org.jfree.chart.axis.ValueAxis,
org.jfree.chart.renderer.BarRenderer3D,
org.jfree.chart.labels.StandardCategoryLabelGenerator,
org.jfree.chart.axis.AxisLocation"%>
<%
double[][] data = new double[][] {{672, 766, 223, 540, 126},{325, 521, 210, 340, 106},{332, 256, 523, 240, 526}};
String[] rowKeys = {"苹果","梨子","葡萄"};
String[] columnKeys = {"北京","上海","广州","成都","深圳"};
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);
Font font=new Font("黑体",Font.TRUETYPE_FONT, 12);
JFreeChart chart = ChartFactory.createBarChart3D("水果销量图统计",
null,
null,
dataset,
PlotOrientation.VERTICAL,
true,false,false);
chart.setBackgroundPaint(Color.white);
CategoryPlot plot = chart.getCategoryPlot();
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setVerticalCategoryLabels(false);
domainAxis.setTickLabelFont(font);
plot.setDomainAxis(domainAxis);
ValueAxis rangeAxis = plot.getRangeAxis();
rangeAxis.setTickLabelFont(font);
//设置最高的一个 Item 与图片顶端的距离
rangeAxis.setUpperMargin(0.15);
//设置最低的一个 Item 与图片底端的距离
rangeAxis.setLowerMargin(0.15);
plot.setRangeAxis(rangeAxis);
BarRenderer3D renderer = new BarRenderer3D();
renderer.setBaseOutlinePaint(Color.black);
//设置 Wall 的颜色
renderer.setWallPaint(Color.gray);
//设置每种水果代表的柱的颜色
renderer.setSeriesPaint(0, new Color(0, 0, 255));
renderer.setSeriesPaint(1, new Color(0, 100, 255));
renderer.setSeriesPaint(2, Color.green);
//设置每个地区所包含的平行柱的之间距离
renderer.setItemMargin(0.1);
//显示每个柱的数值,并修改该数值的字体属性
//renderer.setItemLabelGenerator(new StandardCategoryLabelGenerator());
//renderer.setItemLabelsVisible(true);
plot.setRenderer(renderer);
//设置柱的透明度
plot.setForegroundAlpha(0.6f);
//设置地区、销量的显示位置
plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;
%>
<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>">
柱状图2 bar2.jsp
<%@ page contentType="image/jpeg;charset=GBK"%>
<%@ page import = "java.io.*"%>
<%@ page import = "java.awt.*"%>
<%@ page import = "org.jfree.data.*"%>
<%@ page import = "org.jfree.chart.*"%>
<%@ page import = "org.jfree.chart.plot.*"%>
<%@ page import = "org.jfree.chart.ChartUtilities"%>
<%@ page import = "org.jfree.chart.title.TextTitle"%>
<html>
<head>
<title>
TestChartDemo
</title>
</head>
<body bgcolor="#ffffff">
<%
//设置数据集
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(2, "0-60分", "一班");
dataset.addValue(34, "61-80分", "一班");
dataset.addValue(12, "81-100分", "一班");
dataset.addValue(1, "0-60分", "二班");
dataset.addValue(40, "61-80分", "二班");
dataset.addValue(9, "81-100分", "二班");
dataset.addValue(0, "0-60分", "三班");
dataset.addValue(23, "61-80分", "三班");
dataset.addValue(32, "81-100分", "三班");
dataset.addValue(3, "0-60分", "四班");
dataset.addValue(33, "61-80分", "四班");
dataset.addValue(4, "81-100分", "四班");
dataset.addValue(4, "0-60分", "五班");
dataset.addValue(37, "61-80分", "五班");
dataset.addValue(11, "81-100分", "五班");
//创建柱状图
JFreeChart chart = ChartFactory.createBarChart3D(
"", // 图表标题
"班级", // 目录轴的显示标签
"分数", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
);
//设置标题
Font font = new Font("黑体", Font.CENTER_BASELINE, 20);
TextTitle title = new TextTitle("各班学生成绩统计");
title.setFont(font);
//统计图片的底色
chart.setBackgroundPaint(java.awt.Color.white);
chart.setTitle(title);
//取得response的OutputStream
OutputStream ostream = response.getOutputStream();
//设定图片的宽为400,高为300,并输出至ostream
ChartUtilities.writeChartAsJPEG(ostream, chart, 400, 300);
ostream.flush();
ostream.close();
%>
</body>
</html>
3D柱状图 bar3d.jsp
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import = "org.jfree.chart.ChartFactory,
org.jfree.chart.ChartPanel,
org.jfree.chart.JFreeChart,
org.jfree.chart.StandardLegend,
org.jfree.chart.axis.CategoryAxis,
org.jfree.chart.axis.CategoryLabelPositions,
org.jfree.chart.plot.CategoryPlot,
org.jfree.chart.plot.PlotOrientation,
org.jfree.chart.servlet.ServletUtilities,
org.jfree.data.CategoryDataset,
org.jfree.data.DatasetUtilities
"%>
<%
double[][] data = new double[][]
{{10.0, 4.0, 15.0, 14.0},
{-5.0, -7.0, 14.0, -3.0},
{6.0, 17.0, -12.0, 7.0},
{7.0, 15.0, 11.0, 0.0},
{-8.0, -6.0, 10.0, -9.0},
{9.0, 8.0, 0.0, 6.0},
{-10.0, 9.0, 7.0, 7.0},
{11.0, 13.0, 9.0, 9.0},
{-3.0, 7.0, 11.0, -10.0}};
CategoryDataset dataset= DatasetUtilities.createCategoryDataset("Series ", "Category ", data);
JFreeChart chart = ChartFactory.createBarChart3D(
"3D Bar Chart Demo", // chart title
"Category", // domain axis label
"Value", // range axis label
dataset, // data
PlotOrientation.VERTICAL, // orientation
true, // include legend
true, // tooltips
false // urls
);
CategoryPlot plot = chart.getCategoryPlot();
CategoryAxis axis = plot.getDomainAxis();
axis.setCategoryLabelPositions(
CategoryLabelPositions.createUpRotationLabelPositions(Math.PI/ 8.0)
);
String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;
%>
<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>">
注意以上代码,均在:jfreechart-0.9.20.jar、jcommon-0.9.5.jar下调试通过!
web.xml配置servlet代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<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>
柱状图1 bar1.jsp
柱状图2 bar2.jsp
3D柱状图 bar3d.jsp
柱状图 bar.jsp :
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="org.jfree.chart.ChartFactory,
org.jfree.chart.JFreeChart,
org.jfree.chart.plot.PlotOrientation,
org.jfree.chart.servlet.ServletUtilities,
org.jfree.data.DefaultCategoryDataset"%>
<%@ page import = "java.util.Iterator,
org.jfree.data.time.*,
java.awt.Font"%>
<%
Font font=new Font("黑体",Font.TRUETYPE_FONT, 12);
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(300, "", "超员");
dataset.addValue(200, "", "超速");
dataset.addValue(500, "", "随意停车上下客");
dataset.addValue(340, "", "右侧超车");
dataset.addValue(280, "", "客货混装");
dataset.addValue(500, "", "违法装载");
dataset.addValue(128, "", "疲劳驾驶");
dataset.addValue(263, "", "违反分道行驶原则行驶");
dataset.addValue(412, "", "车牌证失效");
dataset.addValue(380, "", "其他违法行为");
JFreeChart chart = ChartFactory.createBarChart3D("查处违法信息统计图",
"违法信息",
"数量",
dataset,
PlotOrientation.VERTICAL,
false,
false,
false);
//chart.setTitle("网站访问统计表",font);//可选,设置图片标题
String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;
%>
<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>">
柱状图1 bar1.jsp
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.awt.Color,
java.awt.Font,
org.jfree.chart.ChartFactory,
org.jfree.chart.JFreeChart,
org.jfree.chart.plot.PlotOrientation,
org.jfree.chart.servlet.ServletUtilities,
org.jfree.data.CategoryDataset,org.jfree.data.DatasetUtilities,
org.jfree.chart.plot.CategoryPlot,
org.jfree.chart.axis.CategoryAxis,
org.jfree.chart.axis.ValueAxis,
org.jfree.chart.renderer.BarRenderer3D,
org.jfree.chart.labels.StandardCategoryLabelGenerator,
org.jfree.chart.axis.AxisLocation"%>
<%
double[][] data = new double[][] {{672, 766, 223, 540, 126},{325, 521, 210, 340, 106},{332, 256, 523, 240, 526}};
String[] rowKeys = {"苹果","梨子","葡萄"};
String[] columnKeys = {"北京","上海","广州","成都","深圳"};
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);
Font font=new Font("黑体",Font.TRUETYPE_FONT, 12);
JFreeChart chart = ChartFactory.createBarChart3D("水果销量图统计",
null,
null,
dataset,
PlotOrientation.VERTICAL,
true,false,false);
chart.setBackgroundPaint(Color.white);
CategoryPlot plot = chart.getCategoryPlot();
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setVerticalCategoryLabels(false);
domainAxis.setTickLabelFont(font);
plot.setDomainAxis(domainAxis);
ValueAxis rangeAxis = plot.getRangeAxis();
rangeAxis.setTickLabelFont(font);
//设置最高的一个 Item 与图片顶端的距离
rangeAxis.setUpperMargin(0.15);
//设置最低的一个 Item 与图片底端的距离
rangeAxis.setLowerMargin(0.15);
plot.setRangeAxis(rangeAxis);
BarRenderer3D renderer = new BarRenderer3D();
renderer.setBaseOutlinePaint(Color.black);
//设置 Wall 的颜色
renderer.setWallPaint(Color.gray);
//设置每种水果代表的柱的颜色
renderer.setSeriesPaint(0, new Color(0, 0, 255));
renderer.setSeriesPaint(1, new Color(0, 100, 255));
renderer.setSeriesPaint(2, Color.green);
//设置每个地区所包含的平行柱的之间距离
renderer.setItemMargin(0.1);
//显示每个柱的数值,并修改该数值的字体属性
//renderer.setItemLabelGenerator(new StandardCategoryLabelGenerator());
//renderer.setItemLabelsVisible(true);
plot.setRenderer(renderer);
//设置柱的透明度
plot.setForegroundAlpha(0.6f);
//设置地区、销量的显示位置
plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;
%>
<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>">
柱状图2 bar2.jsp
<%@ page contentType="image/jpeg;charset=GBK"%>
<%@ page import = "java.io.*"%>
<%@ page import = "java.awt.*"%>
<%@ page import = "org.jfree.data.*"%>
<%@ page import = "org.jfree.chart.*"%>
<%@ page import = "org.jfree.chart.plot.*"%>
<%@ page import = "org.jfree.chart.ChartUtilities"%>
<%@ page import = "org.jfree.chart.title.TextTitle"%>
<html>
<head>
<title>
TestChartDemo
</title>
</head>
<body bgcolor="#ffffff">
<%
//设置数据集
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(2, "0-60分", "一班");
dataset.addValue(34, "61-80分", "一班");
dataset.addValue(12, "81-100分", "一班");
dataset.addValue(1, "0-60分", "二班");
dataset.addValue(40, "61-80分", "二班");
dataset.addValue(9, "81-100分", "二班");
dataset.addValue(0, "0-60分", "三班");
dataset.addValue(23, "61-80分", "三班");
dataset.addValue(32, "81-100分", "三班");
dataset.addValue(3, "0-60分", "四班");
dataset.addValue(33, "61-80分", "四班");
dataset.addValue(4, "81-100分", "四班");
dataset.addValue(4, "0-60分", "五班");
dataset.addValue(37, "61-80分", "五班");
dataset.addValue(11, "81-100分", "五班");
//创建柱状图
JFreeChart chart = ChartFactory.createBarChart3D(
"", // 图表标题
"班级", // 目录轴的显示标签
"分数", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
);
//设置标题
Font font = new Font("黑体", Font.CENTER_BASELINE, 20);
TextTitle title = new TextTitle("各班学生成绩统计");
title.setFont(font);
//统计图片的底色
chart.setBackgroundPaint(java.awt.Color.white);
chart.setTitle(title);
//取得response的OutputStream
OutputStream ostream = response.getOutputStream();
//设定图片的宽为400,高为300,并输出至ostream
ChartUtilities.writeChartAsJPEG(ostream, chart, 400, 300);
ostream.flush();
ostream.close();
%>
</body>
</html>
3D柱状图 bar3d.jsp
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import = "org.jfree.chart.ChartFactory,
org.jfree.chart.ChartPanel,
org.jfree.chart.JFreeChart,
org.jfree.chart.StandardLegend,
org.jfree.chart.axis.CategoryAxis,
org.jfree.chart.axis.CategoryLabelPositions,
org.jfree.chart.plot.CategoryPlot,
org.jfree.chart.plot.PlotOrientation,
org.jfree.chart.servlet.ServletUtilities,
org.jfree.data.CategoryDataset,
org.jfree.data.DatasetUtilities
"%>
<%
double[][] data = new double[][]
{{10.0, 4.0, 15.0, 14.0},
{-5.0, -7.0, 14.0, -3.0},
{6.0, 17.0, -12.0, 7.0},
{7.0, 15.0, 11.0, 0.0},
{-8.0, -6.0, 10.0, -9.0},
{9.0, 8.0, 0.0, 6.0},
{-10.0, 9.0, 7.0, 7.0},
{11.0, 13.0, 9.0, 9.0},
{-3.0, 7.0, 11.0, -10.0}};
CategoryDataset dataset= DatasetUtilities.createCategoryDataset("Series ", "Category ", data);
JFreeChart chart = ChartFactory.createBarChart3D(
"3D Bar Chart Demo", // chart title
"Category", // domain axis label
"Value", // range axis label
dataset, // data
PlotOrientation.VERTICAL, // orientation
true, // include legend
true, // tooltips
false // urls
);
CategoryPlot plot = chart.getCategoryPlot();
CategoryAxis axis = plot.getDomainAxis();
axis.setCategoryLabelPositions(
CategoryLabelPositions.createUpRotationLabelPositions(Math.PI/ 8.0)
);
String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename;
%>
<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>">
注意以上代码,均在:jfreechart-0.9.20.jar、jcommon-0.9.5.jar下调试通过!
web.xml配置servlet代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<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>
- JFreeChart网页图表例子
- 用JFreeChart在网页中创建图表
- JFreeChart图表
- JFreeChart logoJava图表 JFreeChart
- JFreechart例子
- jfreechart 例子
- jfreechart例子
- jfreechart 例子
- jfreechart 例子
- JfreeChart例子
- jfreechart例子
- Java图表开发-JFreeChart
- 使用JFreeChart创建图表
- Struts2整合JFreeChart图表
- 使用JFreeChart生成图表
- JFreeChart开发各种图表
- JFreeChart 图表使用
- JFreeChart 生成图表
- LuaTinker
- tolua++简介
- C++中extern “C”含义深层探索
- 给C++初学者的50个忠告
- 关于C++中函数指针的使用(包含对typedef用法的讨论)
- JFreeChart网页图表例子
- 通过例子学习Lua
- 数据仓库北京之行前奏
- 在Lua中调用C++函数
- Lua脚本语法说明(增加lua5.1部份特性)
- 测试人员应该如何报bug?
- 我错了吗?
- ActiveMQ4.1+Spring2.0的Message Driven POJO
- 对c/c++可变参数表的深层探索