[英]Create multiple plots in R based on column value but colour plots based on a second column
我想使用 ggplot2 在折线图中通过 VarB 对 plot VarA 和 VarB 进行计算,但我想要一个单独的 plot 的每个唯一 ID 值,并通过 VarD 改变图形的形状。
我可以使用以下代码创建单独的图:
plot_list <- lapply(split(data.df, data.df$ID), function(x)
{
ggplot(x, aes(x=VarA, y=VarB)) +
geom_point()+
theme_bw()
})
但想根据另一个变量 (VarC) 为点着色,并根据最终变量 (VarD) 更改点的形状。
变量 C 和 D 都是具有 2 个水平的阶乘。
ggplot 包含颜色和点形状的美学,将美学调用更改为:
aes(x=VarA,
y=VarB,
colour=varC,
shape=varD)
对于某些几何图形,使用美学填充而不是颜色,如果包含在不使用它的几何图形中,形状会导致问题,但这应该适用于 geom_point。
将 facet_wrap 添加到 plot 以分隔每个 ID 值的图形:
+facet_wrap(~ID)
plot_list <- lapply(split(data.df.new, data.df.new$Sheep_ID), function(x)
{
ggplot(x, aes(x=VarA, y=VarB, colour = VarC)) +
geom_point()+
theme_bw() +
scale_color_manual(values = c("R" = "blue", "E" = "pink")) + # Add in specific colour for each factor level.
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.