jfreechart

上传人:第*** 文档编号:53287582 上传时间:2018-08-29 格式:PPT 页数:23 大小:925.50KB
返回 下载 相关 举报
jfreechart_第1页
第1页 / 共23页
jfreechart_第2页
第2页 / 共23页
jfreechart_第3页
第3页 / 共23页
jfreechart_第4页
第4页 / 共23页
jfreechart_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《jfreechart》由会员分享,可在线阅读,更多相关《jfreechart(23页珍藏版)》请在金锄头文库上搜索。

1、JfreeChart,JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。JFreeChart截止目前为止的相当不错的java图形解决方案,基本能够解决目前的图形方面的需求。常用的是饼图,柱

2、形图,折线图。,Whats JfreeChart?,条形图、柱状图、折线图和饼图是图表中四种最常用的基本类型。按照Microsoft Excel对图表类型的分类,图表类型还包括散点图、面积图、圆环图、雷达图,气泡图,股价图等。此外,可以通图表间的相互叠加来形成复合图表类型。,图表的分类,下载官方地址:http:/www.jfree.org/解压缩后,将lib文件夹下的jfreechart-1.0.14.jar、jcommon-1.0.17.jar导入到应用中,就可以进行相关的开发。,下载和配置,new folder(lib),将jar包复制到lib,build path,configure b

3、uild path,add jars,生成下面一个图表,public class JfreeChart public static void main(String args) try / 构造数据DefaultCategoryDataset dataset = new DefaultCategoryDataset();dataset.addValue(100, “JAVA“, “1“);dataset.addValue(200, “js“, “1“);dataset.addValue(200, “C+“, “2“);dataset.addValue(300, “C“, “3“);datase

4、t.addValue(400, “HTML“, “4“);dataset.addValue(400, “CSS“, “5“);dataset.addValue(256, “易语言“, “6“);,JfreeChart,/ 设置图表的样式JFreeChart chart = ChartFactory.createBarChart3D(“编程语言统计“, “语言“,“学习人数“, dataset, PlotOrientation.VERTICAL, true, false,false);/* public static JFreeChart createBarChart3D( * String t

5、itle, 设置图表的标题* String categoryAxisLabel, 设置分类轴的标示* String valueAxisLabel,设置值轴的标示* CategoryDataset dataset, 设置数据* PlotOrientation orientation, 设置图表的方向* boolean legend, 设置是否显示图例* boolean tooltips,设置是否生成热点工具* boolean urls) 设置是否显示url*/,JfreeChart,/ 保存图表ChartUtilities.saveChartAsPNG(new File(“d:/JfreeCha

6、rt.png“), chart,800, 500);/*ChartUtilities.saveChartAsPNG* (File file 输出文件对象, chart chart对象,* 800 输出图片宽度, 500 输出图片高度);*/System.out.println(“绘图完成“); catch (IOException e) e.printStackTrace(); ,JfreeChart,运行一下。,有4个地方出现乱码,标题,分类轴的标示,值轴的标示,底部,JFreeChart默认字体对中文的支持不完善,可以为图表自定义字体,/在保存图表前加上一段来设置字体:CategoryPl

7、ot plot = chart.getCategoryPlot();/ 获得图表区域对象CategoryAxis domainAxis = plot.getDomainAxis();/ 获取分类轴对象NumberAxis numberaxis = (NumberAxis) plot.getRangeAxis();/ 获得值轴对象TextTitle textTitle = chart.getTitle();/ 获得标题Font font = new Font(“黑体“, Font.PLAIN, 20);/ 定义字体textTitle.setFont(font); / 标题domainAxis.s

8、etLabelFont(font);/ 分类轴numberaxis.setLabelFont(font);/ 值轴chart.getLegend().setItemFont(font);/ 底部,再运行一下,OK,图表还有很多属性可以设置,public class JfreeChart2 public static void main(String args) throws IOException CategoryDataset dataset = setData();/获取数据JFreeChart chart = ChartFactory.createBarChart3D(“招生信息总览“,

9、 / 图表标题“应报与实报对照“, / 目录轴的显示标签“人数“, / 数值轴的显示标签dataset, / 数据集PlotOrientation.VERTICAL, / 图表方向true, / 是否显示图例(对于简单的柱状图必须是false)true, / 是否生成工具true / 是否生成URL链接);setPropertyValue(chart);/设置属性toFile(chart);/生成为文件 ,private static CategoryDataset setData() DefaultCategoryDataset dataset = new DefaultCategoryDa

10、taset();dataset.addValue(200, “计划“, “清华大学“);dataset.addValue(400, “实报“, “清华大学“);dataset.addValue(100, “计划“, “天津大学“);dataset.addValue(205, “实报“, “天津大学“);dataset.addValue(200, “计划“, “郑州大学“);dataset.addValue(285, “实报“, “郑州大学“);return dataset; ,设置数据,private static void setPropertyValue(JFreeChart chart)

11、 CategoryPlot plot = chart.getCategoryPlot();/ 获得图表区域对象CategoryAxis domainAxis = plot.getDomainAxis();NumberAxis numberaxis = (NumberAxis) plot.getRangeAxis();Font font = new Font(“宋体“, Font.PLAIN, 12); TextTitle textTitle = chart.getTitle(); /设置字体textTitle.setFont(font); domainAxis.setLabelFont(fon

12、t);domainAxis.setTickLabelFont(font);numberaxis.setLabelFont(font);chart.getLegend().setItemFont(font);,设置字体,domainAxis.setLowerMargin(0.2);/ 设置距离图片左端距离此时为20%domainAxis.setUpperMargin(0.2);/ 设置距离图片右端距离此时为百分之20domainAxis.setCategoryLabelPositionOffset(10);/ 图表横轴与标签的距离(10像素)domainAxis.setCategoryMargi

13、n(0.2);/ 横轴标签之间的距离20%/显示柱子上的数值renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator(); renderer.setItemLabelsVisible(true);,设置图片属性,/ 设定柱子的属性org.jfree.chart.axis.ValueAxis rangeAxis = plot.getRangeAxis();rangeAxis.setUpperMargin(0.1);/ 设置最高的一个柱与图片顶端的距离(最高柱的10%) org.jfree.chart.rendere

14、r.category.BarRenderer3D renderer;renderer = new org.jfree.chart.renderer.category.BarRenderer3D(); renderer.setSeriesPaint(0, new Color(0, 255, 255);/ 计划柱子的颜色为青色renderer.setSeriesPaint(1, new Color(0, 255, 0);/ 实报柱子的颜色为绿色renderer.setItemMargin(0.1);/ 组内柱子间隔为组宽的10%,设置柱子属性,plot.setRenderer(renderer);

15、/ 使用我们设计的效果/ 设置纵横坐标的显示位置 plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);/ 学校显示在上端(柱子竖直)或右侧(柱子水平) plot.setRangeAxisLocation(AxisLocation.TOP_OR_RIGHT); / 人数显示在上端(柱子水平)或右侧(柱子竖直),private static void toFile(JFreeChart chart) try File file = new File(“d:/JfreeChart.png“);ChartUtilities.saveChartAs

16、PNG(file, chart, 400, 300);/ 把报表保存为文件System.out.println(“绘图完成“); catch (IOException e) e.printStackTrace();,运行。,3种常用图表,org.jfree.chart.JFreeChart:图表对象,任何类型的图表的最终表现形式都是在该对象进行一些属性的定制。JFreeChart引擎本身提供了一个工厂类用于创建不同类型的图表对象 org.jfree.data.category.XXXDataSet:数据集对象,用于提供显示图表所用的数据。根据不同类型的图表对应着很多类型的数据集对象类 org.jfree.chart.plot.XXXPlot:图表区域对象,基本上这个对象决定着什么样式的图表,创建该对象的时候需要Axis、Renderer以及数据集对象的支持 org.jfree.chart.axis.XXXAxis:用于处理图表的两个轴:纵轴和横轴 org.jfree.chart.render.XXXRender:负责如何显示一个图表对象 org.jfree.chart.urls.XXXURLGenerator:用于生成Web图表中每个项目的鼠标点击链接,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号