gpt4 book ai didi

r - 如何在ggplot2的顶部面板边框添加线条

转载 作者:行者123 更新时间:2023-12-04 00:34:02 29 4
gpt4 key购买 nike

我希望能够以编程方式为我的情节的最顶部分配一条绿线。

下面我在一个例子中演示了我想要什么,除了线在最底部,而不是顶部。理想情况下,我会在 theme 中完成此操作以类似的方式。

我试图用 panel.border 自己完成顶线但它需要一个 element_rect作为参数意味着情节的另一边也将获得绿线。

虽然最好使用 theme , 我愿意使用 geom_hline或其他任何东西。尝试使用 geom_hline 实现解决方案时我在确定 ggplot 计算的 y 轴的最大值时遇到了麻烦,以便将线干净地放在同一位置,而不管从绘图到绘图的比例如何变化。使用我的真实数据,y 轴的刻度变化很大,并且从绘图到绘图具有不同的测量单位。

 library(tidyverse)
data(mtcars)

mtcars %>%
ggplot(aes(x= mpg, y= disp)) +
geom_point() +
theme(axis.line.x= element_line("green", size= 2))

greenline

最佳答案

您可以使用 annotate 完成此操作并巧妙使用 Inf值。请注意,因为 annotate正在绘图内部而不是在绘图外部的轴线上绘制,您需要一条双倍粗细的线来匹配您对 theme 所做的操作. Inf的使用values 保证该线将被放置在图的顶部,而不管其单位的比例。

library(tidyverse)
data(mtcars)

mtcars %>%
ggplot(aes(x= mpg, y= disp)) +
geom_point() +
annotate(geom = 'segment', y = Inf, yend = Inf, color = 'green', x = -Inf, xend = Inf, size = 4) +
theme(axis.line.x= element_line("green", size= 2))

enter image description here

此外,您可以将调用保存到 annotate在一个变量中,如果您想以编程方式分配线,则稍后只需将其添加到图中。

关于r - 如何在ggplot2的顶部面板边框添加线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46256851/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com