Dire que j'ai un terrain comme celui-ci:ggplot: lignes clipping entre facettes
# Load libraries
library(ggplot2)
library(grid)
# Load data
data(mtcars)
# Plot results
p <- ggplot(data = mtcars)
p <- p + geom_bar(aes(cyl))
p <- p + coord_flip()
p <- p + facet_wrap(~am)
print(p)
Maintenant, je veux tracer des lignes tout le chemin à travers les deux facettes où les barres sont. J'ajoute ceci:
p <- p + geom_vline(aes(xintercept = cyl))
qui ajoute les lignes, mais ils ne se croisent pas les deux facettes. Alors, je tente de désactiver le découpage en utilisant cette solution:
# Turn off clipping
gt <- ggplot_gtable(ggplot_build(p))
gt$layout$clip[gt$layout$name == "panel"] <- "off"
# Plot results
grid.draw(gt)
mais cela ne résout pas le problème: les lignes sont toujours coupées. Donc, je me demandais si cela est spécifique à geom_vline
et essayé des approches avec geom_abline
et geom_line
(ce dernier avec des valeurs à travers ± Inf), mais les résultats sont les mêmes. Dans d'autres publications, la solution d'écrêtage semble fonctionner pour le texte et les points, mais il est probable que dans ce cas les lignes ne sont définies que dans les limites de la figure. (J'ai même essayé gt$layout$clip <- "off"
pour désactiver tout écrêtage possible, mais cela n'a pas résolu le problème.) Y at-il une solution de contournement?
Est-ce que [cette réponse] (https://stackoverflow.com/a/31691313/496488) fait ce dont vous avez besoin? – eipi10
Il ressemble certainement à ça. Merci! Apparemment, j'ai particulièrement faible Google Fu aujourd'hui ... – Lyngbakr
En fait, ce code ne semble pas fonctionner pour moi (ou pour une autre personne qui a posté il ya quelques heures). Quelqu'un d'autre peut-il le faire fonctionner avec succès? – Lyngbakr