JfreeChart.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JfreeChart
- 资源描述:
-
*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,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图形解决方案,基本能够解决目前的图形方面的需求。,常用的是饼图,柱形图,折线图。,Whats JfreeChart?,条形图、柱状图、折线图和饼图是图表中四种最常用的基本类型。按照Microsoft Excel对图表类型的分类,图表类型还包括散点图、面积图、圆环图、雷达图,气泡图,股价图等。此外,可以通图表间的相互叠加来形成复合图表类型。,图表的分类,下载官方地址:www.jfree.org/,解压缩后,将,lib文件夹下的,jfreechart-1.0.1,4,.jar、jcommon-1.0.1,7,.jar导入到应用中,就可以进行相关的开发。,下载和配置,new folder(,lib),将jar包复制到lib,build path,configure build 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);,dataset.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 title,设置图表的标题,*String categoryAxisLabel,设置分类轴的标示,*String valueAxisLabel,设置值轴的标示,*CategoryDataset dataset,设置数据,*PlotOrientation orientation,设置图表的方向,*boolean legend,设置是否显示图例,*boolean tooltips,设置是否生成热点工具,*boolean urls)设置是否显示url,*/,JfreeChart,/保存图表,ChartUtilities.saveChartAsPNG(new File(d:/JfreeChart.png),chart,800,500);,/*,ChartUtilities.saveChartAsPNG,*,(,File file 输出文件对象,chart,chart对象,*,800,输出图片宽度,500,输出图片高度,);,*/,System.out.println(绘图完成);,catch(IOException e),e.printStackTrace();,JfreeChart,运行一下。,有4个地方出现乱码,标题,分类轴的标示,值轴的标示,底部,JFreeChart默认字体对中文的支持不完善,可以为图表自定义字体,/在保存图表前加上一段来设置字体:,CategoryPlot 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.setLabelFont(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(招生信息总览,/图表标题,应报与实报对照,/目录轴的显示标签,人数,/数值轴的显示标签,dataset,/数据集,PlotOrientation.VERTICAL,/图表方向,true,/是否显示图例(对于简单的柱状图必须是false),true,/是否生成工具,true/是否生成URL链接,);,setPropertyValue(chart);/设置属性,toFile(chart);/生成为文件,private static CategoryDataset setData(),DefaultCategoryDataset dataset=new DefaultCategoryDataset();,dataset.addValue(200,计划,清华大学);,dataset.addValue(400,实报,清华大学);,dataset.addValue(100,计划,天津大学);,dataset.addValue(205,实报,天津大学);,dataset.addValue(200,计划,郑州大学);,dataset.addValue(285,实报,郑州大学);,return dataset;,清华大学,天津大学,郑州大学,计划招生,200,100,200,实报人数,400,205,285,设置数据,private static void setPropertyValue(JFreeChart chart),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(font);,domainAxis.setTickLabelFont(font);,numberaxis.setLabelFont(font);,chart.getLegend().setItemFont(font);,设置字体,domainAxis.setLowerMargin(0.2);/设置距离图片左端距离此时为20%,domainAxis.setUpperMargin(0.2);/设置距离图片右端距离此时为百分之20,domainAxis.setCategoryLabelPositionOffset(10);/图表横轴与标签的距离(10像素),domainAxis.setCategoryMargin(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.renderer.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);/使用我们设计的效果,/设置纵横坐标的显示位置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.saveChartAsPNG(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图表中每个项目的鼠标点击链接,JfreeChart核心类库,Thank you!,展开阅读全文

咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。
咨信网小贴示:
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】


JfreeChart.ppt
















自信AI助手














微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/14674492.html