标签 : 5个相关结果 41次浏览

这篇博文只是对网上关于jfreechart中文乱码解决方法的一个汇总整理。  我也是最近要使用到jfreechart这个图表工具,也是碰到了中文乱码这个问题,后来通过搜索(jfreechart图片乱码等关键词)解决了 这个乱码,但发现一个问题就是有的文章只是解决了图表中乱码的某一个方面,比如图表标题,而有的文章不是解决图表标题乱码,却能够解决图表X、Y轴上文字 和标题乱码以及底部中文乱码,有鉴于此,于是我就将这些解决方法都汇总在了一起,希望对碰到jfreechart中文乱码的朋友有帮助。 下图是一个柱形图表,非常典型的中文乱码(其他形式图表就不说明了,因为柱形非常有代表性): 以上图表对应的jsp文件代码为: <%@ page contentType=”text/html;charset=UTF-8″%> <%@ page import=”org.jfree.chart.ChartFactory, org.jfree.chart.JFreeChart, org.jfree.chart.plot.PlotOrientation, org.jfree.chart.servlet.ServletUtilities, org.jfree.data.category.CategoryDataset, org.jfree.data.general.DatasetUtilities, org.jfree.chart.plot.*, org.jfree.chart.labels.*, org.jfree.chart.renderer.category.BarRenderer3D, java.awt.*, org.jfree.ui.*, org.jfree.chart.axis.AxisLocation,org.jfree.chart.title.TextTitle,org.jfree.chart.axis.CategoryAxis,org.jfree.chart.axis.NumberAxis”%> <% double[][] data = new double[][] {{1310, 1220, 1110, 1000},{720, 700, 680, 640},{1130, 1020, 980, 800},{440, 400, 360, 300}}; String[] rowKeys = {“猪肉”, “niurou”,”鸡肉”, “鱼肉”}; String[] columnKeys = {“广州”, “shenzhen”, “东莞”, “佛山”}; CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data); JFreeChart chart = ChartFactory.createBarChart3D(“”,”肉类”,”销量”,dataset,PlotOrientation.VERTICAL,true,true,false); CategoryPlot plot = chart.getCategoryPlot(); //设置网格背景颜色 plot.setBackgroundPaint(Color.white); //设置网格竖线颜色 plot.setDomainGridlinePaint(Color.pink); //设置网格横线颜色 plot.setRangeGridlinePaint(Color.pink); //显示每个柱的数值,并修改该数值的字体属性 BarRenderer3D renderer = new BarRenderer3D(); renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); renderer.setBaseItemLabelsVisible(true); //默认的数字显示在柱子中,通过如下两句可调整数字的显示 //注意:此句很关键,若无此句,那数字的显示会被覆盖,给人数字没有显示出来的问题 renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT)); renderer.setItemLabelAnchorOffset(10D); renderer.setItemLabelFont(new Font(“宋体”, Font.PLAIN, 12)); renderer.setItemLabelsVisible(true); //设置每个地区所包含的平行柱的之间距离 //renderer.setItemMargin(0.3); plot.setRenderer(renderer); //设置地区、销量的显示位置 //将下方的“肉类”放到上方 plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT); //将默认放在左边的“销量”放到右方 plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT); String filename = ServletUtilities.saveChartAsPNG(chart, 700, 400, null, session); String graphURL = request.getContextPath() + “/DisplayChart?filename=” + filename; %> …

项目中的jfreechart终于可以使用了 项目环境:struts2+spring+ibatis+Maven 首先下载jfreechart,可参考JFreeChart的介绍 我使用maven的,所以在pom.xml中添加如下依赖 <dependency> <groupId>jfree</groupId> <artifactId>jfreechart</artifactId> <version>1.0.13</version> </dependency> <dependency> <groupId>jfree</groupId> <artifactId>jcommon</artifactId> <version>1.0.16</version> </dependency> 写一个小实例进行测试: public String createReport() throws IOException{ //设置数据集 DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue(“初中高级程序员”, 0.55); dataset.setValue(“项目经理”, 0.1); dataset.setValue(“系统分析师”, 0.1); dataset.setValue(“软件架构师”, 0.1); dataset.setValue(“其他”, 0.2); //通过工厂类生成JFreeChart对象 JFreeChart chart = ChartFactory.createPieChart3D(“IT行业职业分布图”, dataset, true, false, false); PiePlot pieplot = (PiePlot) chart.getPlot(); pieplot.setLabelFont(new Font(“宋体”, 0, 12)); //pieplot.setExplodePercent(); //标题字体 Font font = new Font(“SimSun”, 10, 20); TextTitle textTitle = chart.getTitle(); textTitle.setFont(font); textTitle.setPaint(Color.BLUE); //联想细节 LegendTitle legend = chart.getLegend(); legend.setItemFont(new Font(“宋体”, Font.PLAIN, 15)); legend.setItemPaint(Color.BLUE); //没有数据的时候显示的内容 pieplot.setNoDataMessage(“无数据显示”); pieplot.setCircular(false); pieplot.setLabelGap(0.02D); String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, getSession()); FileOutputStream fos_jpg = null; try { fos_jpg = new FileOutputStream(“D:\\fruit.jpg”); ChartUtilities.writeChartAsJPEG(fos_jpg,1.0f,chart,400,300,null); } finally { try { fos_jpg.close(); } catch (Exception e) {} } return “success”; } 如下图:

产品销售分析系统 产品销售分析系统示例源码的目录结构介绍 /product: 案例项目工程源码。 /database: 案例数据库文件。 产品销售分析系统的安装配置介绍 运行环境: 1 Java平台选择JDK 6.0或更高版本。 2 Web服务器选择Tomcat 5.0或更高版本。 3 数据库服务器选择MySQL 5.0.18或更高版本。 数据库配置步骤: 1 安装MySQL服务器和MySQL Front客户端。 2 还原表结构和表的示例数据 运行product.sql文件还原数据库表结构 Web应用程序配置步骤: 安装MyEclipse开发工具,将product工程导入 1 修改配置文件 1.1 修改Spring配置文件 1.1.1 查找并打开prodcut/WebRoot/WEB-INF/spring-context/applicationContext.xml文件。数据库配置引入 的是init.properties,读者也可自行更改。 1.1.2 数据库配置 修改工程中admanager/src/init.properties文件: datasource.url=jdbc:mysql://127.0.0.1:3306/product?useUnicode=true&characterEncoding=UTF-8 datasource.username=root datasource.password=111111 注:根据读者实际情况更改IP地址、数据库用户名和密码。 2 发布运行 Tomcat服务器默认安装后使用8080端口,打开浏览器输入以下URL地址访问广告业务管理系统。 http://localhost:8080/prodcut/index.jsp 注意:如果改变Tomcat服务器端口,访问地址也要相应变更。 管理员用户名: admin 管理员密码: 111111 下载:http://download.csdn.net/source/2781972

一、简介
JFreeChart(http://www.jfree.org/) 是一个开源的 JAVA 项目,它主要用来开发各种各样的图表,这些图表包括:饼图、柱状图 ( 普通柱状图以及堆栈柱状图 ) 、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。在这些不同式样的图表上可以满足目前商业系统的要求。 JFreeChart 是一种基于 JAVA 语言的图表开发技术。 JFreeChart 可用于 Servlet 、 JSP 、 Applet 、 Java Appication 环境中,通过 JDBC 可动态显示任何数据库数据,结合 Itext 可以输出至 PDF 文件。