R GGplot不会更改散点图的颜色,但会更改其他图的颜色
我有一个脚本,可以根据我的数据创建散点图和两个条形图。一切正常,只是当我试图改变散点图的颜色时,它不起作用,它们仍然是标准的颜色 我想从条形图中提取红色和灰色(分别为#f40009和#8e8f90)并用它们为散点图上色,但这不起作用 有人知道为什么会发生这种情况以及如何解决吗 散点图的代码如下所示:R GGplot不会更改散点图的颜色,但会更改其他图的颜色,r,ggplot2,R,Ggplot2,我有一个脚本,可以根据我的数据创建散点图和两个条形图。一切正常,只是当我试图改变散点图的颜色时,它不起作用,它们仍然是标准的颜色 我想从条形图中提取红色和灰色(分别为#f40009和#8e8f90)并用它们为散点图上色,但这不起作用 有人知道为什么会发生这种情况以及如何解决吗 散点图的代码如下所示: lof <- 2 days <- 3 plot2 <-ggplot( data3, aes( CE11000_ERLOS, Z_UCS))+ geom_point(aes(c
lof <- 2
days <- 3
plot2 <-ggplot( data3, aes( CE11000_ERLOS, Z_UCS))+
geom_point(aes(colour=ifelse( data3$LOF>lof & data3$Z_LAST_DAYS<days & data3$CE11000_ERLOS>100,"#8e8f90","#f40009")), size = 3)+
labs(list(y = "Unit cases", x = "Gross sales revenue"))+
ggtitle(bquote(atop(.("Visualization of Outliers"), atop(italic(.(country)), ""))))+
scale_colour_discrete(guide = guide_legend(title = NULL), labels = c("Outliers", "Not outliers"))+
theme(plot.title = element_text(hjust = 0.5))+
geom_text(aes(label = ifelse( data3$LOF>lof & data3$Z_LAST_DAYS<days,paste( data3$Z_CDOW, data3$CE11000_BUDAT2,sep = "\n "),""),hjust=1.05,vjust=1), size = 3.5)+
scale_y_continuous(labels = comma)+
scale_x_continuous(labels = comma)
print(plot2)
这就是这一行的结果
geom_point(aes(颜色=ifelse(数据3$LOF>LOF和数据3$Z_最后一天100,“#8e8f90”,“#f40009”)),尺寸=3)
将颜色语句中的颜色级别映射到(默认)颜色,方法是将它们放入aes
调用中
如果您将您的颜色声明从aes
呼叫中删除,您应该获得实际的颜色
比较例如:
不是粉红色的:
ggplot(iris, aes(Sepal.Width, Sepal.Length)) +
geom_point(aes(colour="pink"))
粉红色:
或者,在您的情况下:
geom_point(colour=ifelse( data3$LOF>lof & data3$Z_LAST_DAYS<days & data3$CE11000_ERLOS>100,"#8e8f90","#f40009"), size = 3)
geom_点(颜色=ifelse(数据3$LOF>LOF和数据3$Z_最后一天100,“#8e8f90”,“#f40009”),尺寸=3)
或者,您可以根据@Adam Quek在这行中的注释,使用scale\u color\u manual
更改默认颜色。
geom_point(aes(颜色=ifelse(数据3$LOF>LOF和数据3$Z_最后一天100,“#8e8f90”,“#f40009”)),尺寸=3)
将颜色语句中的颜色级别映射到(默认)颜色,方法是将它们放入aes
调用中
如果您将您的颜色声明从aes
呼叫中删除,您应该获得实际的颜色
比较例如:
不是粉红色的:
ggplot(iris, aes(Sepal.Width, Sepal.Length)) +
geom_point(aes(colour="pink"))
粉红色:
或者,在您的情况下:
geom_point(colour=ifelse( data3$LOF>lof & data3$Z_LAST_DAYS<days & data3$CE11000_ERLOS>100,"#8e8f90","#f40009"), size = 3)
geom_点(颜色=ifelse(数据3$LOF>LOF和数据3$Z_最后一天100,“#8e8f90”,“#f40009”),尺寸=3)
或者,您可以根据@Adam Quek的评论,使用
scale\u color\u手册更改默认颜色。示例代码更改ggplot2中的默认颜色
data <- iris[iris$Species == "setosa" | iris$Species == "virginica", c(1:2,5)]
levels(data$Species)
droplevels(data$Species)
data
plot <- ggplot(data, aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point(aes(color = Species))
您可以添加scale\u color\u manual()
以更改默认颜色
plot + scale_color_manual(
values=c("setosa" = "darkgrey","virginica" = "red"))
更改ggplot2中默认颜色的示例代码
data <- iris[iris$Species == "setosa" | iris$Species == "virginica", c(1:2,5)]
levels(data$Species)
droplevels(data$Species)
data
plot <- ggplot(data, aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point(aes(color = Species))
您可以添加scale\u color\u manual()
以更改默认颜色
plot + scale_color_manual(
values=c("setosa" = "darkgrey","virginica" = "red"))
请提供一个可复制的示例和您迄今为止尝试过的代码。@AdamQuek您好,请查看我的编辑。将此添加到您的ggplot:scale\u colour\u手册(values=c(“#8e8f90”),“#f40009”)
请提供一个可复制的示例和您迄今为止尝试过的代码。@AdamQuek您好,请查看我的编辑。将此添加到ggplot:scale\u color\u手册(值=c(“#8e8f90”),“#f40009”)
好的!这起作用了。谢谢你的解释和帮助,谢谢你的朋友!我一直在寻找这个,但在使用条件语句时没有得到任何正确的方法。正是我想要的。谢谢!好吧这起作用了。谢谢你的解释和帮助,谢谢你的朋友!我一直在寻找这个,但在使用条件语句时没有得到任何正确的方法。正是我想要的。谢谢!