[R] ggplot adjust two y-axis

John Kane jrkr|de@u @end|ng |rom gm@||@com
Fri Nov 24 19:10:13 CET 2023


https://r-graph-gallery.com/line-chart-dual-Y-axis-ggplot2.html

On Fri, 24 Nov 2023 at 12:08, Charles-Édouard Giguère <ce.giguere using gmail.com>
wrote:

> Hi,
> Just find a scaling factor that would make the two sets of data comparable.
> Here I divided the second row by 5 and did the same for the second axis.
> Charles-Édouard
> F1 <- as.table(matrix(c(50,11,6,17,16,3,1,2237,611,403,240,280,0,0), 2,7))
> barplot(F1, beside = TRUE, col = c("blue", "grey")) axis(2,
> at=c(0,10,20,30,40,50,60, labels=c(0,10,20,30,40,50,60))) axis(4, at =
> c(0,500,1000,1500,2000,2500), labels =
> c(0,500,1000,1500,2000,2500))
>
> -----Message d'origine-----
> De : sibylle.stoeckli using gmx.ch <sibylle.stoeckli using gmx.ch>
> Envoyé : 24 novembre 2023 11: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. Yes indeed barplot sounds excellent.
>
> Unfortunately, the scale of the smaller axis is fixed, even If I am able to
> draw to axes. The idea is to expand the scale to the scale to the second
> axis for comparison.
> F1 <- as.table(matrix(c(50,11,6,17,16,3,1,2237,611,403,240,280,0,0), 2,7))
> barplot(F1, beside = TRUE, col = c("blue", "grey")) axis(2,
> at=c(0,10,20,30,40,50,60, labels=c(0,10,20,30,40,50,60))) axis(4, at =
> c(0,500,1000,1500,2000,2500), labels =
> c(0,500,1000,1500,2000,2500))
>
> Kind regards
> Sibylle
>
>
> -----Original Message-----
> From: Charles-Édouard Giguère <ce.giguere using gmail.com>
> Sent: Friday, November 24, 2023 3:57 PM
> To: sibylle.stoeckli using gmx.ch; r-help using r-project.org
> Subject: RE: [R] ggplot adjust two y-axis
>
> 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
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>


-- 
John Kane
Kingston ON Canada

	[[alternative HTML version deleted]]



More information about the R-help mailing list