Re: [R] Improve my plot
Hi, Many thanks to all of you for your precious help. Best, Le mardi 21 septembre 2021, 00:12:02 UTC+2, Jim Lemon a écrit : Hi varin, Not too difficult: par(mar=c(5,13,4,1)) barplot(height=c(574,557,544,535,534,532,531,527,526,525,524,520,518, 512,507,504,504,489,488,488,487,484,484,474,472,455,444,420), names.arg=c("Fribourg(f)","Valais(d)", "Appenzell Rhodes Intérieures","Fribourg(d)","Jura","Schwyz", "Schaffhouse","Berne(f)","Thurgovie","Valais(f)","Argovie", "Appenzell Rhodes Extérieures","Genève","Zoug","Tessin", "Neuchâtel","Vaud","Uri","Nidwald","Berne(d)","Zurich","Obwald", "Saint-Gall","Soleure","Lucerne","Glaris","Bâle-Campagne","Bâle-Ville"), horiz=TRUE,col="deepskyblue2",las=2,xlim=c(0,650),font.axis=4) With regard to Bert's objection to barplots, you can do the same thing there. Jim On Tue, Sep 21, 2021 at 5:24 AM varin sacha via R-help wrote: > > Dear R-experts, > > Here below my R code. I would need your help to improve my graph/plot. > > - The x-axis to be longer not to stop at 500 value > - All the name on the y-axis to appear not only a few of them and the name > (Fribourg(f), Appenzell Rhodes Intérieures,...) to appear entire, not to be > cut > > Many thanks. > > ## > barplot(height=c(574,557,544,535,534,532,531,527,526,525,524,520,518,512,507,504,504,489,488,488,487,484,484,474,472,455,444,420),names.arg=c("Fribourg(f)","Valais(d)","Appenzell > Rhodes > Intérieures","Fribourg(d)","Jura","Schwyz","Schaffhouse","Berne(f)","Thurgovie","Valais(f)","Argovie","Appenzell > Rhodes > Extérieures","Genève","Zoug","Tessin","Neuchâtel","Vaud","Uri","Nidwald","Berne(d)","Zurich","Obwald","Saint-Gall","Soleure","Lucerne","Glaris","Bâle-Campagne","Bâle-Ville"),font.axis=4, > horiz=T,col="deepskyblue2",las=2) > ## > > > > > __ > R-help@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. __ R-help@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.
Re: [R] Improve my plot
Hi varin, Not too difficult: par(mar=c(5,13,4,1)) barplot(height=c(574,557,544,535,534,532,531,527,526,525,524,520,518, 512,507,504,504,489,488,488,487,484,484,474,472,455,444,420), names.arg=c("Fribourg(f)","Valais(d)", "Appenzell Rhodes Intérieures","Fribourg(d)","Jura","Schwyz", "Schaffhouse","Berne(f)","Thurgovie","Valais(f)","Argovie", "Appenzell Rhodes Extérieures","Genève","Zoug","Tessin", "Neuchâtel","Vaud","Uri","Nidwald","Berne(d)","Zurich","Obwald", "Saint-Gall","Soleure","Lucerne","Glaris","Bâle-Campagne","Bâle-Ville"), horiz=TRUE,col="deepskyblue2",las=2,xlim=c(0,650),font.axis=4) With regard to Bert's objection to barplots, you can do the same thing there. Jim On Tue, Sep 21, 2021 at 5:24 AM varin sacha via R-help wrote: > > Dear R-experts, > > Here below my R code. I would need your help to improve my graph/plot. > > - The x-axis to be longer not to stop at 500 value > - All the name on the y-axis to appear not only a few of them and the name > (Fribourg(f), Appenzell Rhodes Intérieures,...) to appear entire, not to be > cut > > Many thanks. > > ## > barplot(height=c(574,557,544,535,534,532,531,527,526,525,524,520,518,512,507,504,504,489,488,488,487,484,484,474,472,455,444,420),names.arg=c("Fribourg(f)","Valais(d)","Appenzell > Rhodes > Intérieures","Fribourg(d)","Jura","Schwyz","Schaffhouse","Berne(f)","Thurgovie","Valais(f)","Argovie","Appenzell > Rhodes > Extérieures","Genève","Zoug","Tessin","Neuchâtel","Vaud","Uri","Nidwald","Berne(d)","Zurich","Obwald","Saint-Gall","Soleure","Lucerne","Glaris","Bâle-Campagne","Bâle-Ville"),font.axis=4, > horiz=T,col="deepskyblue2",las=2) > ## > > > > > __ > R-help@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. __ R-help@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.
Re: [R] Improve my plot
Don't do this! Use a dotchart instead. See the Wikipedia article on dotplots or search. height=c(574,557,544,535,534,532,531,527,526,525,524,520,518,512,507,504,504,489,488,488,487,484,484,474,472,455,444,420) ## kudos for plotting the sorted results rather than alphabetically. nm <- c("Fribourg(f)","Valais(d)","Appenzell Rhodes Intérieures","Fribourg(d)","Jura","Schwyz","Schaffhouse","Berne(f)","Thurgovie","Valais(f)","Argovie","Appenzell Rhodes Extérieures","Genève","Zoug","Tessin","Neuchâtel","Vaud","Uri","Nidwald","Berne(d)","Zurich","Obwald","Saint-Gall","Soleure","Lucerne","Glaris","Bâle-Campagne","Bâle-Ville") dotchart(height, nm, col = "blue", main = "Dotcharts Rock") ?dotchart gives you the details and options. Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Mon, Sep 20, 2021 at 12:24 PM varin sacha via R-help wrote: > > Dear R-experts, > > Here below my R code. I would need your help to improve my graph/plot. > > - The x-axis to be longer not to stop at 500 value > - All the name on the y-axis to appear not only a few of them and the name > (Fribourg(f), Appenzell Rhodes Intérieures,...) to appear entire, not to be > cut > > Many thanks. > > ## > barplot(height=c(574,557,544,535,534,532,531,527,526,525,524,520,518,512,507,504,504,489,488,488,487,484,484,474,472,455,444,420),names.arg=c("Fribourg(f)","Valais(d)","Appenzell > Rhodes > Intérieures","Fribourg(d)","Jura","Schwyz","Schaffhouse","Berne(f)","Thurgovie","Valais(f)","Argovie","Appenzell > Rhodes > Extérieures","Genève","Zoug","Tessin","Neuchâtel","Vaud","Uri","Nidwald","Berne(d)","Zurich","Obwald","Saint-Gall","Soleure","Lucerne","Glaris","Bâle-Campagne","Bâle-Ville"),font.axis=4, > horiz=T,col="deepskyblue2",las=2) > ## > > > > > __ > R-help@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. __ R-help@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.
Re: [R] Improve my plot
Hi Rui, Many thanks but when I copy and paste your R code here below I get 2 error mesages : ## h <- c(574,557,544,535,534,532,531,527,526,525, 524,520,518,512,507,504,504,489,488,488, 487,484,484,474,472,455,444,420) nms <- c("Fribourg(f)","Valais(d)","Appenzell Rhodes Intérieures", "Fribourg(d)","Jura","Schwyz","Schaffhouse","Berne(f)", "Thurgovie","Valais(f)","Argovie","Appenzell Rhodes Extérieures", "Genève","Zoug","Tessin","Neuchâtel","Vaud","Uri","Nidwald", "Berne(d)","Zurich","Obwald","Saint-Gall","Soleure","Lucerne", "Glaris","Bâle-Campagne","Bâle-Ville") nms <- factor(nms, levels = nms) library(ggplot2) data.frame(height = h, names = nms) |> ggplot(aes(names, height)) + geom_col(fill = "deepskyblue2") + coord_flip() + theme_classic() + theme(axis.text.y = element_text(face = "italic")) ## Le lundi 20 septembre 2021, 21:54:31 UTC+2, Rui Barradas a écrit : Hello, With package ggplot2 this is easy. ggplot2 is meant to work with data in lists or data.frames, so I use the new pipe operator to pass the data on to ggplot(). h <- c(574,557,544,535,534,532,531,527,526,525, 524,520,518,512,507,504,504,489,488,488, 487,484,484,474,472,455,444,420) nms <- c("Fribourg(f)","Valais(d)","Appenzell Rhodes Intérieures", "Fribourg(d)","Jura","Schwyz","Schaffhouse","Berne(f)", "Thurgovie","Valais(f)","Argovie","Appenzell Rhodes Extérieures", "Genève","Zoug","Tessin","Neuchâtel","Vaud","Uri","Nidwald", "Berne(d)","Zurich","Obwald","Saint-Gall","Soleure","Lucerne", "Glaris","Bâle-Campagne","Bâle-Ville") nms <- factor(nms, levels = nms) library(ggplot2) data.frame(height = h, names = nms) |> ggplot(aes(names, height)) + geom_col(fill = "deepskyblue2") + coord_flip() + theme_classic() + theme(axis.text.y = element_text(face = "italic")) Hope this helps, Rui Barradas Às 20:24 de 20/09/21, varin sacha via R-help escreveu: > Dear R-experts, > > Here below my R code. I would need your help to improve my graph/plot. > > - The x-axis to be longer not to stop at 500 value > - All the name on the y-axis to appear not only a few of them and the name > (Fribourg(f), Appenzell Rhodes Intérieures,...) to appear entire, not to be > cut > > Many thanks. > > ## > barplot(height=c(574,557,544,535,534,532,531,527,526,525,524,520,518,512,507,504,504,489,488,488,487,484,484,474,472,455,444,420),names.arg=c("Fribourg(f)","Valais(d)","Appenzell > Rhodes > Intérieures","Fribourg(d)","Jura","Schwyz","Schaffhouse","Berne(f)","Thurgovie","Valais(f)","Argovie","Appenzell > Rhodes > Extérieures","Genève","Zoug","Tessin","Neuchâtel","Vaud","Uri","Nidwald","Berne(d)","Zurich","Obwald","Saint-Gall","Soleure","Lucerne","Glaris","Bâle-Campagne","Bâle-Ville"),font.axis=4, > horiz=T,col="deepskyblue2",las=2) > ## > > > > > __ > R-help@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. > __ R-help@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.
Re: [R] Improve my plot
Hello, With package ggplot2 this is easy. ggplot2 is meant to work with data in lists or data.frames, so I use the new pipe operator to pass the data on to ggplot(). h <- c(574,557,544,535,534,532,531,527,526,525, 524,520,518,512,507,504,504,489,488,488, 487,484,484,474,472,455,444,420) nms <- c("Fribourg(f)","Valais(d)","Appenzell Rhodes Intérieures", "Fribourg(d)","Jura","Schwyz","Schaffhouse","Berne(f)", "Thurgovie","Valais(f)","Argovie","Appenzell Rhodes Extérieures", "Genève","Zoug","Tessin","Neuchâtel","Vaud","Uri","Nidwald", "Berne(d)","Zurich","Obwald","Saint-Gall","Soleure","Lucerne", "Glaris","Bâle-Campagne","Bâle-Ville") nms <- factor(nms, levels = nms) library(ggplot2) data.frame(height = h, names = nms) |> ggplot(aes(names, height)) + geom_col(fill = "deepskyblue2") + coord_flip() + theme_classic() + theme(axis.text.y = element_text(face = "italic")) Hope this helps, Rui Barradas Às 20:24 de 20/09/21, varin sacha via R-help escreveu: Dear R-experts, Here below my R code. I would need your help to improve my graph/plot. - The x-axis to be longer not to stop at 500 value - All the name on the y-axis to appear not only a few of them and the name (Fribourg(f), Appenzell Rhodes Intérieures,...) to appear entire, not to be cut Many thanks. ## barplot(height=c(574,557,544,535,534,532,531,527,526,525,524,520,518,512,507,504,504,489,488,488,487,484,484,474,472,455,444,420),names.arg=c("Fribourg(f)","Valais(d)","Appenzell Rhodes Intérieures","Fribourg(d)","Jura","Schwyz","Schaffhouse","Berne(f)","Thurgovie","Valais(f)","Argovie","Appenzell Rhodes Extérieures","Genève","Zoug","Tessin","Neuchâtel","Vaud","Uri","Nidwald","Berne(d)","Zurich","Obwald","Saint-Gall","Soleure","Lucerne","Glaris","Bâle-Campagne","Bâle-Ville"),font.axis=4, horiz=T,col="deepskyblue2",las=2) ## __ R-help@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. __ R-help@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.
[R] Improve my plot
Dear R-experts, Here below my R code. I would need your help to improve my graph/plot. - The x-axis to be longer not to stop at 500 value - All the name on the y-axis to appear not only a few of them and the name (Fribourg(f), Appenzell Rhodes Intérieures,...) to appear entire, not to be cut Many thanks. ## barplot(height=c(574,557,544,535,534,532,531,527,526,525,524,520,518,512,507,504,504,489,488,488,487,484,484,474,472,455,444,420),names.arg=c("Fribourg(f)","Valais(d)","Appenzell Rhodes Intérieures","Fribourg(d)","Jura","Schwyz","Schaffhouse","Berne(f)","Thurgovie","Valais(f)","Argovie","Appenzell Rhodes Extérieures","Genève","Zoug","Tessin","Neuchâtel","Vaud","Uri","Nidwald","Berne(d)","Zurich","Obwald","Saint-Gall","Soleure","Lucerne","Glaris","Bâle-Campagne","Bâle-Ville"),font.axis=4, horiz=T,col="deepskyblue2",las=2) ## __ R-help@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.