Ich möchte etwas Text (p-Werte für meine echten Daten) oben auf der Plot-Region hinzufügen. Hier ist ein Beispiel, und was ich versucht:Wie füge ich Text außerhalb der Plot-Region hinzu, wenn coord_cartesian verwendet wird?
Daten:
library(tidyverse)
set.seed(123)
plt <- iris
plt$Petal.Width <- plt$Petal.Width + rnorm(nrow(plt))
plt.text <- plt %>% group_by(Species) %>% summarise(label = max(Petal.Width))
ich reserviert sapce für die plt.text
auf der Oberseite der Platte, aber der Text ist nicht erschienen:
p <- ggplot(plt, aes(x= Species, y = Petal.Width)) +
geom_violin() +
geom_text(aes(x = Species, y = 4, label = label),
data = plt.text, vjust = 0) +
coord_cartesian(ylim = c(-2, 4), expand = 0) +
theme(plot.margin = margin(0.2, 0.05, 0.05, 0.05, 'npc'))
Nach this post, habe ich versucht:
gt <- ggplot_gtable(ggplot_build(p))
gt$layout$clip[gt$layout$name == "panel"] <- "off"
grid::grid.draw(gt)
Sie sehen können, obwohl der Text korrekt angezeigt wird, wird das trancated Violinstück auch in voller Höhe in dem oben Plot gezeigt. Wie kann ich den Text nur außerhalb der Plot-Region anzeigen und das Geigen-Plot weiterhin transkribieren lassen?
Sie nutzen könnten [ 'cowplot'] (https://cran.r-project.org/web/packages/ cowplot/vignettes/introduction.html) für Plot Annotationen. – Axeman