- 浏览: 322279 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
ayidaweiwei:
上面已经写得很清楚了,吧里data 里面的数据定义成一个Bea ...
json对象转换成复杂Bean(包括bean、list<Bean>、Object) -
chaohua2012:
你好,如果json是这种形式呢"type" ...
json对象转换成复杂Bean(包括bean、list<Bean>、Object) -
a6892509:
大神呀
Java异常处理心得 -
liubaolin123:
请问有源码么?
restlet2.0.6+spring3.2.2+mybatis3.2.3 集成 -
xiangqian0505:
xiangqian0505 写道duan_1991 写道文章不 ...
Java异常处理心得
package com.ssrt.group; import java.awt.Color; import java.awt.Font; import java.io.File; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.CategoryAxis; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.labels.StandardPieSectionLabelGenerator; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PiePlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.renderer.category.LineAndShapeRenderer; import org.jfree.data.category.DefaultCategoryDataset; import org.jfree.data.general.DefaultPieDataset; /** * 项目名称:fit * 类名称:CreatePicByJFreeChart * 类描述:生成走势图的处理类 * 创建时间:Mar 15, 2010 10:15:22 AM * @version */ public class CreatePicByJFreeChart { /** * 功能:根据传入的数据生成指定目录的走势图的处理方法。 * @param List list 生成图所需要的list集合 * @param String CateGory X轴对应的字段 * @param String value Y轴对应的字段 * @param String series 底部显示的标题 * @param int width 生成图片的宽 * @param int height 生成图片的高 * @param HttpServletRequest request 当前的request * @param String picDir 要生成图片存储的目录,默认为images * @return String 返回生成图片的全路径和名称 */ @SuppressWarnings( { "unchecked", "deprecation" }) public static String createXYLinePic(List list, String CateGory,String value, String series, int width, int height,HttpServletRequest request, String picDir) { try { Method metd = null; String fdname = null; String seriesTemp = series; DefaultCategoryDataset linedataset = new DefaultCategoryDataset(); // 遍历集合 for (Object object : list) { // 获取集合中的对象类型 Class clazz = object.getClass(); // 获取他的字段数组 Field[] fds = clazz.getDeclaredFields(); Object f1 = null; Object f2 = null; Object objTitle = null; // 遍历该数组Field field : fds for (Field field : fds) { // 得到字段名 fdname = field.getName(); // 对象序列化常量没有set和get方法。 if (!fdname.equals("serialVersionUID")) { // 根据字段名找到对应的get方法,null表示无参数 metd = clazz.getMethod("get" + change(fdname), null); } // 比较是否在字段数组中存在name字段,如果不存在短路,如果存在继续判断该字段的get方法是否存在,同时存在继续执行 if (CateGory.equals(fdname) && metd != null) { // 调用该字段的get方法 f1 = metd.invoke(object, null); } // 同上 if (value.equals(fdname) && metd != null) { f2 = metd.invoke(object, null); } if (fdname.equals(series)) { objTitle = metd.invoke(object, null); seriesTemp = objTitle.toString(); } } linedataset.addValue(Double.parseDouble(f2.toString()),seriesTemp, f1.toString()); } // 定义图表对象 JFreeChart jfreechart = ChartFactory.createLineChart("", "", "",linedataset, PlotOrientation.VERTICAL, true, true, false); CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot(); // 获得renderer 注意这里是下嗍造型到lineandshaperenderer!! LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer) categoryplot.getRenderer(); categoryplot.setBackgroundPaint(Color.lightGray); // 设置网格线的颜色 categoryplot.setRangeGridlinePaint(Color.black); NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis(); CategoryAxis domainAxis = categoryplot.getDomainAxis(); //设置X轴坐标上的文字 domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11)); //设置X轴的标题文字 domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12)); //设置Y轴坐标上的文字 numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12)); //设置Y轴的标题文字 numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12)); //这句代码解决了底部汉字乱码的问题 jfreechart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12)); numberaxis.setAutoRangeIncludesZero(true); // series 点(即数据点)可见 lineandshaperenderer.setShapesVisible(true); // 定义series为”First”的(即series1)点之间的连线 ,这里是虚线,默认是直线 // lineandshaperenderer.setSeriesStroke(0, new BasicStroke(2.0F, 1,1, 1.0F, new float[] {10F, 6F }, 0.0F)); //判断目录 String dir = ""; if(!"".equals(picDir) && picDir != null){ dir = request.getSession().getServletContext().getRealPath("/"+picDir); File file = new File(dir); if(!file.exists()){ file.mkdir(); } } //目录如果不指定时,则默认目录为Images else { dir = request.getSession().getServletContext().getRealPath("/"+"images"); } String picPathName = dir+"/"+"pic.jpg"; ChartUtilities.saveChartAsJPEG(new File(picPathName), jfreechart,width, height); return picPathName; } catch (Exception e) { e.printStackTrace(); } return null; }
/** * 功能:根据传入的数据生成指定目录的饼图的处理方法。 * @param List list 生成图所需要的list集合 * @param String CateGory 标题对应的字段 * @param String value 数据对应的字段 * @param int width 生成图片的宽 * @param int height 生成图片的高 * @param HttpServletRequest request 当前的request * @param String picDir 要生成图片存储的目录,默认为images * @return String 返回生成图片的全路径和名称 */ @SuppressWarnings("unchecked") public static String createPIEPic(List list, String CateGory,String value, int width, int height,HttpServletRequest request, String picDir) { try { Method metd = null; String fdname = null; DefaultPieDataset ds = new DefaultPieDataset(); // 遍历集合 for (Object object : list) { // 获取集合中的对象类型 Class clazz = object.getClass(); // 获取他的字段数组 Field[] fds = clazz.getDeclaredFields(); Object f1 = null; Object f2 = null; @SuppressWarnings("unused") Object objTitle = null; // 遍历该数组Field field : fds for (Field field : fds) { // 得到字段名 fdname = field.getName(); // 对象序列化常量没有set和get方法。 if (!fdname.equals("serialVersionUID")) { // 根据字段名找到对应的get方法,null表示无参数 metd = clazz.getMethod("get" + change(fdname), null); } // 比较是否在字段数组中存在name字段,如果不存在短路,如果存在继续判断该字段的get方法是否存在,同时存在继续执行 if (CateGory.equals(fdname) && metd != null) { // 调用该字段的get方法 f1 = metd.invoke(object, null); } // 同上 if (value.equals(fdname) && metd != null) { f2 = metd.invoke(object, null); } } ds.setValue(f1.toString(),Double.parseDouble(f2.toString()) ); } //判断目录 String dir = ""; if(!"".equals(picDir) && picDir != null){ dir = request.getSession().getServletContext().getRealPath("/"+picDir); File file = new File(dir); if(!file.exists()){ file.mkdir(); } } //目录如果不指定时,则默认目录为Images else { dir = request.getSession().getServletContext().getRealPath("/"+"images"); } String picPathName = dir+"/"+"pic.jpg"; JFreeChart jfc = ChartFactory.createPieChart3D("", ds, true, false, false); //通过JFreeChart 对象获得 PiePlot pieplot = (PiePlot) jfc.getPlot(); // 没有数据的时候显示的内容 pieplot.setNoDataMessage("无数据可供显示!"); /* 解决底部和图上文字乱码问题 start*/ jfc.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 14)); pieplot.setLabelFont(new Font("宋体", Font.BOLD, 10)); /* 解决底部和图上文字乱码问题 end*/ pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator(("{0}({2})"), NumberFormat.getNumberInstance(), new DecimalFormat("0.00%"))); ChartUtilities.saveChartAsJPEG(new File(picPathName), jfc, width,height); return picPathName; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 功能:将传入的字符串的第一个字母转换为大写的处理方法 * @param String src 源字符串 * @return String */ public static String change(String src) { if (src != null) { StringBuffer sb = new StringBuffer(src); sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); return sb.toString(); } else { return null; } } }
评论
2 楼
xiangqian0505
2011-12-06
hllf123 写道
如果折线图上拐点显示数据会出现逗号 也就是:48,580 怎么去掉这个逗号呢
你能说详细些吗?
1 楼
hllf123
2011-12-06
如果折线图上拐点显示数据会出现逗号 也就是:48,580 怎么去掉这个逗号呢
发表评论
-
restlet2.0.6+spring3.2.2+mybatis3.2.3 集成
2013-12-27 15:55 16861基于上一篇博客http://wuxiangqian.ite ... -
Mybatis3.2使用心得 中文API
2013-12-10 17:41 38999最近写一个web服务接口,用到了MyBatis3.2,把我 ... -
Internet Explorer 已对此页面进行了修改,以帮助阻止跨站点脚本
2013-05-05 15:11 17605ie浏览器提示错误的原 ... -
Java异常处理心得
2012-12-27 10:26 13199项目是基于 ... -
IE文本框内容右对齐后光标消失
2012-12-20 16:42 1939<input type="text" ... -
实践Oracle与DB2区别及问题解决
2012-12-19 13:53 1941项目进入开发阶段的时候,为了方便,一直使用 Or ... -
json对象转换成复杂Bean(包括bean、list<Bean>、Object)
2012-07-09 18:33 29640jsonWorkflowBean是json字符串 // ... -
json字符串转换成List<bean>
2012-06-05 14:52 1949String gra = JSONUtils.toJSON(g ... -
MyEclipse自动生成注释文档
2012-04-06 11:54 1145在myeclipse中导入该附件 window—pre ... -
Java实现 SSL双向认证
2012-04-01 10:01 1262我们常见的SSL验证较多的只是验证我们的服务器是否是真实正确的 ... -
JAVA 二级联动菜单
2012-03-12 13:45 2372<%@ page language="java ... -
列出某文件夹下的所有文件
2012-03-03 23:12 1044File f=new File("Derec ... -
java 数据库连接池的简单实现
2012-03-03 23:07 1483package com.wangjia.tools; ... -
webservices设置
2011-12-06 17:28 1125<?xml version="1.0&qu ... -
SSH整合视频 SSH整合案例 SSH整合问题解决
2011-12-05 22:01 1978个人网站:www.longhuiwang.com SSH案例 ... -
jsp播放视频文件代码
2011-12-02 21:01 18611.avi格式 代码片断如下: <object ... -
myeclipse 生成注册码
2011-11-28 18:08 61package domain; import java.io ... -
myeclipse svn 安装
2011-11-28 18:07 1014一、安装方法: 方法一、如果可以上网可在线安装 1. 打开 ... -
fedora10下面访问servlet报404错误
2011-11-23 19:19 1215问题:系统在window xp下面访问servlet没有任何问 ... -
兼容火狐、IE iframe onload属性、遮罩层隐藏及显示
2011-11-15 19:59 2939<%@ page language="java ...
相关推荐
**JFreeChart 折线图实例详解** JFreeChart 是一个强大的 Java 图形库,它提供了丰富的图表类型,包括折线图、柱状图、饼图等,适用于各种数据分析和展示场景。在这个例子中,我们将深入探讨如何使用 JFreeChart ...
在这个“jfreechart折线图demo”中,我们将深入探讨如何使用 JFreeChart 创建和展示折线图。 1. **JFreeChart 概述** JFreeChart 提供了一套完整的 API,使得开发者可以方便地生成高质量的静态图表,并能轻松地将...
该程序为main 函数,定义了三个方法,分别是jfreechart三种实现折线图的类型,返回的是一个chart 本程序是把图片保存到本地,当然实际应用中,只要在程序和页面中做相关配置即可以使用。 因为图片带点透明,所以...
在Java编程环境中,JFreeChart库是一个非常强大的工具,用于创建各种类型的图表,包括折线图、柱状图、饼图等。本教程将详细讲解如何利用JFreeChart结合MySQL数据库来生成动态折线图,展示数据库中的数据。 首先,...
ValueStack vs=(ValueStack)request.getAttribute("struts.valueStack"); List list=(List)vs.findValue("list"); Iterator itor=list.iterator(); while(itor.hasNext()) { ... <%} %>
利用jfreechart绘制的漂亮的折线图,实现双纵坐标,折线点标签还带箭头指示,非常直观,需要提前下载jfreechart.jar文件,否则我的类会报错,也即是要配置运行环境
public JFreeChart createChart(String Ytitle, String title, CategoryDataset lineData, CategoryDataset barData) { //参考附件 return chart; } //struts 部分 <!--begin 维优特例 --> ...
在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而JFreeChart则是一个强大的Java图表库,能够帮助开发者生成各种复杂的图表,包括折线图。本教程将详细介绍如何在JSP中利用JFreeChart库来...
jfreechart 堆栈柱状图跟折线图结合拼接 jar包请戳http://download.csdn.net/detail/a156435646/7424707
JFreeChart折线图的生成方法 JFreeChart是一款功能强大且广泛使用的图表类库,它可以生成多种类型的图表,如饼图、柱状图、散点图、时序图、甘特图等等。今天,我们将详细介绍JFreeChart折线图的生成方法。 首先,...
JFreeChart是一款强大的Java图形库,它允许开发者创建多种类型的图表,包括饼图、折线图、柱状图、散点图以及更多其他类型的图表。这个资料包包含了JFreeChart的核心库(jfreechart-1.0.16.jar)和其依赖库JCommon...
JFreeChart双Y轴折线图实例,可以直接运行,实例类为LineChartDemo1.JAVA,有注释。 若想在web工程使用只需如下。 String filename = ServletUtilities.saveChartAsPNG(jfreechart, 600, 400, null, session); ...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的图表,包括折线图、饼状图和柱状图等,这些图表广泛应用于数据分析、报表展示以及Web应用程序中。本项目提供了一个实例,展示了如何在Web页面上使用...
### jfreechart根据24小时数据画折线图 #### 一、jfreechart简介 jfreechart是一款基于Java的开源图表绘制库,它能够帮助开发者轻松地在应用程序中生成各种图表,包括折线图、饼图、柱状图等。它的主要优势在于...
JFreeChart是一款强大的Java图形库,它允许开发者创建多种类型的图表,包括折线图、柱状图、饼图、散点图等。在本主题中,我们将深入探讨如何使用JFreeChart来绘制平面和3D的折线图。 首先,让我们了解折线图的基本...
JFreeChart 是一个开源的Java库,用于生成高质量的2D图表,如折线图、饼图、柱状图和堆栈柱状图等。它广泛应用于数据分析、报告和应用程序中,提供丰富的自定义选项来满足各种视觉需求。在本项目中,你将找到能够...
java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图
在Java编程环境中,JFreeChart库是一个非常强大的工具,用于创建各种类型的图表,如柱状图、饼图、线图等。如果你需要让X轴的标题在图表中竖直显示,而不是默认的水平显示,这通常是为了更好地适应有限的空间或者...
jfreechart是Java中一个流行的图表库,它提供了许多种类的图表,包括柱状图、折线图、饼图、雷达图等。本文主要介绍如何使用jfreechart绘制风速风向玫瑰图。 首先,了解jfreechart的基本结构。jfreechart的核心是...