構建可擴展的Java圖表組件
|
前言
Java語言所具有的面向對象特性,使許多復雜的問題可以分解成相對獨立的對象來處理。本文用面向對象的方法,將一個圖表組件從分解到如何組合,以及如何進行擴展作了詳細的講解。從簡單的折線圖到稍復雜的多種形狀組合的圖表,讀者可以學到構建一個可擴展的圖表組件是多么的容易。
常見的圖表類型
圖表具有很直觀的視覺效果,可以方便的用來比較數據的差異、圖案和趨勢等。
從外觀上來看,常用到的圖表主要有散點圖、(折)曲線圖、柱狀圖等。本文主要討論這幾種圖形樣式。其中這每種圖又可以與其它的類型組合產生更多的形式。下面以圖例來說明:
先來看散點圖:

圖1-1
圖1-1是一個典型的散點圖,它是由一組X值和一組Y值在二維坐標中兩兩成對描繪而成。一般這種圖形反映兩組數據的相關性。例如,要考查鋼的硬度與淬火溫度的關系,假設上圖的橫軸表示淬火的溫度,縱軸表示同時測出的鋼的硬度,這時我們可從上圖看出一個趨勢,即淬火的溫度越高,鋼的硬度越大。
再來看一個折線圖:
![]() 圖1-2 | ![]() 圖1-3 |
在圖1-2的折線圖中,假設橫軸表示周一到周日,縱軸表示某商場的日銷售額。我們可以看出其臨近周末的銷售額呈急劇上升趨勢,到周日開始回落,而最慘淡的是周四。通常折線圖也可以表示成柱狀圖的形式,如圖1-3。
復雜一點的圖形
![]() 圖1-4 | ![]() 圖1-5 | ![]() 圖1-6 |
上圖三個圖形的數據都是同樣的,但它們所能夠直觀表達的意思又不盡相同。諸如此類的圖表,形式多種多樣,但它們都是由這幾種基本圖表組合而成的。
接下來的一節,我們來看一下組成圖表的基本元素有哪些。