簡體   English   中英

在ggplot2中向散點圖添加第三個軸

[英]Adding a third axis to a scatter plot in ggplot2

我只是有一個關於如何向現有散點圖添加第三個軸(輔助x軸)的問題。 例如,我有以下數據框:

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”值?

這本來是評論而不是答案。 我們可以使用sec_axis來添加具有輔助軸的對象,並且其中有多個帖子。 但是,在您的數據集中,a和c之間沒有一對一的關系。 例如,c中的0.3值對應於a中的30、40、50個值。 這使得在這種情況下不能很好地使用雙x軸。 請參見下面的示例。

使用ggplot2的輔助軸問題在SO中引起很大爭議。 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"))

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM