博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JFreeChart开源图表组件在Java开发中的应用(一)
阅读量:5976 次
发布时间:2019-06-20

本文共 2871 字,大约阅读时间需要 9 分钟。

    关于前端图表开发有很多基于Flash,HTML5,JavaScript的开源组件,而Java开源图表组件JFreeChart也是众所周知,网上关于JFreeChart的资料非常之多,可见其在Java开发中应用的相当广泛。

   写这篇文章一是为了记录一下关于JFreeChart的学习过程,另外想记录下学习这个组件方法。

  1.了解JFreechart

   

  2. 下载JFreeChart 和补充说明

   

   说明:按照作者的意思是JFreeChart是开源的,但是文档是需要购买,宗旨是支持开发者。

 3.JFreechart 为我们提供了一个jfreechart-1.0.15-demo.jar 实例程序级,在这里我们这里全面的了解JFreeChart能够支持实现的图表类型。

   

   

   在没有文档的帮助下,上面的实例图将是我们了解JFreeChart的直接路径,正如百度百科说的那样截至2011年JFreeChart是Java方面最佳的图表解决方案,其历史悠久,也为我们提供了更多的资料可供学习。

  4.入门

     历史的意义格外重要,JFreechart的中文博文也是特别多,用来参考,进行学习,然后循序渐进的了解各式各样的图表类型。

    例如下面代码就是一个简单的生成饼图:

   

public class PieChart {    public static JFreeChart getChart() {        // 准备数据        DefaultPieDataset dataSet = getPieDateSet();        // 创建图表,并对图表对象进行属性设置        JFreeChart chart = ChartFactory.createPieChart("浏览器市场占有率", dataSet,                true, false, false);        Font font = new Font("黑体", Font.PLAIN, 12);        chart.getTitle().setFont(font);        try {            chart.setBackgroundImage(ImageIO.read(new File(                    "D:\\__dir\\chart\\bg.jpg")));            chart.setBorderVisible(true);        } catch (IOException e1) {            e1.printStackTrace();        }        // 绘图,对图形进行属性设置        PiePlot plot = (PiePlot) chart.getPlot();        plot.setNoDataMessage("No Data");        plot.setCircular(true);        plot.setForegroundAlpha(0.5F);        plot.setLabelGap(0.01);        plot.setExplodePercent("FireFox", 0.24);        plot.setBackgroundAlpha(0.00F);        /**         * {0}:label         *         * {2}:{1,2}         *         * {1}:value {2}:format         *         */        plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}:{2}",                NumberFormat.getInstance(), new DecimalFormat("0.00%")));        //以图片文件的形式输出        FileOutputStream fos = null;        try {            fos = new FileOutputStream(new File(                    "D:\\__dir\\chart\\piechart_precent.png"));            ChartUtilities.writeChartAsPNG(fos, chart, 400, 400);        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }        return chart;    }    private static DefaultPieDataset getPieDateSet() {        DefaultPieDataset dataSet = new DefaultPieDataset();        dataSet.setValue("IE", 0.35);        dataSet.setValue("FireFox", 0.24);        dataSet.setValue("Chrome", 0.26);        dataSet.setValue("Opera", 0.05);        dataSet.setValue("Other", 0.10);        return dataSet;    }}

  上面绘制饼图的效果如下(注:下图数据仅供测试用例,不具备实际意义):

 

    从上面的代码中可以看出生成一个图表的基本流程:

    准备数据==》创建图表类型对象==》绘制图标==》渲染图表==》显示图表

    关于渲染图表上面代码并没有特别清楚的体现,其实在绘制图表对象中可以获得一个渲染对象,然后进行图表渲染。

   显示图表的方式有多种,一般是基于Swing,Applet,Image的形式。

  总结:

       在日常工作中随时都有可能遇到不熟悉的东西,但又时间紧迫,这个时候就得掌握快速学习,快速应用的方法。

       图表组件开源的很多,不同的实现方式,不同的应用场景,能否找到适合自己的,并且能够投入生产并不是一件容易的事情,这里面牵扯一个商业问题,商业领域性,业务性很强,很开源的组件往往这方面有欠缺,这时候就是另外的考虑范畴了。。

       关于JFreeChart的学习虽说没有免费的文档,但是站在广大的网友奉献的基础上还是容易学习的,而关于寻找资源就要靠搜商了。

   

 

转载地址:http://eqiox.baihongyu.com/

你可能感兴趣的文章
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
并查集hdu1232
查看>>
Mysql 监视工具
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
博客搬家了
查看>>
Python中使用ElementTree解析xml
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
mysql多实例实例化数据库
查看>>
javascript 操作DOM元素样式
查看>>
HBase 笔记3
查看>>
【Linux】Linux 在线安装yum
查看>>
Atom 编辑器系列视频课程
查看>>
[原][osgearth]osgearthviewer读取earth文件,代码解析(earth文件读取的一帧)
查看>>
mybatis update返回值的意义
查看>>
expdp 详解及实例
查看>>
通过IP判断登录地址
查看>>
深入浅出JavaScript (五) 详解Document.write()方法
查看>>
Beta冲刺——day6
查看>>