Je souhaite dupliquer l'axe Y gauche sur un tracé ggplot2 sur le côté droit, puis modifier les graduations pour un axe discret (catégoriel).Duplication (et modification) d'un axe discret dans ggplot2
J'ai lu la réponse à this question, mais comme on le voit on the package's repo page, la fonction switch_axis_position()
a été retiré de l'emballage cowplot
(l'auteur cité (fonctionnalité native à venir?) Dans ggplot2).
J'ai vu la page reference sur les axes secondaires dans ggplot2, mais tous les exemples dans ce document utilisent scale_y_continuous
plutôt que scale_y_discrete
. Et, en effet, lorsque je tente d'utiliser la fonction discrète, je reçois l'erreur:
Error in discrete_scale(c("y", "ymin", "ymax", "yend"), "position_d", :
unused argument (sec.axis = <environment>)
Y at-il de toute façon de le faire avec ggplot2? Même une solution complètement piratée suffira pour moi. Merci d'avance. (MREs ci-dessous)
library(ggplot2)
# Working continuous plot with 2 axes
ggplot(mtcars, aes(cyl, mpg)) +
geom_point() +
scale_y_continuous(sec.axis = sec_axis(~.+10))
# Working discrete plot with 1 axis
ggplot(mtcars, aes(cyl, as.factor(mpg))) +
geom_point()
# Broken discrete plot with 2 axes
ggplot(mtcars, aes(cyl, as.factor(mpg))) +
geom_point() +
scale_y_discrete(sec.axis = sec_axis(~.+10))
regardant la source de 'scale_y_discrete' il n'y a pas d'option/l'argument pour spécifier l'axe secondaire. Donc, toute solution devra probablement être un hack. – SymbolixAU