{"id":3314,"date":"2017-05-04T20:01:41","date_gmt":"2017-05-04T19:01:41","guid":{"rendered":"https:\/\/abcdr.guyader.pro\/?p=3314"},"modified":"2018-04-08T00:02:38","modified_gmt":"2018-04-07T23:02:38","slug":"comment-se-construit-un-graphique-avec-ggplot2","status":"publish","type":"post","link":"https:\/\/thinkr.fr\/abcdr\/comment-se-construit-un-graphique-avec-ggplot2\/","title":{"rendered":"Comment se construit un graphique avec ggplot2 ?"},"content":{"rendered":"<p>Package de dataviz du tidyverse, ggplot2 est l\u2019<strong>incontournable R pour la visualisation de donn\u00e9es<\/strong>. La force de ce module ? ggplot2 repose sur une \u00ab\u00a0grammaire graphique\u00a0\u00bb. Pour plus d\u2019infos sur cette philosophie, rendez-vous sur les liens en bas de page.<\/p>\n<p>Construisons pas \u00e0 pas un ggplot.<\/p>\n<p><strong>1. Installation<\/strong><\/p>\n<pre><code>install.packages(\"ggplot2\")<br \/>#Ou pour la version en d\u00e9veloppement :<br \/>devtools::install_github(\"tidyverse\/ggplot2\")<\/code><\/pre>\n<p><strong>2. Ouverture<\/strong><\/p>\n<pre><code>library(\"ggplot2\")<\/code><\/pre>\n<p><strong>3. Couche 1 : \u00ab\u00a0data &amp; aesthetics\u00a0\u00bb<\/strong><\/p>\n<p>Avec cette premi\u00e8re ligne, il s&rsquo;agit tout simplement d&rsquo;indiquer l&rsquo;objet contenant le jeu de donn\u00e9es, et les variables qui vont \u00eatre visualis\u00e9es en x, en y, ou avec les couleurs, les tailles&#8230;<\/p>\n<pre><code>ggplot(data = iris, aes(Sepal.Length, Sepal.Width, color = Species ))<\/code><\/pre>\n<p><strong>4. Couche 2 : \u00ab\u00a0geom\u00a0\u00bb<\/strong><\/p>\n<p>Ensuite, vous choisissez l&rsquo;\u00e9l\u00e9ment g\u00e9om\u00e9trique avec lequel vous souhaitez visualiser vos donn\u00e9es (point, bar, histogram&#8230;).<\/p>\n<pre><code>ggplot(data = iris, aes(Sepal.Length, Sepal.Width, color = Species )) + <br \/> geom_point()<\/code><\/pre>\n<p><strong>5. Couche 3 : \u00ab\u00a0scale\u00a0\u00bb<\/strong><\/p>\n<p>Cette couche contr\u00f4le la projection de vos donn\u00e9es, par exemple au niveau des couleurs.<\/p>\n<pre><code>ggplot(data = iris, aes(Sepal.Length, Sepal.Width, color = Species)) + <br \/> geom_point() +<br \/> scale_color_manual(values = c(\"#45B8D2\", \"#E66A41\", \"#88878C\"))<\/code><\/pre>\n<p><strong>6. Couche 4 : \u00ab\u00a0coord\u00a0\u00bb<\/strong><\/p>\n<p>Ici, vous pouvez g\u00e9rer le syst\u00e8me de coordonn\u00e9es de votre graphique. Le plus courant ? Le syst\u00e8me cart\u00e9sien, utilis\u00e9 nativement dans ggplot2.\u00a0<\/p>\n<pre><code>ggplot(data = iris, aes(Sepal.Length, Sepal.Width, color = Species)) + <br \/> geom_point() +<br \/> scale_color_manual(values = c(\"#45B8D2\", \"#E66A41\", \"#88878C\")) + <br \/> coord_cartesian()<\/code><\/pre>\n<p>Vous pouvez \u00e9galement choisir un syst\u00e8me de carte, avec coord_map(). <\/p>\n<p><strong>7. Couche 5 : \u00ab\u00a0facet\u00a0\u00bb<\/strong><\/p>\n<p>Pour plus de lisibilit\u00e9, vous pouvez s\u00e9parer votre graphique en plusieurs sous graphiques, chacun correspondant \u00e0 un facteur de votre jeu de donn\u00e9es.<\/p>\n<pre><code>ggplot(data = iris, aes(Sepal.Length, Sepal.Width, color = Species)) + <br \/> geom_point() +<br \/> scale_color_manual(values = c(\"#45B8D2\", \"#E66A41\", \"#88878C\")) + <br \/> coord_cartesian() + <br \/> facet_wrap(~Species)<\/code><\/pre>\n<p><strong>8. Couche 6 : \u00ab\u00a0theme\u00a0\u00bb<\/strong><\/p>\n<p>Deux solutions quant aux th\u00e8mes : utiliser un th\u00e8me natif, ou cr\u00e9er le v\u00f4tre ! Le guide de la cr\u00e9ation est disponible sur le site de ggplot2(http:\/\/ggplot2.tidyverse.org\/reference\/theme.html).<\/p>\n<pre><code>ggplot(data = iris, aes(Sepal.Length, Sepal.Width, color = Species)) + <br \/> geom_point() +<br \/> scale_color_manual(values = c(\"#45B8D2\", \"#E66A41\", \"#88878C\")) + <br \/> coord_cartesian() + <br \/> facet_wrap(~Species) + <br \/> theme_bw()<\/code><\/pre>\n<p><strong>En savoir plus :<\/strong><\/p>\n<p>La documentation officielle :\u00a0http:\/\/ggplot2.tidyverse.org\/reference\/ <br \/>Le site officiel :\u00a0http:\/\/ggplot2.org\/ <br \/>L\u2019ouvrage de Hadley Wickham :\u00a0https:\/\/www.amazon.com\/dp\/0387981403\/ref=cm_sw_su_dp <br \/>Le R Graphic Cookbook :\u00a0https:\/\/www.amazon.com\/dp\/1449316956\/ref=cm_sw_su_dp?tag=ggplot2-20 <br \/>La cheatsheet traduite en fran\u00e7ais :\u00a0http:\/\/www.thinkr.fr\/aide-memoire-ggplot2\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Package de dataviz du tidyverse, ggplot2 est l\u2019incontournable R pour la visualisation de donn\u00e9es. La force de ce module ? ggplot2 repose sur une \u00ab\u00a0grammaire graphique\u00a0\u00bb. Pour plus d\u2019infos sur cette philosophie, rendez-vous sur les liens en bas de page. Construisons pas \u00e0 pas un ggplot. 1. Installation install.packages(\u00ab\u00a0ggplot2\u00a0\u00bb)#Ou pour la version en d\u00e9veloppement :devtools::install_github(\u00ab\u00a0tidyverse\/ggplot2\u00a0\u00bb) 2. Ouverture library(\u00ab\u00a0ggplot2&Prime;) 3. Couche 1 : \u00ab\u00a0data &amp; aesthetics\u00a0\u00bb Avec cette premi\u00e8re ligne, il s&rsquo;agit tout simplement d&rsquo;indiquer l&rsquo;objet contenant le jeu de donn\u00e9es, et les variables qui vont \u00eatre visualis\u00e9es en x, en y, ou avec les couleurs, les tailles&#8230; ggplot(data = iris, aes(Sepal.Length, Sepal.Width, color = Species<a class=\"more-link\" href=\"https:\/\/thinkr.fr\/abcdr\/comment-se-construit-un-graphique-avec-ggplot2\/\">Read More &rarr;<\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":{"twitter_399453572_399453572":""},"rop_publish_now_history":[],"rop_publish_now_status":"pending","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[9,22],"tags":[],"class_list":{"0":"entry","1":"post","2":"publish","3":"author-colin","4":"post-3314","6":"format-standard","7":"category-graphique","8":"category-tidyverse"},"acf":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p9O7Sx-Rs","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/3314","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/comments?post=3314"}],"version-history":[{"count":2,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/3314\/revisions"}],"predecessor-version":[{"id":4314,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/posts\/3314\/revisions\/4314"}],"wp:attachment":[{"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/media?parent=3314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/categories?post=3314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thinkr.fr\/abcdr\/wp-json\/wp\/v2\/tags?post=3314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}