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

相关文章

图解float属性的详细信息

转自:http://www.cnblogs.com/58top/archive/2013/01/09/details_about_float_property.html 正确使用CSS的float属性可能会变成一项艰巨的任务,,它涉及内容过多,浏览器兼容性问题也很多。它的定位不仅涉及 包含块,还涉及到了行框,块框,还有行内框等内容。本文包含的实施例的应用属性float说明性例子,以及一些失误

游戏高度可配置化(一)通用数据引擎(data-e)及其在模块化游戏开发中的应用构想图解

游戏高度可配置化(一)通用数据引擎(data-e)及其在模块化游戏开发中的应用构想图解 码客 卢益贵 ygluu 关键词:游戏策划 可配置化 模块化配置 数据引擎 条件系统 红点系统 一、前言 在插件式模块化软件开发当中,既要模块高度独立(解耦)又要共享模块数据,最好的方法是有个中间平台(中间件)提供标准的接口来进行数据的交换,这在很多行业软件开发中已经广泛应用。但是,由于中间件的抽象和封

创建一个Spring的HelloWorld程序

Spring IOC IOC指的是控制反转,把对象的创建、初始化、销毁等工作都交给Spring容器。由spring容器来控制对象的生命周期。下图可以说明我们传统创建类的方式和使用Spring之后的区别: 创建Java类: package com.yihai.springioc;//IOC指的是控制反转,把对象的创建、初始化、销毁等工作都//交给Spring容器。由spring容器来

图解注意力

图解注意力 Part #2: The Illustrated Self-Attention 在文章前面的部分,我们展示了这张图片来展示自注意力被应用于正在处理单词"it"的一层中: 在本节中,我们将看看这是如何完成的。请注意,我们将以一种试图理解单个单词发生什么的方式来看待它。这就是为什么我们将展示许多单独的向量。实际的实现是通过将巨大的矩阵相乘在一起来完成的。但我想专注于这里单词层面上发

[图解]建模相关的基础知识-16

1 00:00:00,350 --> 00:00:04,130 刚才那个,就相当于,12这个我们可以认为是什么 2 00:00:05,020 --> 00:00:11,360 我们用类图来表达就是,员工、电话 3 00:00:13,320 --> 00:00:15,080 多个 4 00:00:15,090 --> 00:00:16,440 当然这个电话这里 5 00:00:16,970

ELK日志分析平台之helloworld

1.1  软件环境说明 本次安装部署所用的软件均为官网上目前的最新版本。 操作系统软件Java环境Centos 7 (服务器)logstash-6.2.4 .tar.gz openjdk 1.8.0_161elasticsearch-6.2.4.tar.gzkibana-6.2.4-linux-x86_64.tar.gzredis-4.0.9.tar.gzWindows 7logstash-6

【Flutter 专题】112 图解自定义 ACEPieWidget 饼状图 (一)

类别选项球;切割绘制饼状图;饼状图中绘制文字; 1. 类别选项球 对于两侧不同颜色类别选项卡,仅需要简单设置一下 Container 的 decoration 装饰器即可,只是方便用户查看饼状图分类而已; return Container( height: 45, width: 45, margin: EdgeInsets.symmetric(vertical: 2.5, horizonta

[图解]企业应用架构模式2024新译本讲解16-行数据入口2

1 00:00:00,750 --> 00:00:02,470 好,我们来看代码 2 00:00:03,430 --> 00:00:06,070 我们一步一步执行 3 00:00:42,500 --> 00:00:45,000 先初始化数据 4 00:00:52,300 --> 00:00:53,650 创建连接 5 00:00:55,900 --> 00:00:56,970 这里面 6

小林图解系统-五.进程管理 5.4.怎么避免死锁?

死锁的概念 多线程编程中国,为了防止多线程竞争共享资源而导致数错乱,都会在操作共享资源之前加上互斥锁,只有成功获得锁的线程,才能操作共享资源,获取不到锁的线程就只能等待,直到锁被释放。 当两个线程为了保护两个不同的共享资源而使用了两个互斥锁,那么这两个互斥锁应用不当的时候,会造成两个线程都在等待对方释放锁,在没有外力的作用下,这些线程会一直相互等待,没办法继续运行,这种情况就是发生了死锁。

动画图解RNN, LSTM 和 GRU,没有比这个更直观的了!

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶” 作者:Raimi Bin Karim 编译:ronghuaiyang 前戏 RNN, LSTM 和 GRU是3个非常常用的循环神经网络,这三个东西里面的内部结构又是什么样的呢,很多人可能并不清楚,不过除了RNN外,其他两个也确实比较复杂,记不住没关系,看总能看明白吧,看不明白也没关系,动画演示给你看! 循环神经网络是一类人工神经网络,