我正在使用带有 facet_wrap 的 ggplot 来生成 3 个带有线性模型的并排图。此外,我还有另一个维度(我们称之为“z”),我想通过改变图上点的大小来进行可视化。
目前,我生成的图在所有 3 个方面保持点的大小相同。相反,我想按刻面缩放点大小 - 这样,人们可以快速判断哪个点包含每个刻面的最高“z”值。
有没有办法在不创建 3 个单独的地块的情况下做到这一点?我已经包含了我的数据样本和我在下面使用的代码:
x <- c(0.03,1.32,2.61,3.90,5.20,6.48,7.77,0.75,2.04,3.33,4.62,5.91,7.20,8.49,0.41,1.70,3.00,4.28,5.57,6.86,8.15)
y <- c(650,526,382,110,72,209,60,559,296,76,48,64,20,22,50,102,176,21,20,25,5)
z <- c(391174,244856,836435,46282,40351,27118,17411,26232,59162,9737,1917,20575,1484,450,12071,13689,133326,1662,711,728,412)
facet <- c("A","A","A","A","A","A","A","B","B","B","B","B","B","B","C","C","C","C","C","C","C")
df <- data.frame(x,y,z,facet)
ggplot(df, aes(x=x, y=y)) +
geom_point(aes(size=z)) +
geom_smooth(method="lm") +
facet_wrap(~facet)