基于ID拆分绘图:ggplot2按VarC着色、VarD设置点形状
解决方案
你只需要在ggplot()的aes()映射里添加color = VarC和shape = VarD参数,就能实现按VarC着色、按VarD设置点形状的需求,同时保留按ID拆分生成独立绘图的逻辑。修改后的完整代码如下:
plot_list <- lapply(split(data.df, data.df$ID), function(x) { ggplot(x, aes(x = VarA, y = VarB, color = VarC, shape = VarD)) + geom_point() + theme_bw() })
补充说明
color = VarC:让点的颜色根据VarC的两个因子水平自动区分,ggplot会默认生成对应图例shape = VarD:让点的形状根据VarD的两个因子水平自动设置,同样会生成对应图例- 由于VarC和VarD都是2水平的因子,ggplot会自动分配两种颜色和两种不同的点形状,无需额外手动指定
内容的提问来源于stack exchange,提问作者alex
相关产品推荐
相关产品推荐

