方面和scale_color_manual

问题描述

使用命令scale_color_manual,您可以手动更改绘图的颜色。

dataPlot <- ggplot(df,aes(x=x,y=y)+
  geom_point(aes(shape=z))+
  scale_color_manual(values=c("#636363","#de2d26","#636363","#636363"))

有没有一种方法可以手动更改每个构面使用的颜色?因此,例如,如果我的多面变量为variable,那么如何设置scale_color_manual以便为每个小面的每组x设置颜色?

dataPlot <- ggplot(df,y=y)+
  geom_point(aes(shape=z))+
  facet_grid(~variable)+
  scale_color_manual(values=c("#636363","#636363"))

谢谢!

解决方法

如果您要为每个构面使用不同的单色,则可以有效地在构面和着色之间进行重复:为构面color=使用相同的变量。

library(ggplot2)
ggplot(mtcars,aes(mpg,disp)) +
  geom_point(aes(shape = factor(gear),color = factor(cyl))) +
  facet_grid(~ cyl) +
  scale_color_manual(values = c("red","green4","blue"))

ggplot2 with redundant facets/colors

如果您要为每个方面要求不同的颜色比例,那就是不同的故事了,我相信基本ggplot2不可能实现。有三个相关的扩展,目前尚未测试,但它们都声称支持此扩展。没有特别的顺序:

  • ggnewscaleCRANGH
  • ggh4xGH
  • relayerGH

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...