2011-01-20 95 views
3

我試圖用「對」來繪製一些散點圖對。 我的數據框看起來像:用R對繪製散點圖,對數刻度中包含零的數據

>e 
    X Y Z 
    0 0 0 
    2 3 4 
    0 3 4 
    3 3 3 

這裏是一個完全標準的數據框。

我使用它來繪製一次我的散點圖,沒有任何幻想:

pairs(~X+Y+Z, data=e, log="xy") 

它的偉大工程,但它不繪製標籤。但是,如果我在命令中刪除了log =「xy」,那麼標籤就會很好地繪製出來。所以我想這與我希望我的散點圖處於對數級的事實有關。

所以我的問題是我該怎麼做? 我應該在手前刪除所有帶零的線(你怎麼做?) 是否有一個魔術,讓我有日誌=「xy」和我的散點圖標記?

感謝您的幫助, 請讓我知道,如果它不明確。

回答

7

你忽略了這一點(在那裏我叫你的數據幀DF):

R> pairs(~X+Y+Z, data=df, log="xy") 
There were 30 warnings (use warnings() to see them) 

,如果你看一下這三個警告,你會看到

  • 你不能繪製包含零的數據在對數級別(我猜你知道爲什麼)

  • log不是公認的參數pairs()

所以,如果你想對在日誌中繪製,您可能需要花費自己的日誌(,要麼添加少量小量或使用變換像log(1 + x)和數據調用pairs()

編輯最簡單的可能是pairs(~X+Y+Z, data=log(1+DF))

+0

這是一個奇怪的現象,雖然。它實際上*不會*在日誌範圍內繪製數據,一切看起來都很好,除了省略標籤。 `plot(df,log =「xy」)`會產生類似的結果,其中`log`(推測是?)是plot()的一個有效參數。 – 2012-10-08 20:19:25