如何使用 R 在散点图中的线条之间添加不同的背景颜色?
How to add different background colors between lines in a scatter plot using R?
我想用R画这样的散点图:
这是一个散点图。上面有三行。在第一行 (x=(3,0), y=(0,2)) 下,我希望背景颜色为浅红色。红色位于第一行和第二行之间 (x=(4,0),y=(0,4))。然后暗红色在第二行和第三行之间(x=(8,0),y=(0,5)).
假设散点数据是:
a=data.frame(x=c(1,2,3,4,5,6,7,8,9,10),
y=c(1,4,2,6,4,8,2,5,1,7))
我怎样才能做到这一点?
使用 geom_point
作为散点数据,使用 geom_polygon
绘制和填充区域。
geom_polygon
连接x-y点,起点和终点相连,内部填充颜色(more details here)
在下面的示例中,所有多边形都从 0,0 开始
pol.3 = data.frame(x=c(0,8,0), y=c(0,0,5))
pol.2 = data.frame(x=c(0,4,0), y=c(0,0,4))
pol.1 = data.frame(x=c(0,3,0), y=c(0,0,2))
ggplot(a) +
geom_polygon(data=pol.3, aes(x=x, y=y), fill = "blue") +
geom_polygon(data=pol.2, aes(x=x, y=y), fill = "green") +
geom_polygon(data=pol.1, aes(x=x, y=y), fill = "red") +
geom_point(aes(x=x, y=y))
如果您不希望多边形重叠,请使用以下数据
pol.3 = data.frame(x=c(4,8,0,0), y=c(0,0,5,4))
pol.2 = data.frame(x=c(3,4,0, 0), y=c(0,0,4,2))
pol.1 = data.frame(x=c(0,3,0), y=c(0,0,2))
结果将相同但没有重叠,因此您可以使用 alpha
调整填充颜色
我想用R画这样的散点图:
这是一个散点图。上面有三行。在第一行 (x=(3,0), y=(0,2)) 下,我希望背景颜色为浅红色。红色位于第一行和第二行之间 (x=(4,0),y=(0,4))。然后暗红色在第二行和第三行之间(x=(8,0),y=(0,5)).
假设散点数据是:
a=data.frame(x=c(1,2,3,4,5,6,7,8,9,10),
y=c(1,4,2,6,4,8,2,5,1,7))
我怎样才能做到这一点?
使用 geom_point
作为散点数据,使用 geom_polygon
绘制和填充区域。
geom_polygon
连接x-y点,起点和终点相连,内部填充颜色(more details here)
在下面的示例中,所有多边形都从 0,0 开始
pol.3 = data.frame(x=c(0,8,0), y=c(0,0,5))
pol.2 = data.frame(x=c(0,4,0), y=c(0,0,4))
pol.1 = data.frame(x=c(0,3,0), y=c(0,0,2))
ggplot(a) +
geom_polygon(data=pol.3, aes(x=x, y=y), fill = "blue") +
geom_polygon(data=pol.2, aes(x=x, y=y), fill = "green") +
geom_polygon(data=pol.1, aes(x=x, y=y), fill = "red") +
geom_point(aes(x=x, y=y))
如果您不希望多边形重叠,请使用以下数据
pol.3 = data.frame(x=c(4,8,0,0), y=c(0,0,5,4))
pol.2 = data.frame(x=c(3,4,0, 0), y=c(0,0,4,2))
pol.1 = data.frame(x=c(0,3,0), y=c(0,0,2))
结果将相同但没有重叠,因此您可以使用 alpha
调整填充颜色