直观地说,我正在寻找类似:facet_(scales="free_color")
我喜欢
p <- ggplot(mpg, aes(year, displ, color=model)) + facet_wrap(~manufacturer)
p + geom_jitter()
即:绘制属于不同物种(model
)的个体(manufacturer
)的2d测量结果,由物种刻面,以颜色表示个体。
问题是所有人都拥有相同的颜色范围 - 因此刻面中的点具有非常相似的颜色。
使用geom_line的group美学可以解决问题,但是线条说明的不同于点。
另一个明显的解决方案是删除刻面并为每个子集绘制单独的绘图。 (如果这应该是唯一的解决方案:是否有任何快速,智能或经过验证的方法可以做到这一点?)
答案 0 :(得分:5)
当你用一个因素着色时,我不确定这是一个可用的选项。但是,生成单个图的快速方法是这样的:
d_ply(mpg, .(manufacturer), function(df) {
jpeg(paste(df$manufacturer[[1]], ".jpeg", sep=""))
plots <- ggplot(df, aes(year, displ, color=factor(model))) + geom_jitter()
print(plots)
dev.off()
})
相关答案: Different legends and fill colours for facetted ggplot?
答案 1 :(得分:4)
我认为你只想逐个颜色,每个制造商制作几个模型,每个模型每个只有一个或两个:
p <- ggplot(mpg, aes(year, displ, color=class)) + facet_wrap(~ manufacturer)
p + geom_jitter()