Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R GGplot不会更改散点图的颜色,但会更改其他图的颜色_R_Ggplot2 - Fatal编程技术网

R GGplot不会更改散点图的颜色,但会更改其他图的颜色

R GGplot不会更改散点图的颜色,但会更改其他图的颜色,r,ggplot2,R,Ggplot2,我有一个脚本,可以根据我的数据创建散点图和两个条形图。一切正常,只是当我试图改变散点图的颜色时,它不起作用,它们仍然是标准的颜色 我想从条形图中提取红色和灰色(分别为#f40009和#8e8f90)并用它们为散点图上色,但这不起作用 有人知道为什么会发生这种情况以及如何解决吗 散点图的代码如下所示: lof <- 2 days <- 3 plot2 <-ggplot( data3, aes( CE11000_ERLOS, Z_UCS))+ geom_point(aes(c

我有一个脚本,可以根据我的数据创建散点图和两个条形图。一切正常,只是当我试图改变散点图的颜色时,它不起作用,它们仍然是标准的颜色

我想从条形图中提取红色和灰色(分别为#f40009和#8e8f90)并用它们为散点图上色,但这不起作用

有人知道为什么会发生这种情况以及如何解决吗

散点图的代码如下所示:

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”)
好的!这起作用了。谢谢你的解释和帮助,谢谢你的朋友!我一直在寻找这个,但在使用条件语句时没有得到任何正确的方法。正是我想要的。谢谢!好吧这起作用了。谢谢你的解释和帮助,谢谢你的朋友!我一直在寻找这个,但在使用条件语句时没有得到任何正确的方法。正是我想要的。谢谢!