绘制一个单一的geom_smooth曲线而不是多个曲线 [英] Plot a single geom_smooth curve instead of multiple

查看:644
本文介绍了绘制一个单一的geom_smooth曲线而不是多个曲线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在用不同颜色表示的3种不同类别的图形绘制。我想要一条曲线来表示总数据的趋势,但是当我使用geom_smooth时,我会得到3条曲线,每条曲线对应一条曲线。我的代码是:
$ b $ pre $ $ $ $ $ $ $ $ $ $ $ $ $ b $ ggplot(data = transfer_data,aes(x = DATE_OF_TRANSFER,y = NUMBER_OF_TRANSFERS,color = region))+ geom_point()+ geom_smooth()+ scale_colour_manual(values = c(green,blue,red,orange))


解决方案

有两种解决方法:
1)在geom_smooth层中覆盖颜色aestetic



 #绘制数据
ggplot(data = transfer_data,
mapping = aes(x = DATE_OF_TRANSFER,
y = NUM​​BER_OF_TRANSFERS,
color = region))+
geom_point()+
geom_smooth(color =black)+
scale_colour_manual(values = c(green, blue,red,orange))


2)移动颜色仅适用于需要它的图层

 #绘制数据
ggplot(data = transfer_data,
mapping = aes(x = DATE_OF_TRANSFER,
y = NUM​​BER_OF_TRANSFERS))+
geom_point(mapping = aes(color = region))+
geom_smooth()+
scale_colour_manual(values = c(green,blue,red ,orange))


I am plotting a graph with 3 different categories that are represented by different colours. I want one curve to represent the trend of the total data, but when I use geom_smooth I get 3 curves, one for each category. My code is:

#plot the data
ggplot(data=transfer_data, aes(x=DATE_OF_TRANSFER, y=NUMBER_OF_TRANSFERS, colour = region)) + geom_point() + geom_smooth() + scale_colour_manual(values=c("green", "blue", "red", "orange")) 

解决方案

There are two ways of solving this: 1) Override color aestetic in geom_smooth layer

   #plot the data
   ggplot(data=transfer_data, 
          mapping=aes(x=DATE_OF_TRANSFER, 
                      y=NUMBER_OF_TRANSFERS, 
                      colour = region)) + 
    geom_point() + 
    geom_smooth(color="black") + 
    scale_colour_manual(values=c("green", "blue", "red", "orange"))

or 2) Move color aestetic only to layer(s) that need it

   #plot the data
   ggplot(data=transfer_data, 
          mapping=aes(x=DATE_OF_TRANSFER, 
                      y=NUMBER_OF_TRANSFERS)) + 
    geom_point(mapping=aes(colour = region)) + 
    geom_smooth() + 
    scale_colour_manual(values=c("green", "blue", "red", "orange"))

这篇关于绘制一个单一的geom_smooth曲线而不是多个曲线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆