使用foreach实现基于级别的子集
我想保存一系列基本上如下所示的图形: 这是由以下代码生成的:使用foreach实现基于级别的子集,r,ggplot2,foreach,subset,R,Ggplot2,Foreach,Subset,我想保存一系列基本上如下所示的图形: 这是由以下代码生成的: # orange is pre, red is intra, green is post df$Month <- as.Date(df$activityDate) ggplot(df, aes(x= Month, y= level)) + geom_jitter(colour= ifelse(df$phase == "post", 'springgreen4', ifelse(
# orange is pre, red is intra, green is post
df$Month <- as.Date(df$activityDate)
ggplot(df, aes(x= Month, y= level)) +
geom_jitter(colour= ifelse(df$phase == "post", 'springgreen4',
ifelse(df$phase == "pre", 'orange1', 'red3')),
size= 3, shape= 19, height=0.20, alpha = 0.6) +
theme_bw() +
labs(title="EPA Levels Over Time", x= "Date", y= "EPA Level") +
scale_x_date(labels= date_format("%m-%Y")) +
# main title
theme(plot.title = element_text(face= 'bold', size=18)) +
# x axis title
theme(axis.title.x = element_text(face= 'bold', size=14)) +
# y axis title
theme(axis.title.y = element_text(face= 'bold', size=14)) +
# x axis tick mark labels
theme(axis.text.x= element_text(hjust = 1, angle = 45, face= 'bold', size=10)) +
# y axis tick mark labels
theme(axis.text.y = element_text(face= 'bold', size=12)) +
facet_grid(~ epa) # show each epa
#橙色为前置,红色为内部,绿色为后置
df$Month在没有看到实际数据的情况下很难判断。您能从geom\u jitter
中删除颜色吗?我想这和颜色有关。我认为你正在设置许多颜色。您可以尝试geom\u jitter(aes(color=phase))
并添加scale\u color\u手动(值=c(“pre”=“orange”,“intra”=“red”,“post”=“springgreen4”)
。是的,从geom\u jitter中删除color=可以解决问题,但是我还应该如何进行条件点着色?在循环中设置颜色时,您需要参考dfgraph
而不是df
。一个更好的方法是按照@ricoderks所建议的美学方法绘制颜色图。
foreach(i=levels(df$resident)) %do% {
dfgraph <- df[df$resident==i,]
ggplot(dfgraph, aes(x= Month, y= level)) +
geom_jitter(colour= ifelse(df$phase == "post", 'springgreen4',
ifelse(df$phase == "pre", 'orange1', 'red3')),
size= 3, shape= 19, height=0.20, alpha = 0.6) +
theme_bw() +
labs(title="EPA Levels Over Time", x= "Date", y= "EPA Level") +
scale_x_date(labels= date_format("%m-%Y")) +
# main title
theme(plot.title = element_text(face= 'bold', size=18)) +
# x axis title
theme(axis.title.x = element_text(face= 'bold', size=14)) +
# y axis title
theme(axis.title.y = element_text(face= 'bold', size=14)) +
# x axis tick mark labels
theme(axis.text.x= element_text(hjust = 1, angle = 45, face= 'bold', size=10)) +
# y axis tick mark labels
theme(axis.text.y = element_text(face= 'bold', size=12)) +
facet_grid(~ epa) # show each epa
ggsave(filename = paste0(i, ".png"))
}