`

JFreeChart例子

 
阅读更多
package com.test.jfreechart;

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 BarChartDemo {
	public static void main(String[] args) throws IOException {
		CategoryDataset dataset = getDataSet2();
		JFreeChart chart = ChartFactory.createBarChart3D("水果产量图", // 图表标题
				"水果", // 目录轴的显示标签
				"产量", // 数值轴的显示标签
				dataset, // 数据集
				PlotOrientation.VERTICAL, // 图表方向:水平、垂直
				true, // 是否显示图例(对于简单的柱状图必须是 false)
				false, // 是否生成工具
				false // 是否生成 URL 链接
				);
		
		Font font = new Font("宋体", Font.PLAIN, 16);
		// 设置标题的字体
		chart.getTitle().setFont(font);
		// 获取图表区域对象
		CategoryPlot plot = chart.getCategoryPlot();
		
		CategoryAxis domainAxis = plot.getDomainAxis();
		// 水平底部标题
		domainAxis.setLabelFont(font);
		// 水平底部列表
		domainAxis.setTickLabelFont(font);
		
		ValueAxis rangeAxis = plot.getRangeAxis();
		// 垂直标题
		rangeAxis.setLabelFont(font);
		// 设置图例字体
		chart.getLegend().setItemFont(font);
		
		FileOutputStream bar_jpg = null;
		try {
			bar_jpg = new FileOutputStream("D:\\fruit_bar.jpg");
			ChartUtilities.writeChartAsJPEG(bar_jpg, 1.0f, chart, 600, 400, null);
		} finally {
			try {
				bar_jpg.close();
			} catch (Exception e) {
			}
		}
	}

	/**
	 * 获取一个演示用的简单数据集对象
	 * 
	 * @return
	 */
	private static CategoryDataset getDataSet() {
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		dataset.addValue(100, "", "苹果");
		dataset.addValue(200, "", "梨子");
		dataset.addValue(300, "", "葡萄");
		dataset.addValue(400, "", "香蕉");
		dataset.addValue(500, "", "荔枝");
		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;
	}
}

 结果:

 

package com.test.jfreechart;

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.PiePlot;
import org.jfree.data.general.DefaultPieDataset;

/**
 * 用于演示饼图的生成
 */
public class PieChartDemo {
	public static void main(String[] args) throws IOException {
		DefaultPieDataset dataset = getDataSet();
		JFreeChart chart = ChartFactory.createPieChart3D("水果产量图", dataset, true, // 是否显示图例
				false, false);
		Font font = new Font("宋体", Font.PLAIN, 16);
		// 设置标题字体
		chart.getTitle().setFont(font);
		// 获取图表区域对象
		PiePlot piePlot = (PiePlot) chart.getPlot();
		piePlot.setLabelFont(font);
		chart.getLegend().setItemFont(font);

		FileOutputStream pie_jpg = null;
		try {
			pie_jpg = new FileOutputStream("D:\\fruit_pie.jpg");
			ChartUtilities.writeChartAsJPEG(pie_jpg, 1.0f, chart, 600, 400, null);
		} finally {
			try {
				pie_jpg.close();
			} catch (Exception e) {
			}
		}
	}

	/**
	 * 获取一个演示用的简单数据集对象
	 * 
	 * @return
	 */
	private static DefaultPieDataset getDataSet() {
		DefaultPieDataset dataset = new DefaultPieDataset();
		dataset.setValue("苹果", 100);
		dataset.setValue("梨子", 200);
		dataset.setValue("葡萄", 300);
		dataset.setValue("香蕉", 400);
		dataset.setValue("荔枝", 500);
		return dataset;
	}
}

 

结果:

 

  • 大小: 79.2 KB
  • 大小: 56.9 KB
分享到:
评论

相关推荐

    jFreechart例子及jar

    标题中的 "jFreechart例子及jar" 指的是包含 `jFreeChart` 示例代码和可能的库文件,这对于开发者来说是一个宝贵的学习资源。在这个压缩包中,你可能会找到一个名为 `jfreechart-1.0.13-demo.src` 的文件,这通常...

    一个JFreeChart例子

    **JFreeChart库详解** JFreeChart是一款强大的Java图表库,它允许开发者在应用程序、Swing...通过深入学习和实践这个JFreeChart例子,开发者可以掌握如何在自己的项目中有效地利用这个库,以生成专业且美观的图表。

    word+excel+jfreechart例子

    这个名为"word+excel+jfreechart例子"的压缩包提供了三个示例,分别展示了如何使用Java来实现这些功能。下面我们将详细探讨每个方面的知识点。 首先,我们来看Java操作Word的部分。在Java中,可以使用Apache POI库...

    jfreechart例子

    通过学习和实践"jfreechart例子"中的示例,你可以更好地掌握JFreeChart的使用,提升数据可视化的专业技能。无论是简单的数据展示还是复杂的交互式图表,JFreeChart都能满足你的需求,让你的项目更加生动直观。

    jfreeChart例子

    这个“jfreeChart例子”压缩包包含了一些示例代码,帮助开发者更好地理解和使用 JFreeChart。 1. **JFreeChart 的基本结构** JFreeChart 的核心组件包括 ChartFactory、Chart、Plot 和 Dataset。ChartFactory 用于...

    Jfreechart 例子

    Jfreechart 例子 3d 2d 完善的

    JFreeChart例子Demo

    **JFreeChart例子Demo** JFreeChart是一款强大的Java图表库,它允许开发者在应用程序、Swing组件、Web应用以及各种报告中创建丰富的图形。在这个"JFreeChart例子Demo"中,我们将深入探讨如何利用JFreeChart来绘制...

    jfreechart经典例子

    标题“jfreechart经典例子”暗示了我们将深入探讨如何使用JFreeChart库创建各种图表,并通过具体的示例来理解其工作原理。 首先,JFreeChart库是开源的,这意味着它允许开发者自由地使用、修改和分发。它的API设计...

    jfreechart 例子全集

    这个"jfreechart 例子全集"是一个集合,包含了JFreeChart库的各种示例代码,旨在帮助开发者更好地理解和应用这个库。 1. **基本概念** JFreeChart 的核心在于它的`ChartFactory`类,通过这个类,我们可以快速创建...

    jfreechart例子和教程大全

    JFreeChart是一款强大的Java图表库,它为开发者提供了丰富的图表绘制功能,包括柱状图、饼图、线形图、散点图、甘特图等多种图表类型,适用于各种数据分析和可视化场景。本教程将深入探讨JFreeChart的核心概念、使用...

    JFreeChart 例子 源码 demo

    JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图...

    jfreechart例子源码

    这个压缩包文件"jfreechart例子源码"提供了JFreeChart库的一些原始示例代码,对于学习和理解如何在Java应用程序中使用JFreeChart进行图表开发非常有帮助。 JFreeChart库的核心概念是图表(Chart),它是所有可视化...

    JFreeChart例子工程,web页面展示图片

    **JFreeChart简介** JFreeChart是一款开源的Java图表库,它提供了丰富的图表类型,包括柱状图、饼图、曲线图等,用于在Java应用程序和网页中展示数据。这个库的强大之处在于其灵活性和可定制性,允许开发者根据需求...

Global site tag (gtag.js) - Google Analytics