绘制一条 geom_smooth 曲线而不是多条曲线
Plot a single geom_smooth curve instead of multiple
我正在绘制一个图表,其中包含 3 个不同的类别,用不同的颜色表示。我想要一条曲线来表示总数据的趋势,但是当我使用 geom_smooth 时,我得到 3 条曲线,每个类别一条。我的代码是:
#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"))
有两种解决方法:
1) 覆盖 geom_smooth 层
中的颜色美学
#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"))
或
2) 仅将颜色美学移动到需要它的层
#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"))
你应该使用:
library(ggplot2)
ggplot(transfer_data, aes(DATE_OF_TRANSFER, NUMBER_OF_TRANSFERS)) +
geom_point(aes(color = region)) +
geom_smooth() +
scale_colour_manual(values = c("green", "blue", "red", "orange"))
- 当您指定:
ggplot(data=transfer_data, aes(x=DATE_OF_TRANSFER, y=NUMBER_OF_TRANSFERS, colour = region))
时,您要求 geom_point
和 geom_smooth
都应由 region
着色。
- 当指定:
geom_point(aes(color = region)) + geom_smooth()
时,您要求将点着色为区域,并且所有区域的平滑线都相同。
我正在绘制一个图表,其中包含 3 个不同的类别,用不同的颜色表示。我想要一条曲线来表示总数据的趋势,但是当我使用 geom_smooth 时,我得到 3 条曲线,每个类别一条。我的代码是:
#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"))
有两种解决方法: 1) 覆盖 geom_smooth 层
中的颜色美学 #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"))
或 2) 仅将颜色美学移动到需要它的层
#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"))
你应该使用:
library(ggplot2)
ggplot(transfer_data, aes(DATE_OF_TRANSFER, NUMBER_OF_TRANSFERS)) +
geom_point(aes(color = region)) +
geom_smooth() +
scale_colour_manual(values = c("green", "blue", "red", "orange"))
- 当您指定:
ggplot(data=transfer_data, aes(x=DATE_OF_TRANSFER, y=NUMBER_OF_TRANSFERS, colour = region))
时,您要求geom_point
和geom_smooth
都应由region
着色。 - 当指定:
geom_point(aes(color = region)) + geom_smooth()
时,您要求将点着色为区域,并且所有区域的平滑线都相同。