R 反转彩色区域几何区域

R 反转彩色区域几何区域,r,ggplot2,R,Ggplot2,我相信解决这个问题很容易 我正在尝试使用ggplot2填充从“mydata”绘制的线下方的区域 下面是一个例子: a = seq(10, 100, 5) b = -(runif(19, 0, 50)) mydata <- data.frame(a, b) ggplot(data = mydata, aes(x = a, y = b)) + geom_area() 我的结果是: 我想给“山”的另一个区域上色你可以尝试制作一个向量来定义一个新区域 qq = rep(-60, len

我相信解决这个问题很容易

我正在尝试使用
ggplot2
填充从“mydata”绘制的线下方的区域

下面是一个例子:

a = seq(10, 100, 5)
b = -(runif(19, 0, 50))
mydata <- data.frame(a, b)

ggplot(data = mydata, aes(x = a, y = b)) +
  geom_area()
我的结果是:


我想给“山”的另一个区域上色

你可以尝试制作一个向量来定义一个新区域

qq = rep(-60, length(b))
ggplot(data=mydata, aes(x = a, y = b))+
 geom_area(data=data.frame(qq), aes(y=qq), fill='red', alpha=0.5) +
 geom_area(aes(y=b), col='black') 
产生

您可以使用
填充
主题
来获得不同的选项集(您想要的输出不太清楚)

产生


您可以尝试创建一个向量来定义一个新区域

qq = rep(-60, length(b))
ggplot(data=mydata, aes(x = a, y = b))+
 geom_area(data=data.frame(qq), aes(y=qq), fill='red', alpha=0.5) +
 geom_area(aes(y=b), col='black') 
产生

您可以使用
填充
主题
来获得不同的选项集(您想要的输出不太清楚)

产生


您可以使用
geom_ribbon
进行此操作
geom_area
geom_ribbon
的特例,其中
ymin
设置为0。相反,将
ymin
设置为y值的最小值,即
ymin=min(b)
。或者,如果您需要一些额外的空间,您可以执行
ymin=min(b)-2
或类似的操作

库(tidyverse)
a=序号(10100,5)
b=-(runif(19,0,50))

mydata您可以使用
geom_ribbon
进行此操作
geom_area
geom_ribbon
的特例,其中
ymin
设置为0。相反,将
ymin
设置为y值的最小值,即
ymin=min(b)
。或者,如果您需要一些额外的空间,您可以执行
ymin=min(b)-2
或类似的操作

库(tidyverse)
a=序号(10100,5)
b=-(runif(19,0,50))

我的数据你想在线条上下填充,还是只在线条下填充?@camille,我只想在线条下填充你想在线条上下填充,还是只想在线条下填充?@camille,我只想在线条下填充这是一个不错的选择,但不幸的是,在我的情况下,这并不方便,因为这个区域不是我必须绘制的唯一数据,而且这种方式将涵盖所有内容。我的问题与此类似:@LucaStirnimann我们肯定可以解决它,但如果
这个区域不是我必须绘制的唯一数据
,如果能对预期的输出有一个更明确的概念,那就太好了。该链接显示了一个几乎与此处发布的答案相同的图表(您只需添加轴并调整一些内容)。请至少提供预期绘图的图纸这是一个不错的选择,但不幸的是,在我的情况下,这并不方便,因为该区域不是我必须绘制的唯一数据,我的问题与此类似:@LucaStirnimann我们肯定能解决它,但如果
这个区域不是我必须绘制的唯一数据,
,对预期输出有一个更明确的概念会非常好。该链接显示了一个几乎与此处发布的答案相同的图表(您只需添加轴并调整一些内容)。请至少提供预期地块的图纸
ggplot(data=mydata, aes(x = a, y = b))+
   geom_area(data=data.frame(qq), aes(y=qq),fill='red', alpha=0.5) +
   geom_area(aes(y=b), fill='white') + theme_void()