我想做一個氣泡圖,我有多個z值爲每個xy座標。我想geom_point
的大小是每個XY平均Z值座標/ interaction-我的預期輸出會是這樣的:Rggplot氣泡圖的大小由組的平均值
我試圖通過x和y值的交互分組,但不能得到ggplot
採取該組的意思。相反,我得到的是整個數據集的平均值,或者是在同一個xy位置繪製多個點,每個點都具有由z值設置的自己的大小。這裏是我試過前:
library(ggplot2)
z <- seq(1,20, length.out = 18)
xy <- expand.grid(c(1,2,3),c(1,2,3))
xyz <- data.frame(xy, z)
names(xyz) <- c("x", "y", "z")
ggplot(xyz, aes(x, y, group = interaction(x,y)))+
geom_point(size = z, position = position_jitter(width = 0.2, height = 0))
其中給出該地塊(抖動顯示該所描繪的多個點):
所以 - 是有可能按XY位置和通過每個位置的平均值設置大小?當然,如果需要,我可以首先找到意思,但是我想知道ggplot本身是否有一種方法。
在此先感謝,請讓我知道是否需要澄清任何事情。
我縮小你最接近的內置ggplot賭注將是'stat_bin_2d',它會做2d組的點,但它不支持你想要的幾何和美學。只要先進行數據轉換並將彙總數據傳遞給ggplot即可。 – Gregor
@Gregor足夠公平,如果不能這樣做就是這樣。你說得對,'stat_bin_2d'不能讓我滿足我的需要。謝謝! –
'ggplot'是一個繪圖軟件包。爲了方便起見,它有能力進行一些基本的聚合,但是在'data.table'或'dplyr'中使用簡單的一行或兩行時,獲取繪圖軟件包可以爲您執行數據操作並沒有真正的好處。 – Gregor