我有四个回归图,它们不仅基于x和y变量,还按分组变量z(v_187_corr)进行分组。因此,图例包含了存储在v_187中的所有组。现在,我想将我所有的4张图放在2x2窗口中,并用所有组名放置一个通用图例。
(我找到了一些示例,但是它们与我的示例仍然有很大的不同)。
local num = io.read()
local lin = io.read()
local i=0
for w in lin:gmatch("%d+") do
i=i+1
print(i,w)
end
答案 0 :(得分:1)
假设您的数据如下所示:
df.hlm_cc_select <- data.frame(zZufri = runif(10,0,1),
zmeans_levelsums = runif(10,0,1),
zagree_group_withinmeet_levelrat = runif(10,0,1),
zmean.aggr.prb_sd = runif(10,0,1),
zPssg_sd = runif(10,0,1),
v_187_corr = runif(10,0,1))
您可以使用tidyr
包(在其他选项中,例如reshape2::melt
和data.table::melt
)将所有变量收集到一列中(我们将其称为value
)。
在此过程中,必须使用zZufri
排除v_187_corr
(x轴?)和颜色变量-zZufri, -v_187_corr
。 key
列指示与每个值关联的变量。
df <- gather(df.hlm_cc_select,key="key",value="value",-zZufri, -v_187_corr)
然后使用ggplot您可以添加facet_wrap(~key)
,即为key
中的每个唯一值创建一个构面图。
ggplot(df,aes(x=value,y=zZufri,col=v_187_corr))+
geom_jitter()+
scale_color_viridis(discrete = TRUE, option = "A")+
scale_fill_viridis(discrete = TRUE) +
theme_dark() +
theme(axis.line.x = element_line(colour = 'black', size=0.5, linetype='solid'),
axis.line.y = element_line(colour = 'black', size=0.5, linetype='solid')) +
inherit.aes = FALSE, se = FALSE)+
geom_smooth(method=lm, color="black")+
facet_wrap(~key)
所有地块都只有一个图例。