构建可扩展的Java图表组件

前言

Java语言所具有的面向对象特性,使许多复杂的问题可以分解成相对独立的对象来处理。本文用面向对象的方法,将一个图表组件从分解到如何组合,以及如何进行扩展作了详细的讲解。从简单的折线图到稍复杂的多种形状组合的图表,读者可以学到构建一个可扩展的图表组件是多么的容易。

常见的图表类型

图表具有很直观的视觉效果,可以方便的用来比较数据的差异、图案和趋势等。

从外观上来看,常用到的图表主要有散点图、(折)曲线图、柱状图等。本文主要讨论这几种图形样式。其中这每种图又可以与其它的类型组合产生更多的形式。下面以图例来说明:

先来看散点图:


图1-1

图1-1是一个典型的散点图,它是由一组X值和一组Y值在二维坐标中两两成对描绘而成。一般这种图形反映两组数据的相关性。例如,要考查钢的硬度与淬火温度的关系,假设上图的横轴表示淬火的温度,纵轴表示同时测出的钢的硬度,这时我们可从上图看出一个趋势,即淬火的温度越高,钢的硬度越大。

再来看一个折线图:


图1-2


图1-3

时间: 2024-08-29 19:37:12

构建可扩展的Java图表组件的相关文章

构建可扩展的Java EE应用(一)

对于一个具备使用价值的应用而言,其使用者有可能会在一段时间内疯狂的增 长.随着越来越多的关键性质的应用在Java EE上运行,很多的Java开发者也开始 关注可扩展性的问题了.但目前来说,大部分的web 2.0站点是基于script语言编 写的,对于Java应用可扩展能力,很多人都抱着质疑的态度.在这篇文章中, Wang Yu基于他本身在实验室项目的经验来展示如何构建可扩展的java应用,同时 ,基于一些在可扩展性上做的比较失败的项目给读者带来构建可扩展java应用的 实践.理论.算法.框架和经

构建可扩展的Java EE应用(二)

当并发用户数明显的开始增长,你可能会不满意一台机器所能提供的性能,或 者由于单个JVM实例gc的限制,你没法扩展你的java应用,在这样的情况下你可以 做的另外的选择是在多个JVM实例或多台服务器上运行你的系统,我们把这种方法 称为水平扩展. 请注意,我们相信能够在一台机器的多个JVM上运行系统的扩展方式是水平扩 展方式,而非垂直扩展方式.JVM实例之间的IPC机制是有限的,两个JVM实例之间 无法通过管道.共享内存.信号量或指令来进行通讯,不同的JVM进程之间最有效 的通讯方式是socket.

构建自己的基于Java的超级计算机

构建自己的基于 Java 的超级计算机 作者:转载自:如果您曾想过构建自己的超级计算机,但却对用 C 语言进行并行编程望而生畏,那么伪远程线程可以帮您解决这一问题.这种获奖的 Java 编程模型极大地简化了集群上的并行编程,并使超级计算走出实验室,使每一位 Java 程序员都能使用它.在过去的三年里,并行集群已在改变着超级计算的面貌.一旦价值数百万美元的单体机占了主导,并行集群很快就会成为超级计算机的选择.可以想像得到,开放源码圈内的高涨热情已导致产生了数百 -- 如果不是数千的话 -- 并行集

浅析jquery的js图表组件highcharts

 本篇文章主要是对jquery的js图表组件highcharts进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 Highcharts是一个制作图表的纯Javascript类库,   主要特性如下:   兼容性:兼容当今所有的浏览器,包括iPhone.IE和火狐等等:   对于非商用用户免费(包括个人网站.非盈利性组织.学生团体等).   纯JS,无BS:   支持大部分的图表类型:直线图,曲线图.区域图.区域曲线图.柱状图.饼装图.散布图:   跨语言:不管是PHP..net还是

使用React + Redux + React-router构建可扩展的前端应用

现在是前端开发最好的时代,有太多很好的框架和工具帮你更好的实现复杂需求;同时又是最困难的时代,因为需要掌握太多的框架和工具.如何利用好各种框架来提高前端开发质量是大家都在探索的问题.本文就将介绍如何使用 React 及其相关技术,来进行实际前端项目的开发.因为主要介绍如何将技术用于实践,所以希望读者已经对相关概念已经有一定的了解. 本文最初来源于笔者在 StuQ 的一次同名课程直播,现在加以整理成文,希望能对更多的人有所启发.为了固化这种实践方式,当时还开发了一个名为 Rekit 的工具,用于确

使用Flex图表组件

原文 http://blog.csdn.net/mylxiaoyi/article/details/1618470 使用Flex图表组件 以图表或是图的方式显示数据的能力可以使得Flex程序用户的数据交互更为容易.与仅显示简单的数字数据表不同,我们可以显示条状图,饼图,线图或是其他类型的图表,并且可以使用颜色,标题以及二维图形来表示我们的数据.在这一部分我们会介绍Flex图表,菜单数据,以及我们可以在Flex中创建的其他类型的图表. 关于图表数据表示可以使得我们简化数据表示与数据关系的方式来表示

Java swing组件的串行化和读取

由于JButton和JTree都已经实现了Serializable接口,因此Java swing组件 的串行化和读取是可以做到的. 方法就是使用ObjectInputStream读取文件中的对象,使用 ObjectOutputStream把对象写入文件. 如: import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.I

简述在Java Web组件之间的三种关联关系

在Java Web组件之间的三种关联关系: 1.请求转发 2.URL重定向 3.包含 请求转发: 允许把请求转发给同一应用程序中的其他web组件. 这种技术通常用于web应用控制层的servlet流程控制器,它检查http请求数据,并将请求转发到适合的目标组件,目标组建执行具体的请求处理操作,并生成响应结果. jsp页面中添加servlet中加入下面代码: <jap:forward page="hello.jsp"/> RequestDispatcher rd=reques

Asp.net 构建可扩展的的Comet Web 应用(二)

说明 如果你已经阅读了我之前的一篇文章<Asp.net构建可扩展的的Comet Web 应用>.你应该能够理解我将要写的内容.我解释了Comet技术并且解释了怎样用asp.net构建具有可扩展性的应用.然而,我认为之前的的一篇文章写得有点像主线.它展示了足够的技术,但是没有足够包含任何有用的代码.因此,我想我需要写一个API来将之前一篇文章中的功能封装起来.封装为一系列整齐的类,让它们可以被包含到一个通常的web项目中,给你机会去扩展和测试它. 我将不涉及太多关于线程模型的具体细节.因为在之前