我試圖避免底部注釋被剪裁。被砍掉的是“p”上的下降器。我在 vjust 上使用了“向內”選項。
df <- data.frame(x=c(as.Date("2020-01-01"),as.Date("2022-01-01"))
,y=c(0,1))
df
ggplot(df)
geom_point(mapping=aes(x=x,y=y))
annotate("text",x=mean(df$x),y=-Inf,label="Clipped",hjust=0.5,vjust="inward",size=12,colour="red")
annotate("text",x=mean(df$x),y=Inf,label="Not Clipped",hjust=0.5,vjust="inward",size=12,colour="blue")
uj5u.com熱心網友回復:
一種可能的方法是使用min
和max
y 值:
library(tidyverse)
df <- data.frame(
x = c(as.Date("2020-01-01"), as.Date("2022-01-01")),
y = c(0, 1)
)
ggplot(df)
geom_point(aes(x, y))
annotate("text", x = mean(df$x), y = min(df$y), label = "Clipped", hjust = 0.5, vjust = "inward", size = 12, colour = "red")
annotate("text", x = mean(df$x), y = max(df$y), label = "Not Clipped", hjust = 0.5, vjust = "inward", size = 12, colour = "blue")
由
一種可能的解決方法是切換到ggtext::GeomRichtext
:
library(ggplot2)
library(ggtext)
ggplot(df)
geom_point(mapping = aes(x = x, y = y))
annotate(ggtext::GeomRichtext, x = mean(df$x), y = -Inf, label = "Clipped",
hjust = 0.5, vjust = "inward", size = 12, colour = "red",
label.size = 0, fill = NA, label.padding = unit(0, "lines"))
annotate(ggtext::GeomRichtext, x = mean(df$x), y = Inf, label = "Not Clipped",
hjust = 0.5, vjust = "inward", size = 12, colour = "blue",
label.size = 0, fill = NA, label.padding = unit(0, "lines"))
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/498300.html