2012-08-10 139 views
6

有人可以提供JFreeChart軸類型的簡單解釋嗎?JFreeChart域/範圍軸定義

  1. 首先,我們是基於類層次(ValueAxis,則CategoryAxis,很多子類)軸

  2. 我們也有「域軸」與「系列軸」的區別(只對於xy地塊?)。它們與基於類層次的座標軸的關係並不完全清楚。這些不是類,但在XYPlot中有setDomainAxis和setRangeAxis方法。

  3. 在視覺上,我會想在橫軸和縱軸上,我不確定這些與以前的概念有什麼關係(「域」總是水平的?)。我認爲x軸是水平的而y軸是垂直的,但我不確定XYPlot是否總是這樣。

編輯:我試圖通過研究這兩個API文檔和開發指南。 API文檔只是給出了類的層次結構,但不清楚何時以及如何使用它們。開發者指南也沒有定義或解釋「域軸」和「範圍軸」,它只是使用這些術語。我承認這個問題很廣泛,這是因爲我無法在任何地方找到這些基本信息。我想有一個大概的理解,但是我目前最重要的問題是什麼決定了什麼會在水平/垂直軸上(「域」總是水平的,如果不是如何設置它的話),因爲我得到了一些瘋狂的結果,我不知道從哪裏開始調試。如果我希望兩個圖重疊放置,我是否應該使用CombinedRangeXYPlot或CombinedDomainXYPlot也不清楚。

EDIT2:雖然沒有回答,但我同時發現了什麼決定域軸是否水平:PlotOrientation設置。該設置(在組合圖的水平上)還確定CombinedRangeXYPlot/CombinedDomainXYPlot是水平還是垂直排列這兩個圖。

+0

對不起,這個問題過於寬泛,內在[API](http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/axis/package-tree.html)和說明在開發者[guide](http://www.jfree.org/jfreechart/devguide.html)中。附錄:請編輯您的問題,重點關注提示此調查的問題。 – trashgod 2012-08-10 13:48:28

+0

我編輯了這個問題。 – lbalazscs 2012-08-10 14:43:13

+0

+1後續。 – trashgod 2012-08-10 16:43:58

回答

7

XYPlot,你正在顯示每個系列代表的離散函數f[t]與一組離散噸的{T1,T2,...,TN}的及其相應的值{F [T1]中,f [t2],...,f [tn]}

  • 該函數的域保持的t所有可能值。
  • 該函數的範圍包含函數f[t]的所有可能值。

這裏重要的是,函數中可以有多個點在距離軸上具有相同的值,但函數的每個點都必須在域軸中具有唯一值。 例如:香蕉可以獲得與蘋果相同的獎品,但香蕉不能有兩個獎品(告訴經紀人!:P)。

通常,橫軸是域軸,但也可以更改。

然後,你必須保持大量的可能類型的可視表示軸(對數/線性/類別/無標籤/網格線/藍色軸線...)的的類Axis

總之:域和範圍是數學上的定義,並對顯示的數據提出一些限制。這些術語用於特殊類型的數據(經典的形式,大家在基礎學校學習)。他們與他們的視覺代表無關。因此,圖的範圍以及域軸可以定義爲CategoryAxisNumberAxisLogarithmicAxis或其他。

編輯(完整性):您可以使用PlotOrientation.VERTICAL/PlotOrientation.HORIZONTAL更改繪圖的方向(即定義哪些軸是範圍軸)。

+1

謝謝!所以,你說區域和範圍軸之間的區別只適用於XYPlot,實際上它應該被命名爲像MathematicalFunctionPlot,因爲它不能在一個系列中顯示任意的xy值?只要沒有人反對你,我就接受這個答案...... – lbalazscs 2012-08-10 15:41:18

+0

+1要想看到不同之處,請試試這個[示例]()中的'PlotOrientation.HORIZONTAL'。 – trashgod 2012-08-10 16:43:35

+0

@ user1235867就是這樣。如上所述,可以改變繪圖的方向(即定義兩個軸中的哪一個是域軸(每個值不能超過一個點))。從技術上來說,域/範圍的限制也適用於其他類型的地塊(例如'CategoryPlot')。 – brimborium 2012-08-13 08:39:22