Eu tenho abaixo histogra refletindo sobre ggplot
library(ggplot2)
n = 1000
mean = 0
sd = 1
binwidth = 0.3 # passed to geom_histogram and stat_function
set.seed(1)
df <- data.frame(x = rnorm(n, mean, sd))
myplot = ggplot(df, aes(x = x, mean = mean, sd = sd, binwidth = binwidth, n = n)) +
theme_bw() +
geom_histogram(binwidth = binwidth,
colour = "white", fill = "cornflowerblue", size = 0.1)
Agora quero adicionar um rótulo personalizado na área superior central, mas deve haver alguma margem, digamos 10 pontos na parte superior do meu rótulo. Eu tentei abaixo
myplot+
geom_label(aes(x = mean((df$x)), y = 100), label = 'Plot with y', label.padding = unit(.7, 'lines'), fill = '#000000', color = '#ffffff', alpha = 0.2)
Existe alguma maneira de definir dinamicamente (com base apenas em dados, sem qualquer codificação) y = 100
para manter o rótulo no topo com margem de 10 pontos?
Uma opção para colocar sua etiqueta no topo da área de plotagem e ter alguma margem seria usar
annotation_custom
o que requer a adição de sua etiqueta por meio de um grob. Para este último eu usogridtext::richtext_grob
(poisgrid
não fornecelabelGrob
eggplot2
não exporta):EDIT Se você não conseguir instalar nenhum pacote não padrão (por exemplo
gridtext
), uma opção seria usar o não exportadolabelGrob
deggplot2
using:::
: