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; } }
结果:
相关推荐
标题中的 "jFreechart例子及jar" 指的是包含 `jFreeChart` 示例代码和可能的库文件,这对于开发者来说是一个宝贵的学习资源。在这个压缩包中,你可能会找到一个名为 `jfreechart-1.0.13-demo.src` 的文件,这通常...
**JFreeChart库详解** JFreeChart是一款强大的Java图表库,它允许开发者在应用程序、Swing...通过深入学习和实践这个JFreeChart例子,开发者可以掌握如何在自己的项目中有效地利用这个库,以生成专业且美观的图表。
这个名为"word+excel+jfreechart例子"的压缩包提供了三个示例,分别展示了如何使用Java来实现这些功能。下面我们将详细探讨每个方面的知识点。 首先,我们来看Java操作Word的部分。在Java中,可以使用Apache POI库...
通过学习和实践"jfreechart例子"中的示例,你可以更好地掌握JFreeChart的使用,提升数据可视化的专业技能。无论是简单的数据展示还是复杂的交互式图表,JFreeChart都能满足你的需求,让你的项目更加生动直观。
这个“jfreeChart例子”压缩包包含了一些示例代码,帮助开发者更好地理解和使用 JFreeChart。 1. **JFreeChart 的基本结构** JFreeChart 的核心组件包括 ChartFactory、Chart、Plot 和 Dataset。ChartFactory 用于...
Jfreechart 例子 3d 2d 完善的
**JFreeChart例子Demo** JFreeChart是一款强大的Java图表库,它允许开发者在应用程序、Swing组件、Web应用以及各种报告中创建丰富的图形。在这个"JFreeChart例子Demo"中,我们将深入探讨如何利用JFreeChart来绘制...
标题“jfreechart经典例子”暗示了我们将深入探讨如何使用JFreeChart库创建各种图表,并通过具体的示例来理解其工作原理。 首先,JFreeChart库是开源的,这意味着它允许开发者自由地使用、修改和分发。它的API设计...
这个"jfreechart 例子全集"是一个集合,包含了JFreeChart库的各种示例代码,旨在帮助开发者更好地理解和应用这个库。 1. **基本概念** JFreeChart 的核心在于它的`ChartFactory`类,通过这个类,我们可以快速创建...
JFreeChart是一款强大的Java图表库,它为开发者提供了丰富的图表绘制功能,包括柱状图、饼图、线形图、散点图、甘特图等多种图表类型,适用于各种数据分析和可视化场景。本教程将深入探讨JFreeChart的核心概念、使用...
JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图...
这个压缩包文件"jfreechart例子源码"提供了JFreeChart库的一些原始示例代码,对于学习和理解如何在Java应用程序中使用JFreeChart进行图表开发非常有帮助。 JFreeChart库的核心概念是图表(Chart),它是所有可视化...
**JFreeChart简介** JFreeChart是一款开源的Java图表库,它提供了丰富的图表类型,包括柱状图、饼图、曲线图等,用于在Java应用程序和网页中展示数据。这个库的强大之处在于其灵活性和可定制性,允许开发者根据需求...