JFreeChart| 图解JFreeChart(HelloWorld)

2024-06-09 12:32

本文主要是介绍JFreeChart| 图解JFreeChart(HelloWorld),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 前言
  • 相关资源
  • 一.创建图表步骤
  • 二.具体代码分析
  • 三.示例效果图


前言

JFreeChart是一款免费的java图形开发类库。 主要用来在application/ applets/ servlets/jsp/上生成各种图表. JFreeChart是完全开源,并且严格遵循GNU的通用公共许可证,力保JFreeChart用户对源代码的自由修改与使用。

JFreeChart能产生饼图(pie)、 柱状/条形统计图(bar)、 折线图(line)、 散点图(scatter plots)、 时序图(time series)、 甘特图(Gantt)、 仪表盘图(meter,比如刻度盘、 温度计、 罗盘等)、 混合图、 symbol图和风力方向图等。
这里写图片描述

本文使用JFreeChart创建一个饼状图()PieChart)作为研究JFreeChart的开端.


相关资源

  • maven依赖
<dependency><groupId>org.jfree</groupId><artifactId>jfreechart</artifactId><version>1.0.19</version>
</dependency><dependency><groupId>org.jfree</groupId><artifactId>jcommon</artifactId><version>1.0.23</version>
</dependency>

一.创建图表步骤

使用JFreeChart创建图表共有三个步骤。 如下:

  • 创建一个dataset。 该dataset包含图表要显示的数据。
  • 创建一个JFreeChart对象。 该对象负责画这个图表。
  • 创建一个输出目标(如:一个panel,显示在屏幕上)或者本地保存为图片等。

二.具体代码分析

  • 数据集(Dataset):
    JFreeChart可以使用符合PieDataset接口的任何实现数据来创建饼图。 DefaultDataset类实
    现了PieDataset接口,提供了一种便利的使用方式。
    我们可以自由的开发符合实际需的任意PieDataset接口实现。

  • 图表对象(JFreeChart):
    代码中将一个dataset的引用传入到工厂方法中。 JFreeChart持有这个dataset引用的目的是
    便于在画图表时能够获得数据。 使用JFreeChart创建图表有许多定制外观的方式,在这个例
    子中我们使用缺省的属性值。 后面章节将详细介绍

  • 显示图表
    JFreeChart提供了非常灵活的图表输出方式。
    现在我们可以在一个屏幕的框架中显示这个图表。 ChartFrame具有显示图表的机制
    (ChartPanel)

public class FirstJFreeChart {public static void main(String[] args) {// create a dataset...DefaultPieDataset dataset = new DefaultPieDataset();dataset.setValue("Category 1", 43.2);dataset.setValue("Category 2", 27.9);dataset.setValue("Category 3", 79.5);// create a chart...JFreeChart chart = ChartFactory.createPieChart("Sample Pie Chart -Yves", // chart title: 图表标题dataset, // data: 数据集true, // legend: 图例true, // tooltips: 图表工具条false // URLs: URLS);// create and display a frame...ChartFrame frame = new ChartFrame("First", chart);frame.pack();RefineryUtilities.centerFrameOnScreen(frame);frame.setVisible(true);}}

三.示例效果图

这里写图片描述

这篇关于JFreeChart| 图解JFreeChart(HelloWorld)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1045187

相关文章

图解TCP三次握手|深度解析|为什么是三次

写在前面 这篇文章我们来讲解析 TCP三次握手。 TCP 报文段 传输控制块TCB:存储了每一个连接中的一些重要信息。比如TCP连接表,指向发送和接收缓冲的指针,指向重传队列的指针,当前的发送和接收序列等等。 我们再来看一下TCP报文段的组成结构 TCP 三次握手 过程 假设有一台客户端,B有一台服务器。最初两端的TCP进程都是处于CLOSED关闭状态,客户端A打开链接,服务器端

图解可观测Metrics, tracing, and logging

最近在看Gophercon大会PPT的时候无意中看到了关于Metrics,Tracing和Logging相关的一篇文章,凑巧这些我基本都接触过,也是去年后半年到现在一直在做和研究的东西。从去年的关于Metrics的goappmonitor,到今年在排查问题时脑洞的基于log全链路(Tracing)追踪系统的设计,正好是对这三个话题的实践。这不禁让我对它们的关系进行思考:Metrics和Loggi

Python简单入门教程helloworld

Python 学习资源 推荐书籍: Python核心编程(第二版) (强烈推荐,建议有一定基础的看,或者看完简明Python教程再看) Python 基础教程 第二版 (入门,没有核心编程好,但也不错) 编写高质量代码:改善Python程序的91个建议 (进阶,有一定基础再看) 书籍下载: Python 教程(部分内容来源于网络, 历时一年多总结整理的,给刚刚入门的

【数据结构】排序算法系列——希尔排序(附源码+图解)

希尔排序 算法思想 希尔排序(Shell Sort)是一种改进的插入排序算法,希尔排序的创造者Donald Shell想出了这个极具创造力的改进。其时间复杂度取决于步长序列(gap)的选择。我们在插入排序中,会发现是对整体数据直接进行了统一的插入排序,每个数据之间的间隙是1,这里的1指的就是步长序列gap。在希尔排序中,我们会将整体数据一分为多份,进行散布式的插入排序,这时候每一个子序列之间的

HelloWorld 模块

helloworld.c 代码 #include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){printk(KERN_ALERT "Hello world\n");return 0;}static void hello_exit(v

算法图解(8~10贪心,动态规划,K最近邻算法)

贪心算法 在每一步都选择局部最优解,从而期望最终得到全局最优解。 贪心算法并不总能保证全局最优解,因此需要满足以下两个条件: 贪心选择性质:可以通过局部最优选择构造出全局最优解。最优子结构:问题的最优解包含其子问题的最优解。 实例:给定面额的硬币,用最少硬币凑出指定金额 int minCoins(vector<int>& coins, int amount) {int count = 0

Java虚拟机--JVM内存堆布局图解分析

文章来源: https://www.cnblogs.com/WJ5888/p/4374791.html JAVA能够实现跨平台的一个根本原因,是定义了class文件的格式标准,凡是实现该标准的JVM都能够加载并解释该class文件,据此也可以知道,为啥Java语言的执行速度比C/C++语言执行的速度要慢了,当然原因肯定不止这一个,如在JVM中没有数据寄存器,指令集使用的是栈来保存

报表生成---JFreeChart

JFreeChart 是一个开源的 Java 图表库,它提供了丰富的图表类型和灵活的定制选项,用于在 Java 应用程序中生成和显示图表。以下是 JFreeChart 的一些关键特点和功能: 多种图表类型:JFreeChart 支持多种图表类型,包括但不限于: 条形图(Bar charts)折线图(Line charts)饼图(Pie charts)散点图(Scatter plots)时序图(

ROS程序设计系列 - 5.实例helloworld

ROS程序设计系列 - 5.实例helloworld 1. 源由2. 步骤Step 1:安装ROS系统Step 2:创建框架工程Step 3:检查工程结构Step 4:创建CPP文件Step 5:修改配置文件Step 6:编译工程 3. 测试Step 1: 启动ROS CoreStep 2: 启动Hello程序 4. 总结5. 参考资料6. 补充 1. 源由 在做《Ardupil