- 浏览: 448583 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (168)
- Hibernate (17)
- MySQL (7)
- struts2 (14)
- Spring (12)
- Javascript (20)
- CSS (8)
- ajax/jquery (11)
- HttpClient (6)
- HTTP (1)
- java小知识 (23)
- Servlet/JSP (5)
- Oracle (0)
- Quartz (3)
- Lucene/Nutch (12)
- c# winform (2)
- J2ME (1)
- POI (5)
- php5 (2)
- DWR(Ajax) (1)
- log4j (1)
- dom4j (3)
- 獲取郵件聯系人 (2)
- 随意 (5)
- Heritrix (1)
- ireport+jasper (1)
- 算法 (2)
- java虚拟机 (1)
- maven (2)
最新评论
-
janrick:
太感谢了,我正需要加密的函数呢
java中DES加密解密例子 -
xuganggogo:
suyang119 写道请教一下,补充的三级的可以用吗?当然可 ...
关于条件查询detachedCriteria的注意的地方 -
suyang119:
请教一下,补充的三级的可以用吗?
关于条件查询detachedCriteria的注意的地方 -
xuganggogo:
大江帅 写道var name="attriName& ...
有关在JavaScript中使用EL表达式的问题 -
大江帅:
var name="attriName"; ...
有关在JavaScript中使用EL表达式的问题
1,柱状图
package xu.chart.demo; import java.awt.Font; import java.io.FileOutputStream; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.AxisLocation; import org.jfree.chart.axis.CategoryAxis; import org.jfree.chart.axis.ValueAxis; import org.jfree.chart.labels.ItemLabelAnchor; import org.jfree.chart.labels.ItemLabelPosition; import org.jfree.chart.labels.StandardCategoryItemLabelGenerator; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.renderer.category.BarRenderer3D; import org.jfree.chart.title.TextTitle; import org.jfree.data.category.CategoryDataset; import org.jfree.data.general.DatasetUtilities; import org.jfree.ui.TextAnchor; public class BarSimple1 { public static void main( String[] args ){ // double[][] data = new double[][] {{1310}, {720}, {1130}, {440}}; // String[] rowKeys = {"猪肉", "牛肉","鸡肉", "鱼肉"}; // String[] columnKeys = {""}; double[][] data = new double[][] {{1310, 1220, 1110, 1000}, {720, 700, 680, 640}, {1130, 1020, 980, 800}, {440, 400, 360, 300}}; String[] rowKeys = {"猪肉", "牛肉","鸡肉", "鱼肉"}; String[] columnKeys = {"广州", "深圳", "东莞", "佛山"}; CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data); JFreeChart chart = ChartFactory.createBarChart3D("广州肉类销量统计图", "肉类", "销量", dataset, PlotOrientation.VERTICAL, true, false, false ); /*---------------------------设置字体:防口字乱码----------------------------------*/ //设置字体:线条或者柱状的说明....................栏 Font font1 = new Font("SimSun",10,20); // chart.getLegend().setItemFont(font1); //设置字体:标题 TextTitle title = new TextTitle("广州肉类销量统计图"); title.setFont(font1); chart.setTitle(title); CategoryPlot plot = chart.getCategoryPlot();//获得图表区域对象 CategoryAxis domainAxis = plot.getDomainAxis(); domainAxis.setVisible(true); plot.setDomainAxis(domainAxis); ValueAxis rAxis = plot.getRangeAxis(); /*------设置X轴坐标上的文字-----------*/ domainAxis.setTickLabelFont(new Font("宋体",Font.PLAIN,15)); /*------设置X轴的标题文字------------*/ domainAxis.setLabelFont(new Font("宋体",Font.PLAIN,15)); /*------设置Y轴坐标上的文字-----------*/ rAxis.setTickLabelFont(new Font("宋体",Font.PLAIN,15)); /*------设置Y轴的标题文字------------*/ rAxis.setLabelFont(new Font("黑体",Font.PLAIN,15)); /*---------------------------设置字体:防口字乱码----------------------------------*/ //显示每个柱的数值,并修改该数值的字体属性 BarRenderer3D renderer = new BarRenderer3D(); renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); renderer.setBaseItemLabelsVisible(true); renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT)); renderer.setItemLabelAnchorOffset(10D); //将显示的数值位置抬高一点 //设置每个地区所包含的平行柱的之间距离 renderer.setItemMargin(0.3); //设置地区、销量的显示位置 //将下方的“肉类”放到上方 plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT); //将默认放在左边的“销量”放到右方 plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT); plot.setRenderer(renderer); FileOutputStream fos_jpg = null; try { fos_jpg=new FileOutputStream("D:\\simple1.jpg"); ChartUtilities.writeChartAsJPEG(fos_jpg,1,chart,640,480,null); fos_jpg.close(); } catch (Exception e) { e.printStackTrace(); } } }
2,饼状图
package xu.chart.demo; import java.awt.Font; import java.io.FileOutputStream; import java.text.DecimalFormat; import java.text.NumberFormat; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.labels.StandardPieSectionLabelGenerator; import org.jfree.chart.plot.PiePlot; import org.jfree.chart.title.TextTitle; import org.jfree.data.general.DefaultPieDataset; import org.jfree.util.Rotation; public class PieSimple1 { public static void main( String[] args ){ 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.setNoDataMessage("无数据显示"); pieplot.setCircular(false); /*------------------------透明处理---------------------------*/ //设置开始角度 pieplot.setStartAngle(150D); // //设置方向为”顺时针方向“ pieplot.setDirection(Rotation.CLOCKWISE); pieplot.setLabelGap(0.02D); //设置透明度,0.5F为半透明,1为不透明,0为全透明 pieplot.setForegroundAlpha(0.5F); /*------------------------透明处理-----------------------*/ //显示:饼图的数值 //其中new StandardPieSectionLabelGenerator( //("{0}: ({1},{2})"), NumberFormat.getNumberInstance(), //new DecimalFormat("0.00%")) // 的("{0}: ({1},{2})")是生成的格式,{0}表示section名,{1}表示section的值,{2}表示百分比。可以自定义。而new DecimalFormat("0.00%")表示小数点后保留两位。 pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator( ("{0}: ({2})"), NumberFormat.getNumberInstance(), new DecimalFormat("0.00%"))); /*---------------------------设置字体:防口字乱码----------------------------------*/ //设置字体:图形中的字体 pieplot.setLabelFont(new Font("宋体", 0, 12)); //设置字体:最底下一栏 Font font1 = new Font("宋体", 0, 12); chart.getLegend().setItemFont(font1); //设置字体:标题 TextTitle title = new TextTitle("IT行业职业分布图"); title.setFont(font1); chart.setTitle(title); /*---------------------------设置字体:防口字乱码----------------------------------*/ FileOutputStream fos_jpg = null; try { fos_jpg=new FileOutputStream("D:\\PIEsimple1.jpg"); ChartUtilities.writeChartAsJPEG(fos_jpg,1,chart,500,300,null); fos_jpg.close(); } catch (Exception e) { e.printStackTrace(); } } }
3,时序图
//设置X轴时间显示方式
dateaxis.setTickUnit(new DateTickUnit(DateTickUnitType.MONTH, 1, new SimpleDateFormat("MM-yyyy")));
package xu.chart.demo; import java.awt.Color; import java.awt.Font; import java.io.FileOutputStream; 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.ValueAxis; import org.jfree.chart.labels.ItemLabelAnchor; import org.jfree.chart.labels.ItemLabelPosition; import org.jfree.chart.labels.StandardXYItemLabelGenerator; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.XYPlot; import org.jfree.chart.renderer.xy.XYItemRenderer; import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer; import org.jfree.chart.title.TextTitle; import org.jfree.data.time.Day; import org.jfree.data.time.Month; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.jfree.ui.RectangleInsets; import org.jfree.ui.TextAnchor; public class LineSimple { public static void main( String[] args ){ //访问量统计时间线 TimeSeries timeSeries = new TimeSeries("阿蜜果blog访问量统计", Day.class); TimeSeries timeSeries2006 = new TimeSeries("2006年度", Month.class); TimeSeries timeSeries2007 = new TimeSeries("2007年度", Month.class); //时间曲线数据集合 TimeSeriesCollection lineDataset = new TimeSeriesCollection(); //构造数据集合 timeSeries.add(new Month(1, 2007), 11200); timeSeries.add(new Month(2, 2007), 9000); timeSeries.add(new Month(3, 2007), 6200); timeSeries.add(new Month(4, 2007), 8200); timeSeries.add(new Month(5, 2007), 8200); timeSeries.add(new Month(6, 2007), 12200); timeSeries.add(new Month(7, 2007), 13200); timeSeries.add(new Month(8, 2007), 8300); timeSeries.add(new Month(9, 2007), 12400); timeSeries.add(new Month(10, 2007), 12500); timeSeries.add(new Month(11, 2007), 13600); timeSeries.add(new Month(12, 2007), 12500); //构造数据集合 timeSeries2006.add(new Month(1, 2007), 7200); timeSeries2006.add(new Month(2, 2007), 7000); timeSeries2006.add(new Month(3, 2007), 4200); timeSeries2006.add(new Month(4, 2007), 8200); timeSeries2006.add(new Month(5, 2007), 7300); timeSeries2006.add(new Month(6, 2007), 8200); timeSeries2006.add(new Month(7, 2007), 9200); timeSeries2006.add(new Month(8, 2007), 7300); timeSeries2006.add(new Month(9, 2007), 9400); timeSeries2006.add(new Month(10, 2007), 7500); timeSeries2006.add(new Month(11, 2007), 6600); timeSeries2006.add(new Month(12, 2007), 3500); timeSeries2007.add(new Month(1, 2007), 10200); timeSeries2007.add(new Month(2, 2007), 9000); timeSeries2007.add(new Month(3, 2007), 6200); timeSeries2007.add(new Month(4, 2007), 8200); timeSeries2007.add(new Month(5, 2007), 8200); timeSeries2007.add(new Month(6, 2007), 11200); timeSeries2007.add(new Month(7, 2007), 13200); timeSeries2007.add(new Month(8, 2007), 8300); timeSeries2007.add(new Month(9, 2007), 10400); timeSeries2007.add(new Month(10, 2007), 12500); timeSeries2007.add(new Month(11, 2007), 10600); timeSeries2007.add(new Month(12, 2007), 10500); lineDataset.addSeries(timeSeries); lineDataset.addSeries(timeSeries2006); lineDataset.addSeries(timeSeries2007); JFreeChart chart = ChartFactory.createTimeSeriesChart("访问量统计时间线", "月份", "访问量", lineDataset, true, true, true); XYPlot plot = (XYPlot) chart.getPlot(); XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer)plot.getRenderer(); //设置网格背景颜色 plot.setBackgroundPaint(Color.white); //设置网格竖线颜色 plot.setDomainGridlinePaint(Color.pink); //设置网格横线颜色 plot.setRangeGridlinePaint(Color.pink); //设置曲线图与xy轴的距离 plot.setAxisOffset(new RectangleInsets(0D, 0D, 0D, 10D)); //设置曲线是否显示数据点 xylineandshaperenderer.setBaseShapesVisible(true); //设置曲线显示各数据点的值 XYItemRenderer xyitem = plot.getRenderer(); xyitem.setBaseItemLabelsVisible(true); xyitem.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT)); xyitem.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator()); xyitem.setBaseItemLabelFont(new Font("Dialog", 1, 14)); plot.setRenderer(xyitem); /*---------------------------设置字体:防口字乱码----------------------------------*/ ValueAxis domainAxis = plot.getDomainAxis(); domainAxis.setVisible(true); plot.setDomainAxis(domainAxis); ValueAxis rAxis = plot.getRangeAxis(); /*------设置X轴坐标上的文字-----------*/ domainAxis.setTickLabelFont(new Font("宋体",Font.PLAIN,15)); /*------设置X轴的标题文字------------*/ domainAxis.setLabelFont(new Font("宋体",Font.PLAIN,15)); /*------设置Y轴坐标上的文字-----------*/ rAxis.setTickLabelFont(new Font("宋体",Font.PLAIN,15)); /*------设置Y轴的标题文字------------*/ rAxis.setLabelFont(new Font("黑体",Font.PLAIN,15)); //设置字体:线条或者柱状的说明.................... Font font1 = new Font("宋体",Font.PLAIN,15); chart.getLegend().setItemFont(font1); //设置子标题 TextTitle subtitle = new TextTitle("2006/2007年度访问量对比", new Font("黑体", Font.BOLD, 12)); chart.addSubtitle(subtitle); //设置主标题 chart.setTitle(new TextTitle("阿蜜果blog访问量统计", new Font("隶书", Font.ITALIC, 15))); chart.setAntiAlias(true); /*---------------------------设置字体:防口字乱码----------------------------------*/ FileOutputStream fos_jpg = null; try { fos_jpg=new FileOutputStream("D:\\Linesimple1.jpg"); ChartUtilities.writeChartAsJPEG(fos_jpg,1,chart,640,480,null); fos_jpg.close(); } catch (Exception e) { e.printStackTrace(); } } }
- jfreechart-1.0.6部分总结.rar (172.2 KB)
- 下载次数: 241
评论
2 楼
hnzhangshi
2010-03-24
非常完整,学习了!
1 楼
xuganggogo
2009-08-10
JFreeChart chart = ChartFactory.createBarChart3D( "水果产量图", // 图表标题 "水果", // 目录轴的显示标签 "产量", // 数值轴的显示标签 dataset, // 数据集 PlotOrientation.VERTICAL, // 图表方向:水平、垂直 true, // 是否显示图例(对于简单的柱状图必须是false) false, // 是否生成工具 false // 是否生成URL链接 );
发表评论
-
正则替换标点符号的方法。解决方式还不错
2011-01-28 11:08 3297地址:http://topic.csdn.net/u/2008 ... -
hadoop环境搭建问题记录
2010-10-12 17:11 12651,错误 org.apache.hadoop.hdfs.se ... -
Java 正则表达式
2010-07-16 11:52 13451. 正则表达式规则 1.1 普通字符 字母、数字 ... -
字符串转换为Date
2010-04-24 11:04 1745查看了下SimpleDateFomart这个类。 用字符串转 ... -
正则表达式替换掉字符串中的重复字符
2009-12-11 17:51 2350str = str.replaceAll("( ... -
JFreeChart 部分API说明
2009-08-15 11:55 962http://amozon.iteye.com/blog/ ... -
反编译工具
2009-08-14 14:46 1213jad及常用命令 一、基本用法 Usage:jad ... -
java生成缩略图
2009-07-17 11:02 2356转自:http://wing929.iteye.com/blo ... -
jstl 时间处理
2009-06-24 14:06 1605jstl 中的日期格式化! [转贴 2005-10-25 1 ... -
Java Properties类
2009-05-31 14:26 2114全文转自:http://twtmnm1314.iteye.co ... -
java 的pass by value(传值)
2009-05-13 15:21 1174这里写一下java的值传递 参数是基本类型的时候: cla ... -
快速修改本機局域網IP信息
2009-05-09 13:07 2065在開發過程中,遇到需要頻繁的切換IP的問題。每次手動修改IP需 ... -
double:保留几位小数点
2009-03-06 10:03 2302java.text.DecimalFormat myforma ... -
增加环境内存--java
2009-02-13 14:50 1032在eclipse中,在虚拟机环境变量VM arguments中 ... -
javaIO流读繁体中文网页的乱码问题
2009-02-01 17:09 1633IDE:eclipse IDE的编码是UTF-8(开发需要) ... -
学习java.lang.ProcessBuilder类
2009-02-01 17:08 5515近来的工作中,了 ... -
java中DES加密解密例子
2009-02-01 17:07 4220最近在学习一些关于加 ... -
Servlets/JSP开发技术问答
2009-02-01 17:06 955学习J2EE,需要学习很多 ... -
jdk1.5新特性 ConcurrentHashMap
2009-02-01 17:06 7192曾经研究过jkd1.5新特性,其中ConcurrentHash ... -
JAVA实现在图片上写文字
2009-02-01 17:05 4901功能:直接在一张已有的图片上写字,可指定文字颜色。 ...
相关推荐
JFreeChart 是一个流行的 Java 库,用于创建各种类型的图表,包括饼图、折线图、柱状图等。在使用 JFreeChart 进行数据可视化时,可能会遇到乱码的问题,这通常与字体设置不当有关。本文将详细分析 Jfreechart 乱码...
标题 "jfreechart" 指的是 JFreeChart,这是一个流行的开源 Java 图形库,用于创建高质量的图表。它在各种应用中广泛使用,包括报表、仪表盘、科学出版物等,提供了丰富的图表类型,如饼图、柱状图、线图、散点图和...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的2D图表,包括折线图、柱状图、饼图、散点图等。在Java应用程序中,JFreeChart经常被用于数据分析和可视化,尤其在报表系统、数据分析工具或者任何需要...
JFreeChart 是一个开源的 Java 图表库,它允许开发者创建各种复杂的图表,如柱状图、饼图、散点图、线形图等。在本文中,我们将深入探讨 JFreeChart 的核心类和它们在创建图表过程中的作用。 1. **JFreeChart 类**...
JFreeChart是一款强大的Java库,用于创建各种类型的图表,包括柱状图、饼图、线图、散点图等。在“JFreeChart混合图表演示”中,我们重点探讨如何利用JFreeChart来创建一个包含多种图表类型的混合图表,以提供更丰富...
jfreechart绘制的风速风向玫瑰图 jfreechart是Java中一个流行的图表库,它提供了许多种类的图表,包括柱状图、折线图、饼图、雷达图等。本文主要介绍如何使用jfreechart绘制风速风向玫瑰图。 首先,了解jfreechart...
**JFreeChart 使用详解** JFreeChart 是一个用于 Java 的开源图表库,它提供了一种简单的方法来创建各种复杂的图表,如折线图、柱状图、饼图、散点图以及更专业的图表类型,如甘特图和雷达图。在Java应用中,如果你...
JFreeChart是一款功能强大的Java图表库,它能够生成多种图表,如柱状图、折线图、饼图、时间序列图等,常用于Java应用程序中。而Eclipse是一个开源的集成开发环境,广泛用于Java语言的开发。在Eclipse中配置...
### jfreeChart 实际开发运用手册知识点概览 #### 一、引言 **1.1 JFreeChart 是什么?** ##### 1.1.1 概述 JFreeChart 是一个免费的图表库,专为 Java 平台设计。它能够应用于各种 Java 应用程序、Applet、...
**JFreeChart 概述** JFreeChart 是一个开源的 Java 图形库,它为 Java 应用程序提供了丰富的图表功能。这个库被广泛用于创建数据可视化,包括但不限于报表、仪表盘、幻灯片和 Web 应用。JFreeChart 支持多种图表...
《JFreeChart:Java 图形绘制的利器》 在Java编程世界中,高效且美观的图形展示是数据可视化的重要组成部分。JFreeChart作为一款强大的开源图表库,为开发者提供了丰富的图表类型和高度自定义的能力,使得Java应用...
**JFreeChart库详解** JFreeChart是一款强大的Java图表库,它允许开发者在Java应用程序或网页中创建多种类型的图表,包括雷达图(也称为蜘蛛网图)。本篇将深入探讨如何利用JFreeChart生成雷达图以及相关的数据导出...
"JFreeChart 官方例子 JFreeChart Dome" 提供了一系列官方示例,帮助开发者更好地理解和运用JFreeChart库的各种功能。 "ChangeLog" 文件通常记录了软件的更新历史,其中包括了每次版本升级中添加的新特性、修复的...
在Java编程环境中,JFreeChart是一个非常流行的库,用于创建各种复杂的图表,包括线图、柱状图、饼图以及我们的焦点——雷达图。本文将深入探讨如何利用JFreeChart库来实现一个雷达图实例,这有助于数据可视化,特别...
JFreeChart 是一个强大的 Java 图形库,它为开发者提供了丰富的图表类型,包括柱状图、折线图、饼状图等,用于在 Java 应用程序中进行数据可视化。在 Java 后台开发中,数据的图形化表示能够帮助用户更直观地理解...
**JFreeChart与Cewolf:构建可视化报表的关键组件** 在Java开发中,生成美观且具有交互性的图表对于数据可视化和报表制作至关重要。JFreeChart和Cewolf是两个强大的开源库,它们共同为开发者提供了丰富的图形生成和...
### JFreeChart用户开发指南1.0.6(中文)知识点总结 #### 一、引言 **JFreeChart**是一款强大的Java图表绘制库,它为开发者提供了丰富的API来创建各种类型的图表,如饼图、柱状图、折线图等。本指南详细介绍了...
JFreeChart是一款强大的Java图表库,它为开发者提供了创建各种静态和动态图表的功能。这个压缩包包含JFreeChart所需的所有核心组件,以及相关的依赖库,如jcommon.jar,确保你可以全面地利用JFreeChart的强大功能。 ...