Comment puis-je définir l'origine / l'interception de l'axe des y et de l'axe des x dans ggplot2 ?
La ligne de l'axe des x devrait être exactement à y=Z
.
Avec Z=0
ou une autre valeur donnée.
Comment puis-je définir l'origine / l'interception de l'axe des y et de l'axe des x dans ggplot2 ?
La ligne de l'axe des x devrait être exactement à y=Z
.
Avec Z=0
ou une autre valeur donnée.
xlim
et ylim
n'y coupe pas. Vous devez utiliser expand_limits
, scale_x_continuous
y scale_y_continuous
. Essayez :
df <- data.frame(x = 1:5, y = 1:5)
p <- ggplot(df, aes(x, y)) + geom_point()
p <- p + expand_limits(x = 0, y = 0)
p # not what you are looking for
p + scale_x_continuous(expand = c(0, 0)) + scale_y_continuous(expand = c(0, 0))
Vous devrez peut-être ajuster un peu les choses pour vous assurer que les points ne sont pas coupés (voir, par exemple, le point à x = 5
et y = 5
.
Il suffit de les ajouter à votre ggplot :
+ scale_x_continuous(expand = c(0, 0), limits = c(0, NA)) +
scale_y_continuous(expand = c(0, 0), limits = c(0, NA))
df <- data.frame(x = 1:5, y = 1:5)
p <- ggplot(df, aes(x, y)) + geom_point()
p <- p + expand_limits(x = 0, y = 0)
p # not what you are looking for
p + scale_x_continuous(expand = c(0, 0), limits = c(0,NA)) +
scale_y_continuous(expand = c(0, 0), limits = c(0, NA))
Enfin, prendre grand veiller à ne pas exclure involontairement des données de votre graphique . Par exemple, un position = 'dodge'
peut faire en sorte qu'une barre soit complètement absente du graphique (par exemple, si sa valeur est nulle et que vous faites commencer l'axe à zéro), de sorte que vous ne la verrez peut-être pas et ne saurez peut-être même pas qu'elle est là. Je vous recommande de commencer par tracer les données dans leur intégralité, de les inspecter, puis d'utiliser l'astuce ci-dessus pour améliorer l'esthétique du graphique.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.