- 浏览: 647548 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (213)
- JAVA (53)
- Tomcat (14)
- EXTJS专栏 (2)
- 数据库 (23)
- JavaScript (13)
- jQuery (11)
- 需求分析 (2)
- css (1)
- 手机 (1)
- php (7)
- 生活 (1)
- ssh (11)
- JFReeChart (2)
- Delphi (1)
- junit (0)
- liunx (10)
- 项目管理 (11)
- 文件下载 (1)
- Eclipse (2)
- jsp (2)
- 外挂、游戏 (1)
- 面试题 (8)
- 性能测试 (2)
- apache (1)
- MyBatis (1)
- Webservice (2)
- ant (1)
- IDEA (2)
- log4j (1)
- 小程序 (1)
最新评论
-
hll127:
请问service这个方法里为什么要while(true)啊? ...
jsp页面静态化例子 -
tarena1:
Spring 源码解读 推荐流程 -
konglx:
springaop_springmvc 写道可以参考最新的文档 ...
Web项目添加Maven支持步骤 -
springaop_springmvc:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
Web项目添加Maven支持步骤 -
9976:
很好,谢谢
Spring 源码解读 推荐流程
package demo; import java.awt.Color; import java.awt.Font; import java.awt.GradientPaint; import java.awt.RenderingHints; import java.io.PrintWriter; import javax.servlet.http.HttpSession; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartRenderingInfo; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.CategoryAxis; import org.jfree.chart.axis.CategoryLabelPositions; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.axis.ValueAxis; import org.jfree.chart.entity.StandardEntityCollection; import org.jfree.chart.labels.CategoryItemLabelGenerator; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.renderer.category.BarRenderer; import org.jfree.chart.renderer.category.CategoryItemRenderer; import org.jfree.chart.servlet.ServletUtilities; import org.jfree.chart.title.TextTitle; import org.jfree.data.category.CategoryDataset; import org.jfree.data.category.DefaultCategoryDataset; public class CategoryItemChart { public static String generateBarChart( HttpSession session, PrintWriter pw, int w, int h) { String filename = null; try { CategoryDataset dataset=createDataset(); JFreeChart chart=ChartFactory.createBarChart( "世界傻瓜大奖赛",//图表标题 "比赛场次",//X轴标题 "傻瓜程度",//Y轴标题 dataset,//数据集合 PlotOrientation.VERTICAL,//图表显示方向(水平、垂直) true,//是否使用图例 false,//是否使用工具提示 false//是否为图表增加URL ); /*------------配置图表属性--------------*/ // 1,设置整个图表背景颜色 chart.setBackgroundPaint(Color.yellow); /*------------设定Plot参数-------------*/ CategoryPlot plot=chart.getCategoryPlot(); // 2,设置详细图表的显示细节部分的背景颜色 plot.setBackgroundPaint(Color.PINK); // 3,设置垂直网格线颜色 plot.setDomainGridlinePaint(Color.black); //4,设置是否显示垂直网格线 plot.setDomainGridlinesVisible(true); //5,设置水平网格线颜色 plot.setRangeGridlinePaint(Color.yellow); //6,设置是否显示水平网格线 plot.setRangeGridlinesVisible(true); /*---------将所有数据转换为整数形式---------*/ final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); /*---------设置是否在柱图的状态条上显示边框----*/ CategoryItemRenderer renderer = (CategoryItemRenderer) plot.getRenderer(); BarRenderer render=(BarRenderer) plot.getRenderer(); render.setItemMargin(0.1); /*---------设置状态条颜色的深浅渐变-----------*/ GradientPaint gp0 = new GradientPaint( 0.0f, 0.0f, new Color(255,200,80), 0.0f, 0.0f, new Color(255,255,40) ); GradientPaint gp1 = new GradientPaint( 0.0f, 0.0f, new Color(50,255,50), 0.0f, 0.0f, new Color(100,255,100) ); GradientPaint gp2 = new GradientPaint( 0.0f, 0.0f, Color.red, 0.0f, 0.0f, new Color(255,100,100) ); GradientPaint gp3 = new GradientPaint( 0.0f, 0.0f, new Color(108,108,255), 0.0f, 0.0f, new Color(150, 150, 200) ); renderer.setSeriesPaint(0, gp0); renderer.setSeriesPaint(1, gp1); renderer.setSeriesPaint(2, gp2); renderer.setSeriesPaint(3, gp3); /* * * 解决柱状体与图片边框的间距问题 * * * */ /*------设置X轴标题的倾斜程度----*/ CategoryAxis domainAxis = plot.getDomainAxis(); domainAxis.setCategoryLabelPositions( CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0) ); /*------设置柱状体与图片边框的左右间距--*/ domainAxis.setLowerMargin(0.01); domainAxis.setUpperMargin(0.01); /*------设置柱状体与图片边框的上下间距---*/ ValueAxis rAxis = plot.getRangeAxis(); rAxis.setUpperMargin(0.15); rAxis.setLowerMargin(0.15); /*---------设置每一组柱状体之间的间隔---------*/ render.setItemMargin(0.0); /* * * 解决柱状体与图片边框的间距问题 * * * */ /* * * * 解决JFREECHART的中文显示问题 * * * */ /*----------设置消除字体的锯齿渲染(解决中文问题)--------------*/ chart.getRenderingHints().put( RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_OFF ); /*----------设置标题字体--------------------------*/ TextTitle textTitle = chart.getTitle(); textTitle.setFont(new Font("黑体", Font.PLAIN, 20)); /*------设置X轴坐标上的文字-----------*/ domainAxis.setTickLabelFont(new Font("sans-serif",Font.PLAIN,11)); /*------设置X轴的标题文字------------*/ domainAxis.setLabelFont(new Font("宋体",Font.PLAIN,12)); /*------设置Y轴坐标上的文字-----------*/ rAxis.setTickLabelFont(new Font("sans-serif",Font.PLAIN,12)); /*------设置Y轴的标题文字------------*/ rAxis.setLabelFont(new Font("黑体",Font.PLAIN,12)); /*---------设置柱状体上的显示的字体---------*/ renderer.setItemLabelGenerator(new LabelGenerator(0.0)); renderer.setItemLabelFont(new Font("宋体",Font.PLAIN,12)); renderer.setItemLabelsVisible(true); /* * * * 解决JFREECHART的中文显示问题 * * * */ /*------得到chart的保存路径----*/ ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection()); filename = ServletUtilities.saveChartAsPNG(chart, w, h, info, session); /*------使用printWriter将文件写出----*/ ChartUtilities.writeImageMap(pw, filename, info,true); pw.flush(); } catch (Exception e) { System.out.println("Exception - " + e.toString()); e.printStackTrace(System.out); filename = "public_error_500x300.png"; } return filename; } /*-------------设置柱状体顶端的数据显示--------------*/ static class LabelGenerator implements CategoryItemLabelGenerator { private double threshold; public LabelGenerator(double threshold) { this.threshold = threshold; } public String generateLabel(CategoryDataset dataset, int row,int column) { String result = null; final Number value = dataset.getValue(row, column); if (value != null) { final double v = value.doubleValue(); if (v > this.threshold) { result = value.toString(); } } return result; } public String generateRowLabel(CategoryDataset dataset, int row){ return null; } public String generateColumnLabel(CategoryDataset dataset, int column){ return null; } } /*-----------数据集合封装-------------*/ private static CategoryDataset createDataset(){ String s1="笨笨"; String s2="蛋蛋"; String s3="傻傻"; String s4="瓜瓜"; String c1="第一场"; String c2="第二场"; String c3="第三场"; String c4="第四场"; String c5="第五场"; /*-------------封装图表使用的数据集-------------*/ DefaultCategoryDataset dataset=new DefaultCategoryDataset(); dataset.setValue(1.0,s1,c1); dataset.setValue(2.0,s1,c2); dataset.setValue(3.0,s1,c3); dataset.setValue(4.0,s1,c4); dataset.setValue(5.0,s1,c5); dataset.setValue(5.0,s2,c1); dataset.setValue(4.0,s2,c2); dataset.setValue(3.0,s2,c3); dataset.setValue(2.0,s2,c4); dataset.setValue(1.0,s2,c5); dataset.setValue(1.0,s3,c1); dataset.setValue(2.0,s3,c2); dataset.setValue(3.0,s3,c3); dataset.setValue(2.0,s3,c4); dataset.setValue(1.0,s3,c5); dataset.setValue(1.0,s4,c1); dataset.setValue(2.0,s4,c2); dataset.setValue(3.0,s4,c3); dataset.setValue(4.0,s4,c4); dataset.setValue(5.0,s4,c5); return dataset; } }
<%@ page contentType="text/html;charset=GBK"%> <%@ page import="demo.CategoryItemChart"%> <%@ page import="java.io.PrintWriter"%> <html> <head> <title> </title> <% //以下部分为图象输出 String fileName=CategoryItemChart.generateBarChart(session,new PrintWriter(out),580,250); String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + fileName; %> </head> <body bgcolor="#ffffff"> <table width="580" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <img src="<%= graphURL %>" width=580 height=250 border=0 > </td> </tr> </table> </body> </html>
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <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>/servlet/DisplayChart</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
效果如附件:
发表评论
-
tomcat7下对HTTPS的部署配置
2018-11-09 15:33 7551、申请CA证书,可以在腾讯云或者阿里云申请到免费的CA ... -
IDEA切换 svn 问题
2017-11-27 09:21 4916今天项目,本来以为就几分钟的事没想到,还出现报错了,错误日记 ... -
log4j cfx 接口请求、返回信息 日志文件分离
2017-06-28 15:04 2110log4j.rootLogger=info,stdout, ... -
junit 启动报错:java.lang.NoClassDefFoundError
2013-04-17 19:31 1625junit 启动报错:java.lang.NoClassDe ... -
Java中抽象类和接口的区别
2013-04-16 12:12 995小结 1.abstract class 在 Java ... -
web.xml中servlet, bean, filter, listenr 加载顺序汇总
2013-03-28 16:17 1515web.xml中servlet, bean, filter, ... -
深入Java虚拟机JVM类加载初始化学习笔记
2013-03-26 20:39 12101. Classloader的作用,概括来说就是将编译后的c ... -
http代理出错Proxy Error
2013-03-22 09:15 1614最近项目突然访问几下次报: Proxy Error ... -
通过javamelody监控web应用的性能指标
2013-03-04 12:00 17421、问题背景 为了提升应用的性能我们可能需要做很多分析和 ... -
javamelody监控
2013-03-04 11:50 1482. 将 javamelody-1.42.0.war 文件部署 ... -
myeclipse安装svn插件的肯定可行的方法
2012-12-18 21:26 9221、下载最新的SVN包:http://subclipse.ti ... -
WordTemplate 使用
2012-03-27 11:28 1197http://wiki.softartisans.com/di ... -
asyn4j 异步方法调用框架
2012-03-14 14:19 1928例子: 1.调用普通方法 主方法 ... -
asyn4j -- 异步方法调用框架
2012-03-14 14:15 01.3更新 优化代码 新增任务持久与恢复功能 ... -
JasperReport
2011-09-01 13:45 1249“在JRE 5以上的java环境中,java会自动加载$JAV ... -
解决Linux操作系统下AES解密失败的问题
2011-03-11 16:00 7004现象描述: windows上加解密正常,linu ... -
使用set+list进行过滤重复并排序
2011-02-28 11:30 1798有时要把有重复的数据用set去掉重复元素,但用set后又把元素 ... -
ssh 事务
2011-01-12 23:03 1155ssh在做事务提交时,不能直接用Sql语句进行insert i ... -
struts2与 json
2011-01-10 09:17 1200需要注意的是,如果用JSON插件把返回结果定为JSON。而JS ... -
struts2返回json数据问题
2011-01-06 20:58 1272最近同事反映struts2返回数据不了json数据,特意测试了 ...
相关推荐
这个压缩包文件"jfreechart_数据报表"很可能包含了使用JFreeChart创建数据报表所需的各种示例代码和资源。 JFreeChart支持多种类型的图表,包括柱状图、饼图、线形图、散点图、面积图、甘特图、热力图以及复杂的3D...
- 教育和演示:教学材料或技术演示中,使用JFreeChart制作图表能直观地解释概念。 总之,JFreeChart是Java开发者手中的一款强大工具,能够轻松地生成高质量的图表,而这篇博客中的简单例子将帮助初学者快速上手,...
JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括柱状图、饼图、曲线图、甘特图等。它能够 用在Swing和Web等中制作自定义的图表或报表,并且得到广泛的应用。本文将通过引领...
JFreeChart 是一个功能强大、灵活易用的 Java 绘图 API,使用它可以生成多种通用性的报表,包括柱状图、饼图、曲线图、甘特图等。它能够用在 Swing 和 Web 等中制作自定义的图表或报表,并且得到广泛的应用。 一、...
**JFreeChart 使用详解** JFreeChart 是一个用于Java平台...无论是简单的数据可视化还是复杂的报表制作,JFreeChart都是Java环境中值得信赖的选择。通过不断探索和实践,你可以根据项目需求定制出满足特定需求的图表。
在提供的"JFreechar报表一个简单例子"中,可能包含了一个简单的Java程序,演示了如何使用JFreeChart创建和显示一个报表。这个例子可能涵盖了以下步骤: 1. 导入必要的JFreeChart库。 2. 创建数据源,比如一个`...
JFreeChart 是一组功能强大、灵活易用的 Java 绘图 API,使用它可以生成多种通用性的报表,包括柱状图、饼图、曲线图、甘特图等。它能够用在 Swing 和 Web 等中制作自定义的图表或报表,并且得到广泛的应用。 在本...
**JfreeChart 入门详解** JFreeChart 是一个用于 Java 的...无论你是数据分析还是报表制作,JfreeChart 都能成为你得力的工具。在实际开发中,不断实践和探索,你会发现 JfreeChart 能够满足你对数据展示的诸多需求。
通过这些例子,开发者可以快速理解并学习如何使用JFreeChart。 - **运行演示**:每个示例都可以运行,观察其生成的图表效果,便于直观学习和调试。 - **学习路径**:从简单的图表创建到复杂的交互式图表,这些示例...
这个库在Java应用中广泛使用,尤其在数据分析、报表制作以及Web应用中,如 JSP(JavaServer Pages)中,它的存在使得动态生成图形变得简单易行。"JFreechart Demo源码集"包含了一系列的示例代码,这些代码可以帮助...
这篇文档将详细介绍如何利用JFreeChart库来创建这些图表。 一、JFreeChart简介 JFreeChart是Java平台上的一款免费、开源的图表库,支持多种图表类型,如折线图、柱状图、饼图、散点图、甘特图、雷达图等。它的核心...
该用户手册详细介绍了如何安装、配置以及使用JFreeChart。 #### 二、样例图表 - **饼图(Pie Charts)**:介绍如何创建和自定义饼图。 - **柱状图(Bar Charts)**:探讨不同类型的柱状图及其定制选项。 - **折线图...
标题"jfreechart的例子"表明我们将探讨JFreeChart的实例应用,而描述中的“报表最好的工具”进一步强调了它在报表制作中的价值,特别是对于初学者来说。 JFreeChart的特点包括但不限于以下几点: 1. **多类型图表*...
**JFreeChart 概述** JFreeChart 是一个在Java平台上广泛使用的开源图表库,它提供了丰富的图表类型...无论你是数据分析、报表制作还是可视化应用的开发者,JFreeChart 都能帮助你轻松地将数据转化为易于理解的图形。
JFreeChart是一款强大的Java图表库,它为Java开发者提供了丰富的图表功能,包括柱状图、饼图、线形图、散点图、甘特图等多种图表类型,适用于各种...本资料包中的实例和详细讲解将对学习和使用JFreeChart提供极大帮助。
9. **Jasper**:展示分组分栏报表的制作过程,通过两次分组实现复杂的布局。 10. **JCharts**:类似Chart示例,但使用另一个开源API jCharts生成图形。 11. **Landscape**:展示横向报表的设计方法。 12. **...