- 浏览: 937804 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
u014408122:
...
2013.09.05——— android 蓝牙聊天室之官方例子 -
ChangHuiYuanH:
2011.10.10——— android 画图之setXfermode -
lipeng88213:
wenjiefeng 写道第一次无法向左滑动嗯 估计应该也没人 ...
2014.04.21(2)——— android开发实例之viewpager无限循环+自动滚动 (修改版) -
wenjiefeng:
第一次无法向左滑动
2014.04.21(2)——— android开发实例之viewpager无限循环+自动滚动 (修改版) -
beijibingshan2012:
lipeng88213 写道beijibingshan2012 ...
2010.07.23——— 用jstree作权限
2010.03.09(3)——JfreeChart与后台交互之柱状图
2010.03.09(3)——JfreeChart与后台交互之柱状图
这个例子所能达到的目的:
页面有几个复选框,当选择其中几个时,会生成对性的柱状图,并显示在页面上
**************************************************
web.xml
**************************************************
**************************************************
spring.xml
**************************************************
**************************************************
pojo类
**************************************************
******************LiangShi.java
*******************JianZhu.java
**************************************************
TestDao
**************************************************
**************************************************
TestService
**************************************************
**************************************************
TestControl
**************************************************
**************************************************
柱状图:
**************************************************
这个,和原来的柱状图 就两天区别:
1.dataset要改,改为从数据库中获取,我已经去掉了
2.就是drawToHtml(),这个方法的
ChartUtilities.writeImageMap(out, fileName, info, false);
out.flush();
这两句话要注释
因为我们现在只需要生成图片的地址就行了 不需要立马就放到页面上去
**************************************************
jsp
**************************************************
对了 还有数据库
**************************************************
sql
**************************************************
这个例子所能达到的目的:
页面有几个复选框,当选择其中几个时,会生成对性的柱状图,并显示在页面上
**************************************************
web.xml
**************************************************
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <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> </web-app>
**************************************************
spring.xml
**************************************************
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd" default-autowire="byName"> <!-- <aop:aspectj-autoproxy proxy-target-class="true"/> --> <!-- 数据库外部文件配置 --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list><value>classpath:db.properties</value></list> </property> <property name="fileEncoding" value="utf-8" /> </bean> <!-- 数据库外部文件配置 --> <!-- 配置数据源 使用dbcp数据源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> <!-- 配置数据源 使用dbcp数据源 --> <!-- Hibernate SessionFactory配置 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="annotatedClasses"> <list> <value>pojo.JianZhu</value> <value>pojo.LiangShi</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.OracleDialect </prop> <prop key="show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.use_sql_comments">true</prop> </props> </property> </bean> <!-- Hibernate SessionFactory配置 --> <!-- hibernateTemplate --> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- hibernateTemplate --> <!-- dao --> <bean id="testDao" class="dao.TestDaoImp" > <property name="hibernateTemplate"> <ref bean="hibernateTemplate" /> </property> </bean> <!-- dao --> <!-- serice --> <bean id="testService" class="service.TestServiceImp" > <property name="testDao" > <ref bean="testDao" /> </property> </bean> <!-- serice --> <!-- spring MVC --> <bean id="testDelegate" class="control.TestControl"> <property name="testService"><ref bean="testService"/></property> </bean> <bean id="testController" class="org.springframework.web.servlet.mvc.multiaction.MultiActionController"> <property name="methodNameResolver" ref="propMethodNameResolver"/> <property name="delegate" ref="testDelegate"/> </bean> <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/test_*.do">testController</prop> </props> </property> </bean> <bean id="propMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver"> <property name="mappings"> <props> <prop key="/test_1.do">test</prop> </props> </property> </bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property> <property name="prefix"><value></value></property> <property name="suffix"><value>.jsp</value></property> <property name="contentType"><value>text/html;charset=utf-8</value></property> </bean> <!-- spring MVC --> </beans>
**************************************************
pojo类
**************************************************
******************LiangShi.java
package pojo; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="LIANGSHI") public class LiangShi { private String name; @Id private Integer value; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getValue() { return value; } public void setValue(Integer value) { this.value = value; } }
*******************JianZhu.java
package pojo; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="JIANZHU") public class JianZhu { private String name; @Id private Integer value; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getValue() { return value; } public void setValue(Integer value) { this.value = value; } }
**************************************************
TestDao
**************************************************
package dao; import java.util.List; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import pojo.JianZhu; import pojo.LiangShi; public class TestDaoImp extends HibernateDaoSupport implements TestDao { public List<JianZhu> query1(){ String hql = "from JianZhu"; return (List<JianZhu>)this.getHibernateTemplate().find(hql); } public List<LiangShi> query2(){ String hql = "from LiangShi"; return (List<LiangShi>)this.getHibernateTemplate().find(hql); } public List<JianZhu> query1(Object[] values){ StringBuffer hql = new StringBuffer("from JianZhu o "); if(values!=null){ hql.append("where "); } int i = 0; for(Object o : values){ hql.append("o.name='").append(o).append("'"); i++; if(i!=values.length) hql.append(" or "); } System.out.println(hql.toString()); return (List<JianZhu>)this.getHibernateTemplate().find(hql.toString()); } public List<LiangShi> query2(Object[] values){ StringBuffer hql = new StringBuffer("from LiangShi o "); if(values!=null){ hql.append("where "); } int i = 0; for(Object o : values){ hql.append("o.name='").append(o).append("'"); i++; if(i!=values.length) hql.append(" or "); } System.out.println(hql.toString()); return (List<LiangShi>)this.getHibernateTemplate().find(hql.toString()); } }
**************************************************
TestService
**************************************************
package service; import java.util.List; import pojo.JianZhu; import pojo.LiangShi; import dao.TestDao; public class TestServiceImp implements TestService { private TestDao testDao; public TestDao getTestDao() { return testDao; } public void setTestDao(TestDao testDao) { this.testDao = testDao; } public List<JianZhu> query1(){ return this.testDao.query1(); } public List<LiangShi> query2(){ return this.testDao.query2(); } public List<JianZhu> query1(Object[] values) { // TODO Auto-generated method stub return this.testDao.query1(values); } public List<LiangShi> query2(Object[] values) { // TODO Auto-generated method stub return this.testDao.query2(values); } }
**************************************************
TestControl
**************************************************
package control; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jfree.data.category.DefaultCategoryDataset; import org.springframework.web.servlet.ModelAndView; import pojo.BarChartTest; import pojo.JianZhu; import pojo.LiangShi; import service.TestService; public class TestControl { private TestService testService; public TestService getTestService() { return testService; } public void setTestService(TestService testService) { this.testService = testService; } public ModelAndView test(HttpServletRequest request,HttpServletResponse response) throws IOException{ String city = request.getParameter("city"); String type = request.getParameter("type"); String[] values1 = type.split("-"); String[] values = city.split("-"); List<JianZhu> list1 = null; List<LiangShi> list2 = null; for(String str : values1){ if(str.equals("jianzhu")){ list1 = testService.query1(values); } if(str.equals("liangshi")){ list2 = testService.query2(values); } } DefaultCategoryDataset dataset = new DefaultCategoryDataset(); if(list2!=null){ for(int i=0;i<list2.size();i++){ dataset.setValue(list2.get(i).getValue(), "粮食用地", list2.get(i).getName()); } } if(list1!=null){ for(int i=0;i<list1.size();i++){ dataset.setValue(list1.get(i).getValue(), "建筑用地", list1.get(i).getName()); } } PrintWriter out = response.getWriter(); String str = BarChartTest.drawToHtml(BarChartTest.createChart(dataset), request.getSession(), out; out.print(str); return null; } }
**************************************************
柱状图:
**************************************************
package pojo; import java.awt.Color; import java.awt.Font; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpSession; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartFrame; 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.entity.StandardEntityCollection; import org.jfree.chart.labels.StandardCategoryItemLabelGenerator; 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.BarRenderer3D; import org.jfree.chart.servlet.ServletUtilities; import org.jfree.chart.title.LegendTitle; import org.jfree.chart.title.TextTitle; import org.jfree.data.category.CategoryDataset; import org.jfree.data.category.DefaultCategoryDataset; /** * 柱状图和折线图 * @author qiujy */ public class BarChartTest { /** * step2:创建图表 * @param dataset * @return */ public static JFreeChart createChart(CategoryDataset dataset) { JFreeChart chart = ChartFactory.createBarChart3D( //3D柱状图 //JFreeChart chart = ChartFactory.createLineChart3D( //3D折线图 "原创图书销量统计", //图表的标题 "图书名", //目录轴的显示标签 "销量", //数值轴的显示标签 dataset, //数据集 PlotOrientation.VERTICAL, //图表方式:V垂直;H水平 true, // 是否显示图例 false, // 是否显示工具提示 false // 是否生成URL ); //===============为了防止中文乱码:必须设置字体 chart.setTitle(new TextTitle("原创图书销量统计", new Font("黑体", Font.ITALIC, 22))); LegendTitle legend = chart.getLegend(); // 获取图例 legend.setItemFont(new Font("宋体", Font.BOLD, 12)); //设置图例的字体,防止中文乱码 CategoryPlot plot = (CategoryPlot) chart.getPlot(); // 获取柱图的Plot对象(实际图表) // 设置柱图背景色(注意,系统取色的时候要使用16位的模式来查看颜色编码,这样比较准确) plot.setBackgroundPaint(new Color(255, 255, 204)); plot.setForegroundAlpha(0.65F); //设置前景色透明度 // 设置横虚线可见 plot.setRangeGridlinesVisible(true); // 虚线色彩 plot.setRangeGridlinePaint(Color.gray); CategoryAxis h = plot.getDomainAxis(); //获取x轴 h.setMaximumCategoryLabelWidthRatio(1.0f);// 横轴上的 Lable 是否完整显示 h.setLabelFont(new Font("宋体", Font.BOLD, 12));//设置字体,防止中文乱码 h.setTickLabelFont(new Font("宋体", Font.BOLD, 12));// 轴数值 //h.setCategoryLabelPositions(CategoryLabelPositions.UP_45);//45度倾斜 plot.getRangeAxis().setLabelFont(new Font("宋体", Font.BOLD, 12)); //Y轴设置字体,防止中文乱码 //柱图的呈现器 BarRenderer3D renderer = new BarRenderer3D(); // 设置柱子宽度 //renderer.setMaximumBarWidth(0.05); // 设置柱子高度 //renderer.setMinimumBarLength(0.2); // 设置柱子边框颜色 renderer.setBaseOutlinePaint(Color.BLACK); // 设置柱子边框可见 renderer.setDrawBarOutline(true); //设置每个柱的颜色 renderer.setSeriesPaint(0, Color.BLUE); renderer.setSeriesPaint(1, Color.GREEN); renderer.setSeriesPaint(2, Color.RED); //设置每个地区所包含的平行柱的之间距离 renderer.setItemMargin(0.05); // 显示每个柱的数值,并修改该数值的字体属性 renderer.setIncludeBaseInRange(true); renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); renderer.setBaseItemLabelsVisible(true); // 设置柱的透明度 plot.setForegroundAlpha(1.0f); //给柱图添加呈现器 plot.setRenderer(renderer); // 没有数据的时候显示的内容 plot.setNoDataMessage("找不到可用数据..."); return chart; } /** * step3: 输出图表到网页 * @param destPath * @param chart */ public static String drawToHtml(JFreeChart chart,HttpSession session,PrintWriter out){ ChartRenderingInfo info = new ChartRenderingInfo( new StandardEntityCollection()); String fileName = ""; try { fileName = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);//生成图片 // Write the image map to the PrintWriter ChartUtilities.writeImageMap(out, fileName, info, false); } catch (IOException e) { e.printStackTrace(); } out.flush(); return fileName;//返回生成图片的文件名 } }
这个,和原来的柱状图 就两天区别:
1.dataset要改,改为从数据库中获取,我已经去掉了
2.就是drawToHtml(),这个方法的
ChartUtilities.writeImageMap(out, fileName, info, false);
out.flush();
这两句话要注释
因为我们现在只需要生成图片的地址就行了 不需要立马就放到页面上去
**************************************************
jsp
**************************************************
<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%> <html> <head> <title> JFreeChart使用例子</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="js/jquery-1.3.2.js"></script> <script type="text/javascript"> $(function(){ $("#p").hide(); $("#bn").click(ajax); }) function ajax(){ $.ajax({ type: "post", url: "test_1.do", data: {type:fn("t1"),city:fn("t2")}, dataType: "text", success: function(data){ //$("#p").attr("usermap","#"+data); $("#p").attr("src","servlet/DisplayChart?filename="+data); $("#p").show(); } }); } function fn(id){ var str = ""; var i = 0; $("#"+id+" :checkbox:checked").each(function(){ str += $(this).val(); i++; if(i!=$("#"+id+" :checkbox:checked").length){ str += "-"; } }); return str; } </script> </head> <body> <div id="t1"> 类型: 建筑<input type="checkbox" name="checkbox" id="checkbox1" value="jianzhu"/> 粮食<input type="checkbox" name="checkbox" id="checkbox2" value="liangshi"/><br /> </div> <div id="t2"> 地区: 唐家岭<input type="checkbox" name="checkbox" id="checkbox3" value="唐家岭"/> 东北旺<input type="checkbox" name="checkbox" id="checkbox4" value="东北旺"/> 上地<input type="checkbox" name="checkbox" id="checkbox5" value="上地"/><br /> </div> <input type="button" value="生成图片" id="bn" /><br /> <img id="p" width="500" height="300" border="0" > </body> </html>
对了 还有数据库
**************************************************
sql
**************************************************
create table jianzhu( name varchar2(20), value number(20) ) ; create table liangshi( name varchar2(20), value number(20) ) ; insert into jianzhu values('唐家岭',2000); insert into jianzhu values('东北旺',1500); insert into jianzhu values('上地',3200); insert into liangshi values('唐家岭',7500); insert into liangshi values('东北旺',4100); insert into liangshi values('上地',13000);
相关推荐
JFreeChart 饼状图 柱状图 柱状图 堆积柱状图 折线图 这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 ...
利用jfreechart绘制的横向立体柱状图,横坐标是数值,纵坐标是数据分类,需要提前引入jfreechart包文件到工程里,才不会报错
jfreechart 堆栈柱状图跟折线图结合拼接 jar包请戳http://download.csdn.net/detail/a156435646/7424707
JFreeChart生成3D饼状图及柱状图,可把图片生成在指定文件目录下
java+jfreechart+struts 生成柱状图 java jfreechart 柱状图 java jfreechart 柱状图 谁需要完整项目可以去http://download.csdn.net/source/2665347
源文件 博文链接:https://lansky07.iteye.com/blog/227571
JFreeChart创建柱状图,之前网上很多都是创建柱状图的,静态的。数据更新之后柱状图随之改变,代码实现详见附件代码。所需要的jar包是jfreechart-1.0.13.jar,gnujaxp.jar,jcommon-1.0.16.jar
项目中用到了一些图,要用JFreeChart生成,参考了一些资料,做了两天,分享一下!里面有柱状图,饼状图...
public JFreeChart createChart(String Ytitle, String title, CategoryDataset lineData, CategoryDataset barData) { //参考附件 return chart; } //struts 部分 <!--begin 维优特例 --> ...
jfreechart-1.5.2.jar,jfreechart|jfreechart
jfreechart折线图所需jar包
bar charts (regular and stacked, with an optional 3D effect):柱状图 line and area charts:曲线图 scatter plots and bubble charts time series, high/low/open/close charts and candle st
JFreeChart与Struts结合生成多维3D柱状图的实例 report.jsp -- JSP文件 ReportAction.java -- Action类 JFreeChartUtils.java -- 工具类
将jfreechart.war包放入tomcat里,启动tomcat 在浏览器里输入:http://localhost:8080/jfreechart/index.jsp看见的是柱状图,输入:http://localhost:8080/jfreechart/index2.jsp看见的是饼状图。 供大家学习
jfreechart 图形折线,饼图,柱状图等各种图形
jfreechart 与struts2的柱状图以及折线图例子,很给力呀,可以用大家请下载。
jfreechart(包jfreechart(包含jfreechart.jar和jcommon-1.0.13.jar) jfreechart(包含jfreechart.jar和jcommon-1.0.13.jar) jfreechart(包含jfreechart.jar和jcommon-1.0.13.jar) jfreechart(包含jfreechart.jar和...
jfreechart 曲线图 3d饼图 3d柱状图 代码,以及生成的图样,还有需要的包也一并上传,希望对大家有用处
今天在网上查了一下,没有发现 Jfreechart柱状图排序的实现方法,也还没来得及研究Jfreechart的代码和文档,所以就自己实现了一下。可能jfreechart自身有这个功能,可是发现以前的这个功能无效了,不知道用什么新...
jfreechart1.0.13.jar + jcommon1.0.16.jar jfreechart老版本所需jar包