Java学习笔记 制作图表过程(Eclipse+JFreeChart

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

JFreeChart是开放源代码站点SourceForge.net上的一个JAVA项目,它主要用来生成各种各样的图表,这些图表包括:饼图、柱状图(普 通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。这些不同式样的图表基本上可以满足目前的要求。该公司的主要产品有如下:
         1、JFreeReport:报表解决工具
         2、JFreeChart:Java图形解决方案(Application/Applet/Servlet/Jsp)
         3、JCommon:JFreeReport和JFreeChart的公共类库
         4、JFreeDesigner:JFreeReport的报表设计工具

JFreeChart所生成的Chart包括三个部分:Title,Plot (图形的主要显示区域)和 Legend

      正在进行中的一个数据分析软件需要用到JAVA的图表引擎JFreeChart来作图,现将其在Eclipse中的配置过程说明如下:
1.下载JFreeChart:http://www.jfree.org/jfreechart/index.html
2.安装配置:先解压jfreechart-1.0.9.zip,再将解压之后的文件中的\lib下的gnujaxp.jar,jcommon-1.0.12.jar,jfreechart-1.0.9.jar三个jar包添加到project中。在Eclipse中的具体做法为:project菜单——>Properties——>Java Build Path——>Libraries——>Add External Jars,就这样将上述三个jar文件逐一添加到当前Project中。
3.基于JFreeChart编程
以下是网上找的一个利用Jfreechart生成柱状图的程序段,以测试配置成功。

import java.io.*;import java.awt.Dimension;import javax.swing.JPanel;import org.jfree.chart.*;import org.jfree.chart.axis.CategoryAxis;import org.jfree.chart.axis.CategoryLabelPositions;import org.jfree.chart.plot.CategoryPlot;import org.jfree.chart.plot.PlotOrientation;import org.jfree.chart.renderer.category.BarRenderer3D;import org.jfree.data.category.CategoryDataset;import org.jfree.data.category.DefaultCategoryDataset;import org.jfree.data.general.DatasetUtilities;import org.jfree.ui.ApplicationFrame;import org.jfree.ui.RefineryUtilities;/*** 该类用于演示最简单的柱状图生成*/public class BarChartDemo {        public static void main(String[] args) throws IOException{                CategoryDataset dataset = getDataSet2();                JFreeChart chart = ChartFactory.createBarChart3D(                                                        "水果产量图", // 图表标题                                                        "水果", // 目录轴的显示标签                                                        "产量", // 数值轴的显示标签                                                        dataset, // 数据集                                                        PlotOrientation.VERTICAL, // 图表方向:水平、垂直                                                        true,         // 是否显示图例(对于简单的柱状图必须是false)                                                        false,         // 是否生成工具                                                        false         // 是否生成URL链接                                                        );                FileOutputStream fos_jpg = null;                try {                        fos_jpg = new FileOutputStream("D:\\fruit.jpg");                                              ChartUtilities.writeChartAsJPEG(fos_jpg,chart,400,300);                } finally {                        try {                                fos_jpg.close();                        } catch (Exception e) {}                }        }        /**         * 获取一个演示用的简单数据集对象         * @return         */        private static CategoryDataset getDataSet() {                DefaultCategoryDataset dataset = new DefaultCategoryDataset();                dataset.addValue(100, null, "苹果");                dataset.addValue(200, null, "梨子");                dataset.addValue(300, null, "葡萄");                dataset.addValue(400, null, "香蕉");                dataset.addValue(500, null, "荔枝");                return dataset;        }        /**         * 获取一个演示用的组合数据集对象         * @return         */        private static CategoryDataset getDataSet2() {                DefaultCategoryDataset dataset = new DefaultCategoryDataset();                dataset.addValue(100, "北京", "苹果");                dataset.addValue(100, "上海", "苹果");                dataset.addValue(100, "广州", "苹果");                dataset.addValue(200, "北京", "梨子");                dataset.addValue(200, "上海", "梨子");                dataset.addValue(200, "广州", "梨子");                dataset.addValue(300, "北京", "葡萄");                dataset.addValue(300, "上海", "葡萄");                dataset.addValue(300, "广州", "葡萄");                dataset.addValue(400, "北京", "香蕉");                dataset.addValue(400, "上海", "香蕉");                dataset.addValue(400, "广州", "香蕉");                dataset.addValue(500, "北京", "荔枝");                dataset.addValue(500, "上海", "荔枝");                dataset.addValue(500, "广州", "荔枝");                return dataset;        }}


.4 生成的图表
上述程序生成的柱状图如下:

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

猜你喜欢

转载自blog.csdn.net/sdfsdfytre/article/details/84194900