2017-07-24 97 views
1

我只是有一個關於如何將第三個軸(第二個x軸)添加到現有散點圖的問題。 例如,我有以下數據幀:將第三個軸添加到ggplot2中的散點圖

df = data.frame(a = c(10,20,30,40,50,60,70),b = c(12,15,21,21,22,26,31), c = c(0.1,0.2,0.3,0.3,0.3,0.4,0.5)) 

我使用「a」作爲x軸和「b」作爲y軸,繪製的散點圖。有可能我在面板頂部有一個輔助x軸來指示相應的「c」值?

回答

2

這是爲了評論而不是回答。 我們可以使用sec_axis來添加輔助軸,並且有幾個關於它的文章。但是,在您的數據集中,a和c之間不存在一對一的關係。例如,c中的0.3值對應於a中的30,40,50個值。這使得在這種情況下雙x軸的使用不令人滿意。看下面的例子。

在SO中,使用ggplot2的次軸的問題一直頗有爭議。最近版本的ggplot2實現了sec_axis函數,其中第一個參數是trans是一個轉換公式。當你的數量之間有關係時,這一點尤其有用。磅和公斤和公斤和米,攝氏度和開爾文等

總結,如果這真正的數據集,我會避免次要(誤導)x軸。 我期待聽到關於這個特殊問題的其他評論。

library(ggplot2) 
q = ggplot() + geom_point(data = df, aes(y = b, x = a)) 
q + scale_x_continuous("a", 
         sec.axis = sec_axis(~ . , breaks = df$a, labels = df$c , name = "c")) 

enter image description here

相關問題