Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.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 在不更改打印限制或设置的情况下注释打印边缘;扩大;到0_R_Ggplot2 - Fatal编程技术网

R 在不更改打印限制或设置的情况下注释打印边缘;扩大;到0

R 在不更改打印限制或设置的情况下注释打印边缘;扩大;到0,r,ggplot2,R,Ggplot2,我有一个ggplot对象。我想使用annotate()将标签添加到绘图顶部,以便标签的上边缘也是绘图的上边缘。使用默认设置时,这似乎是不可能的:在绘图的上边缘添加注释会导致y轴上限增加 创建绘图时,可以通过指定scale\u y\u continuous(expand=c(0,0))来解决此问题。但我不想这样做,部分原因是我喜欢默认的expand设置创建的y限制。鉴于此限制,是否可以使用annotate()将标签定位在绘图顶部 下面是一个演示问题的简单示例: library(ggplot2) p

我有一个ggplot对象。我想使用
annotate()
将标签添加到绘图顶部,以便标签的上边缘也是绘图的上边缘。使用默认设置时,这似乎是不可能的:在绘图的上边缘添加注释会导致y轴上限增加

创建绘图时,可以通过指定
scale\u y\u continuous(expand=c(0,0))
来解决此问题。但我不想这样做,部分原因是我喜欢默认的
expand
设置创建的y限制。鉴于此限制,是否可以使用
annotate()
将标签定位在绘图顶部

下面是一个演示问题的简单示例:

library(ggplot2)
p    <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
yMax <- layer_scales(p)$y$range$range[2]  # upper y-limit
p + annotate("label", x = 30, y = yMax, vjust = "top", label = "X")
库(ggplot2)

p一个简单的解决方案是设置
y=Inf
,而不是使用y轴的最大值(
yMax
)。代码是这样的:

# load library
library(ggplot2)
# load data
data(mtcars)
# define plot
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p + annotate("label", x = 30, y = Inf, vjust = "top", label = "X")
#加载库
图书馆(GG2)
#加载数据
数据(mtcars)
#定义绘图

p一个简单的解决方案是设置
y=Inf
,而不是使用y轴的最大值(
yMax
)。代码是这样的:

# load library
library(ggplot2)
# load data
data(mtcars)
# define plot
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p + annotate("label", x = 30, y = Inf, vjust = "top", label = "X")
#加载库
图书馆(GG2)
#加载数据
数据(mtcars)
#定义绘图
这有帮助吗

library(ggplot2)

data(mtcars)

ggplot(mtcars, aes(mpg, wt)) +
  geom_point() +
  geom_text(label = "X", x = 30, y = max(mtcars$wt))
这有用吗

library(ggplot2)

data(mtcars)

ggplot(mtcars, aes(mpg, wt)) +
  geom_point() +
  geom_text(label = "X", x = 30, y = max(mtcars$wt))

谢谢,但这不太对。如果运行代码,您将看到以这种方式放置标签会增加绘图的y上限。因此,标签没有放在绘图的顶部。谢谢,但它不太正确。如果运行代码,您将看到以这种方式放置标签会增加绘图的y上限。因此,标签不会位于绘图的顶部。谢谢。我不知道
Inf
可以用来阻止我在帖子中描述的绘图扩展行为。谢谢。我不知道
Inf
可以用来阻止我在帖子中描述的绘图扩展行为。