[R] ggplot adjust two y-axis
Charles-Édouard Giguère
ce@g|guere @end|ng |rom gm@||@com
Fri Nov 24 15:57:05 CET 2023
Hi,
I don't know the axis mecanism well enough in ggplot but using the original
barplot function you can add an axis on the right using the axis function.
Here is an example:
test <- as.table(matrix(c(2,10,3,11), 2,2))
barplot(test, beside = TRUE, col = scales::brewer_pal(palette = 1)(2))
axis(4, at = c(0, 5, 10), labels = c(0,50,100))
-----Message d'origine-----
De : sibylle.stoeckli using gmx.ch <sibylle.stoeckli using gmx.ch>
Envoyé : 24 novembre 2023 09:27
À : 'Charles-Édouard Giguère' <ce.giguere using gmail.com>; r-help using r-project.org
Objet : RE: [R] ggplot adjust two y-axis
Dear Charles-Edouard
Thanks a lot.
So no way in R to just simply have one ggplot with to axis as in Excel
(attachment)?
Kind regards
Sibylle
-----Original Message-----
From: Charles-Édouard Giguère <ce.giguere using gmail.com>
Sent: Friday, November 24, 2023 3:14 PM
To: sibylle.stoeckli using gmx.ch; r-help using r-project.org
Subject: RE: [R] ggplot adjust two y-axis
You could also use more simply facet_wrap(~ Studien_Flaeche).
Charles-Édouard
-----Message d'origine-----
De : Charles-Édouard Giguère <ce.giguere using gmail.com> Envoyé : 24 novembre
2023 09:11 À : sibylle.stoeckli using gmx.ch; r-help using r-project.org Objet : RE: [R]
ggplot adjust two y-axis
Hi Sibylle,
For that kind of data with two different scales, I generally use two graphs
that I name gg1 and gg2 and join them using gridExtra::grid.arrange(gg1,
gg2). This way, the red part of your graph is easier to interpret.
Have a nice day,
Charles-Édouard
-----Message d'origine-----
De : R-help <r-help-bounces using r-project.org> De la part de
sibylle.stoeckli using gmx.ch Envoyé : 24 novembre 2023 05:52 À :
r-help using r-project.org Objet : [R] ggplot adjust two y-axis
Dear R-users
Is it possible to adjust two y-axis in a ggplot differently?
- First y axis (0-60)
- Second y axis (0-2500)
### Figure 1
ggplot(Fig1,aes(BFF,Wert,fill=Studien_Flaeche))+
geom_bar(stat="identity",position='dodge')+
scale_y_continuous(name="First Axis", sec.axis=sec_axis(trans=~.*50,
name="Second Axis"))+
scale_fill_brewer(palette="Set1")
Thanks a lot
Sibylle
More information about the R-help
mailing list