- 浏览: 317445 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 16791基于上一篇博客http://wuxiangqian.ite ... -
Mybatis3.2使用心得 中文API
2013-12-10 17:41 38928最近写一个web服务接口,用到了MyBatis3.2,把我 ... -
Internet Explorer 已对此页面进行了修改,以帮助阻止跨站点脚本
2013-05-05 15:11 17523ie浏览器提示错误的原 ... -
Java异常处理心得
2012-12-27 10:26 13132项目是基于 ... -
IE文本框内容右对齐后光标消失
2012-12-20 16:42 1887<input type="text" ... -
实践Oracle与DB2区别及问题解决
2012-12-19 13:53 1873项目进入开发阶段的时候,为了方便,一直使用 Or ... -
json对象转换成复杂Bean(包括bean、list<Bean>、Object)
2012-07-09 18:33 29530jsonWorkflowBean是json字符串 // ... -
json字符串转换成List<bean>
2012-06-05 14:52 1875String gra = JSONUtils.toJSON(g ... -
MyEclipse自动生成注释文档
2012-04-06 11:54 1094在myeclipse中导入该附件 window—pre ... -
Java实现 SSL双向认证
2012-04-01 10:01 1201我们常见的SSL验证较多的只是验证我们的服务器是否是真实正确的 ... -
JAVA 二级联动菜单
2012-03-12 13:45 2308<%@ page language="java ... -
列出某文件夹下的所有文件
2012-03-03 23:12 998File f=new File("Derec ... -
java 数据库连接池的简单实现
2012-03-03 23:07 1427package com.wangjia.tools; ... -
webservices设置
2011-12-06 17:28 1077<?xml version="1.0&qu ... -
SSH整合视频 SSH整合案例 SSH整合问题解决
2011-12-05 22:01 1933个人网站:www.longhuiwang.com SSH案例 ... -
jsp播放视频文件代码
2011-12-02 21:01 17441.avi格式 代码片断如下: <object ... -
myeclipse 生成注册码
2011-11-28 18:08 61package domain; import java.io ... -
myeclipse svn 安装
2011-11-28 18:07 967一、安装方法: 方法一、如果可以上网可在线安装 1. 打开 ... -
fedora10下面访问servlet报404错误
2011-11-23 19:19 1180问题:系统在window xp下面访问servlet没有任何问 ... -
兼容火狐、IE iframe onload属性、遮罩层隐藏及显示
2011-11-15 19:59 2895<%@ page language="java ...
相关推荐
一份非常简单的jfreechart折线图demo!!!!!!!!
jfreechart折线图读取数据库数据的显示
该程序为main 函数,定义了三个方法,分别是jfreechart三种实现折线图的类型,返回的是一个chart 本程序是把图片保存到本地,当然实际应用中,只要在程序和页面中做相关配置即可以使用。 因为图片带点透明,所以...
NULL 博文链接:https://leequer.iteye.com/blog/509321
ValueStack vs=(ValueStack)request.getAttribute("struts.valueStack"); List list=(List)vs.findValue("list"); Iterator itor=list.iterator(); while(itor.hasNext()) { ... <%} %>
利用jfreechart绘制的漂亮的折线图,实现双纵坐标,折线点标签还带箭头指示,非常直观,需要提前下载jfreechart.jar文件,否则我的类会报错,也即是要配置运行环境
jfreechart 堆栈柱状图跟折线图结合拼接 jar包请戳http://download.csdn.net/detail/a156435646/7424707
public JFreeChart createChart(String Ytitle, String title, CategoryDataset lineData, CategoryDataset barData) { //参考附件 return chart; } //struts 部分 <!--begin 维优特例 --> ...
JSP利用JFreeChart生成折线图,文档中包含所需jar包,共有四个例子,导入即可运行,内附有说明
jfreechart 折线图、饼状图、柱状图在web页面上的应用,自己在网上找到点资料,然后写了个示例。 导入的myeclipse中部署即可。
主要为大家详细介绍了JFreeChart折线图的生成方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
JFreeChart饼图、折线图等资料学习,jar包,示例,api。全有非常好用
JFreeChart双Y轴折线图实例,可以直接运行,实例类为LineChartDemo1.JAVA,有注释。 若想在web工程使用只需如下。 String filename = ServletUtilities.saveChartAsPNG(jfreechart, 600, 400, null, session); ...
jfreechart的简单使用,jfreechart根据24小时数据画折线图。自定义x轴y轴刻度,时间间隔为1小时且以整点为折点画折线图。
jfreechart绘制折线图(平面和3D)绝对经典
java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图
JFreeChart实时折线图 利用Jfreechart实现applet的动态折线图 实时显示随机数
flex案例\flex图形\玫瑰图\jfreechart小记(雷达图+折线图).doc
//创建xy折线图 JFreeChart chart = ChartFactory.createXYLineChart("liumingjin", // chart title "time(min)", // domain axis label "pv(mv)", // range axis label xyDataset, // data ...
jfreechart 生成折线图,饼图,柱状图,堆栈柱状图