JFreeChart是JAVA平台上的一个开放的图表绘制库,它完全使用JAVA语言编写,是为servlet以及jsp等使用所设计.JFreeChart可生成饼状图(pie charts),柱状图(bar charts)等等,并且可以产生PNG和JPEG格式的输出.
下面是一些常见的例子,希望给您带来帮助,记得要导入jar包哦!
饼状图: package com.java.chart; import java.awt.Font; import java.io.FileOutputStream; import java.io.IOException; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PiePlot3D; import org.jfree.data.general.DefaultPieDataset; public class PieChart { public static void main(String[] args) { // 创建数据集对象 DefaultPieDataset dataset = getDataset(); // 创建JFreeChart对象 JFreeChart chart = ChartFactory.createPieChart3D("文具销量表", dataset, true, true, false); // 处理中文乱码 // 获取CategoryPlot PiePlot3D plot = (PiePlot3D) chart.getPlot(); // 处理标题乱码 chart.getTitle().setFont(new Font("宋体", Font.PLAIN, 18)); // 处理表内容乱码 chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 18)); // 处理数据集乱码 plot.setLabelFont(new Font("宋体", Font.PLAIN, 18)); // 输出 FileOutputStream fos = null; try { fos = new FileOutputStream("d:/a.jpg"); ChartUtilities.writeChartAsJPEG(fos, chart, 600, 400); } catch (Exception e) { System.out.println("生成图片失败!"); }finally { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } System.out.println("生成图片成功!"); } public static DefaultPieDataset getDataset() { DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue("铅笔", 20); dataset.setValue("毛笔", 3); dataset.setValue("钢笔", 10); dataset.setValue("圆珠笔", 30); return dataset; } }柱状图:
package com.java.chart; import java.awt.Color; import java.awt.Font; import java.io.FileOutputStream; import java.io.IOException; 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.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.CategoryDataset; import org.jfree.data.category.DefaultCategoryDataset; public class BarChart { public static void main(String[] args) { // 获取一个数据集 CategoryDataset dataSet = getDataSet(); // 创建JFreeChart的对象 JFreeChart freeChart = ChartFactory.createBarChart3D("水果统计图", "品种", "产量",dataSet, PlotOrientation.VERTICAL, true, true, false); // 设置图表的背景色 freeChart.setBackgroundPaint(new Color(0xffffff)); // 处理中文乱码 //创建CategoryPlot对象 CategoryPlot plot = (CategoryPlot) freeChart.getPlot(); // 获取X轴 CategoryAxis axis =plot.getDomainAxis(); // 处理x轴的标题乱码 axis.setLabelFont(new Font("宋体",Font.PLAIN, 18)); // 处理X轴上的乱码 axis.setTickLabelFont(new Font("宋体",Font.PLAIN, 18)); // 获取Y轴 ValueAxis value = plot.getRangeAxis(); //处理Y轴的标题乱码 value.setLabelFont(new Font("宋体", Font.PLAIN, 18)); //处理标题乱码 freeChart.getTitle().setFont(new Font("宋体", Font.PLAIN,18)); // 处理图例乱码 freeChart.getLegend().setItemFont(new Font("宋体",Font.PLAIN, 15)); // 打印图表 FileOutputStream fos = null; try { fos =new FileOutputStream("d:/test3.jpg"); ChartUtilities.writeChartAsJPEG(fos, freeChart, 600, 400); } catch(Exception e) { System.out.println("生成图片失败!"); } finally { // 释放资源 try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } System.out.println("生成图片成功!"); } public static CategoryDatasetgetDataSet() { // 创建DefaultCategoryDataset 对象 DefaultCategoryDataset ds = new DefaultCategoryDataset(); //添加数据进数据集 // 参数解释:第一个参数是数量,第二个参数是类别,第三个参数是横坐标 ds.addValue(100, "水果","苹果"); ds.addValue(200, "水果", "香蕉"); ds.addValue(300, "水果", "橘子"); ds.addValue(400, "水果", "龙眼"); ds.addValue(500, "水果", "栗子"); return ds; } }折线图:
packagecom.java.chart; import java.awt.Font; importjava.io.FileOutputStream; import java.io.IOException; 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.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.CategoryDataset; import org.jfree.data.category.DefaultCategoryDataset; public class LineChart { public static void main(String[] args) { CategoryDataset dataset = createDataset(); JFreeChart chart =ChartFactory.createLineChart("一季度销售曲线", // 折线图名称 "时间", // 横坐标名称 "销售额(百万)", // 纵坐标名称 dataset, // 数据 PlotOrientation.VERTICAL, //水平显示图像 true, // 是否需要图例 true, // 是否需要工具 false // 是否需要链接 ); // 处理乱码 // 处理标题 chart.getTitle().setFont(new Font("宋体", Font.PLAIN, 18)); // 获取CategoryPlot CategoryPlot plot = chart.getCategoryPlot(); //获取X轴 CategoryAxis axis = plot.getDomainAxis(); // 处理X轴乱码 axis.setTickLabelFont(new Font("宋体", Font.PLAIN, 18)); // 处理x轴标题乱码 axis.setLabelFont(new Font("宋体", Font.PLAIN, 18)); // 获取Y轴 ValueAxis value = plot.getRangeAxis(); // 处理Y轴乱码 value.setLabelFont(new Font("宋体", Font.PLAIN, 18)); // 处理其他乱码 chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 18)); plot.setRangeGridlinesVisible(true); // 是否显示格子线 plot.setBackgroundAlpha(0.3f); // 设置背景透明度 FileOutputStream fos =null; try { fos = new FileOutputStream("d:/line.jpg"); ChartUtilities.writeChartAsJPEG(fos, chart, 600, 400); } catch(Exception e) { e.printStackTrace(); } finally { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } public static DefaultCategoryDataset createDataset() { DefaultCategoryDataset linedataset = new DefaultCategoryDataset(); // 各曲线名称 String series1= "宝马"; String series2 = "奔驰"; String series3 ="保时捷"; // 横轴名称(列名称) String type1 = "1月"; String type2 = "2月"; String type3 = "3月"; linedataset.addValue(0.0, series1, type1); linedataset.addValue(4.2, series1, type2); linedataset.addValue(3.9, series1, type3); linedataset.addValue(1.0, series2, type1); linedataset.addValue(5.2, series2, type2); linedataset.addValue(7.9, series2, type3); linedataset.addValue(2.0, series3, type1); linedataset.addValue(9.2, series3, type2); linedataset.addValue(8.9, series3, type3); return linedataset; } }
相关推荐
"JFreeChart 官方例子 JFreeChart Dome" 提供了一系列官方示例,帮助开发者更好地理解和运用JFreeChart库的各种功能。 "ChangeLog" 文件通常记录了软件的更新历史,其中包括了每次版本升级中添加的新特性、修复的...
这个压缩包“JFreeChart入门小例子.rar”显然是一个初学者导向的教程资源,旨在帮助用户快速掌握如何在Java项目中集成和使用JFreeChart。 在“JFreeChart入门小例子 - 因为专注,所以专业 - BlogJava.htm”中,可能...
JFreeChart报表小例子 public class SimpleJFreeChart { public static void main(String[] args){ DefaultPieDataset dpd=new DefaultPieDataset(); //建立一个默认的饼图 dpd.setValue("管理人员", 25); //...
标题“jfreechart经典例子”暗示了我们将深入探讨如何使用JFreeChart库创建各种图表,并通过具体的示例来理解其工作原理。 首先,JFreeChart库是开源的,这意味着它允许开发者自由地使用、修改和分发。它的API设计...
**jFreeChart简介** jFreeChart是一个开源的Java库,用于生成高质量的图表,支持多种图表类型,如柱状图、饼图、线形图、散点图、仪表盘、时钟表等。这个库广泛应用于Java应用程序、Web应用、报表系统以及数据可视...
在给定的“JFreeChart简单小例子”中,我们可以了解到如何利用这个库来生成基本的图表。这篇博客文章(链接:https://zz563143188.iteye.com/blog/1933112)可能详细解释了如何设置和使用JFreeChart,以便在Java应用...
本教程将详细介绍JFreeChart的使用方法,包括安装、配置以及实际的例子。 ### 1. 安装JFreeChart 在开始使用JFreeChart之前,你需要下载JFreeChart的JAR文件。这通常可以从JFreeChart的官方网站或者其他可靠的开源...
标题中的 "jFreechart例子及jar" 指的是包含 `jFreeChart` 示例代码和可能的库文件,这对于开发者来说是一个宝贵的学习资源。在这个压缩包中,你可能会找到一个名为 `jfreechart-1.0.13-demo.src` 的文件,这通常...
2. **Web 示例**:可能包括在 JavaServer Pages (JSP) 或 Servlets 中使用 JFreeChart 的例子。这些示例可能涉及到如何将图表导出为图像文件,然后在网页上显示,或者通过 AJAX 实现动态更新。 3. **数据源和序列化...
在这个小例子中,已经实现了柱状图的数据下探功能,但圆形图的数据下探还未完成。 **柱状图的实现** 柱状图(Bar Chart)是统计图表中常见的类型,常用于比较不同类别的数据量。在 JFreeChart 中创建柱状图,首先...
这个"jfreechart经典例子完整源代码"是一个非常宝贵的资源,对于学习和理解如何在Java应用中使用JFreeChart进行图表展示具有很高的参考价值。 首先,JFreeChart库的核心是ChartFactory类,它是创建各种图表的入口点...
在这个“strut1+jfreechart简单小例子”中,我们将探讨如何将这两个工具结合,以展示在Struts1框架中集成JFreeChart来创建图表的方法。 首先,我们需要在项目中引入JFreeChart的依赖。这通常通过在项目的类路径下...
**JFreeChart 1.0.14 示例代码详解** JFreeChart 是一个流行的 Java 图形库,用于创建高质量的图表,包括折线图、柱状图、饼图、散点图等多种类型。版本 1.0.14 是其稳定版本之一,包含了丰富的示例代码,帮助...
压缩包中的例子文件是学习JFreeChart的好资源,它们展示了如何创建和定制各种图表。通过分析源代码,开发者可以快速上手,并了解到如何将JFreeChart集成到自己的项目中。 4. **兼容性与性能**: JFreeChart是基于...
这个“jfreeChart例子”压缩包包含了一些示例代码,帮助开发者更好地理解和使用 JFreeChart。 1. **JFreeChart 的基本结构** JFreeChart 的核心组件包括 ChartFactory、Chart、Plot 和 Dataset。ChartFactory 用于...
这个名为"word+excel+jfreechart例子"的压缩包提供了三个示例,分别展示了如何使用Java来实现这些功能。下面我们将详细探讨每个方面的知识点。 首先,我们来看Java操作Word的部分。在Java中,可以使用Apache POI库...
对于线图,`LineChartDemo.java` 文件提供了例子,它使用 `XYDataset` 数据集,其中每个系列包含一系列 (x, y) 对。此外,JFreeChart 还支持自定义图表元素,比如轴标签、图例、背景色等,这在 `...
这个1.0.8版本的演示和例子源码包为开发者提供了一个深入理解JFreeChart功能和用法的机会。虽然版本较旧,但其核心概念和大部分API在后续版本中依然保持稳定,因此对于学习和参考来说仍具有很高的价值。 JFreeChart...
JavaSE学习时候都可以看这个例子了,注意几个标题区别,别的没什么可说的。 我在做得时候发现不支持汉字,这个我想可以解决的。 我会抽空仔细看看代码~\(≧▽≦)/~啦啦啦 ...jfreechart饼图例子
这个"jfreechart的一个小例子"是一个非常适合初学者的入门资源,包含了代码示例和必要的配置文件,帮助理解如何在Java项目中集成和使用JFreeChart。 首先,让我们来了解JFreeChart的基本用法。JFreeChart的核心在于...