<?xml version="1.0" encoding="UTF-8" ?>
<!-- RSS generated by PHPBoost on Thu, 07 May 2026 05:49:58 +0200 -->

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Documentation]]></title>
		<atom:link href="https://www.sthda.com/french/syndication/rss/wiki/37" rel="self" type="application/rss+xml"/>
		<link>https://www.sthda.com</link>
		<description><![CDATA[Derniers articles de la catégorie ggplot2]]></description>
		<copyright>(C) 2005-2026 PHPBoost</copyright>
		<language>fr</language>
		<generator>PHPBoost</generator>
		
		
		<item>
			<title><![CDATA[ggplot2 ECDF graphique: Guide de démarrage rapide pour la fonction de répartition empirique - Logiciel R et visualisation de données]]></title>
			<link>https://www.sthda.com/french/wiki/ggplot2-ecdf-graphique-guide-de-demarrage-rapide-pour-la-fonction-de-repartition-empirique-logiciel-r-et-visualisation-de-donnees</link>
			<guid>https://www.sthda.com/french/wiki/ggplot2-ecdf-graphique-guide-de-demarrage-rapide-pour-la-fonction-de-repartition-empirique-logiciel-r-et-visualisation-de-donnees</guid>
			<description><![CDATA[<!-- START HTML -->

  <!--====================== start from here when you copy to sthda================-->  
<div id="rdoc">

<div id="TOC">
<ul>
<li><a href="#creer-des-donnees">Cr?er des donn?es</a></li>
<li><a href="#graphiques-ecdf">Graphiques ECDF</a></li>
<li><a href="#graphique-ecdf-personnalise">Graphique ECDF personnalis?</a></li>
<li><a href="#infos">Infos</a></li>
</ul>
</div>

<p><br/></p>
<p>Ce <strong>tutoriel R</strong> d?crit comment cr?er un <strong>graphique ECDF</strong> (ou <strong>Empirical Cumulative Density Function</strong>) en utilisant le <strong>logiciel R</strong> et le package <strong>ggplot2</strong>. <strong>ECDF</strong> se traduit en fran?ais comme ?tant la fonction de r?partition empirique. Pour un nombre donn?, la fonction ECDF renvoie le pourcentage des observations qui sont inf?rieurs ? ce seuil.</p>
<p>La fonction <strong>stat_ecdf()</strong> peut ?tre utilis?e.</p>
<div id="creer-des-donnees" class="section level1">
<h1>Cr?er des donn?es</h1>
<p>Poids de 200 personnes en pouces ( 1 pouce = 2.5 cm) :</p>
<pre class="r"><code>set.seed(1234)
df <- data.frame(height = round(rnorm(200, mean=60, sd=15)))
head(df)</code></pre>
<pre><code>##   height
## 1     42
## 2     64
## 3     76
## 4     25
## 5     66
## 6     68</code></pre>
</div>
<div id="graphiques-ecdf" class="section level1">
<h1>Graphiques ECDF</h1>
<pre class="r"><code>library(ggplot2)

ggplot(df, aes(height)) + stat_ecdf(geom = "point")

ggplot(df, aes(height)) + stat_ecdf(geom = "step")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-ecdf-basic-ecdf-plot-data-visualization-1.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-ecdf-basic-ecdf-plot-data-visualization-2.png" width="240" /></p>
<p><span class="success">Pour une valeur donn?e, par exemple height = 50, vous pouvez constater qu?environ 25% des individus sont plus petits que 50 pouces.</span></p>
</div>
<div id="graphique-ecdf-personnalise" class="section level1">
<h1>Graphique ECDF personnalis?</h1>
<pre class="r"><code># Basic ECDF plot
ggplot(df, aes(height)) + stat_ecdf(geom = "step")+
labs(title="Empirical Cumulative \n Density Function",
     y = "F(height)", x="Height in inch")+
theme_classic()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-ecdf-customized-ecdf-plot-data-visualization-1.png" width="288" /></p>
</div>
<div id="infos" class="section level1">
<h1>Infos</h1>
<p><span class="warning"> Cette analyse a ?t? faite en utilisant le <strong>logiciel R</strong> (ver. 3.2.4) et le package <strong>ggplot2</strong> (ver. 2.1.0) </span></p>
</div>

<script>jQuery(document).ready(function () {
    jQuery('#rdoc h1').addClass('wiki_paragraph1');
    jQuery('#rdoc h2').addClass('wiki_paragraph2');
    jQuery('#rdoc h3').addClass('wiki_paragraph3');
    jQuery('#rdoc h4').addClass('wiki_paragraph4');
    });//add phpboost class to header</script>
<style>.content{padding:0px;}</style>
</div><!--end rdoc-->
<!--====================== stop here when you copy to sthda================-->


<!-- END HTML -->]]></description>
			<pubDate>Thu, 22 Sep 2016 14:07:34 +0200</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[ggplot2 nuage de points: Guide de démarrage rapide - Logiciel R et visualisation de données]]></title>
			<link>https://www.sthda.com/french/wiki/ggplot2-nuage-de-points-guide-de-d-marrage-rapide-logiciel-r-et-visualisation-de-donn-es</link>
			<guid>https://www.sthda.com/french/wiki/ggplot2-nuage-de-points-guide-de-d-marrage-rapide-logiciel-r-et-visualisation-de-donn-es</guid>
			<description><![CDATA[<br />
<!-- START HTML -->

  <!--====================== start from here when you copy to sthda================-->  
  <div id="rdoc">

<div id="TOC">
<ul>
<li><a href="#preparer-les-donnees">Pr?parer les donn?es</a></li>
<li><a href="#nuage-de-points-simples">Nuage de points simples</a></li>
<li><a href="#annoter-les-points">Annoter les points</a><ul>
<li><a href="#ajouter-des-lignes-de-regression">Ajouter des lignes de regression</a></li>
<li><a href="#changer-lapparence-des-points-et-des-traits">Changer l?apparence des points et des traits</a></li>
</ul></li>
<li><a href="#nuage-de-points-avec-plusieurs-groupes">Nuage de points avec plusieurs groupes</a><ul>
<li><a href="#changer-la-couleurle-typela-taille-des-points-automatiquement">Changer la couleur/le type/la taille des points automatiquement</a></li>
<li><a href="#ajouter-des-droites-de-regression">Ajouter des droites de r?gression</a></li>
<li><a href="#changer-la-couleurle-typela-taille-des-points-manuellement">Changer la couleur/le type/la taille des points manuellement</a></li>
</ul></li>
<li><a href="#ajoutter-la-densite-marginale">Ajoutter la densit? marginale</a></li>
<li><a href="#nuage-de-points-avec-estimation-de-la-densite-2d">Nuage de points avec estimation de la densit? 2d</a></li>
<li><a href="#nuage-de-points-avec-ellipese">Nuage de points avec ellipese</a></li>
<li><a href="#nuage-de-points-avec-des-decoupes-rectangulaires">Nuage de points avec des decoupes rectangulaires</a></li>
<li><a href="#nuage-de-point-avec-distribution-marginale">Nuage de point avec distribution marginale</a></li>
<li><a href="#nuages-de-points-personnalises">Nuages de points personnalis?s</a></li>
<li><a href="#infos">Infos</a></li>
</ul>
</div>

<p><br/></p>
<p>Cet article d?crit comment cr?er un <strong>nuage de points</strong> en utilisant le <strong>logiciel de R</strong> et le package <strong>ggplot2</strong>. La fonction <strong>geom_point()</strong> est utilis?e.</p>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-logo-data-visualization-1.png" width="384" /></p>
<div id="preparer-les-donnees" class="section level1">
<h1>Pr?parer les donn?es</h1>
<p>Le jeu de donn?es <em>mtcars</em> est utilis? dans les exemples ci-dessous.</p>
<pre class="r"><code># Convertir la colonne cyl en variable de type facteur
mtcars$cyl <- as.factor(mtcars$cyl)
head(mtcars)</code></pre>
<pre><code>##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1</code></pre>
</div>
<div id="nuage-de-points-simples" class="section level1">
<h1>Nuage de points simples</h1>
<p>Des nuages de points simples sont cr??s en utilisant le code de R ci-dessous. La couleur, la taille et la forme des points peuvent ?tre modifi?es en utilisant la fonction <strong>geom_point()</strong> comme suit:</p>
<pre class="r"><code>geom_point(size, color, shape)</code></pre>
<pre class="r"><code>library(ggplot2)

# Nuage de points simples
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point()

# Changer la taille et la forme
ggplot(mtcars, aes(x=wt, y=mpg)) +
  geom_point(size=2, shape=23)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-basic-graph-data-visualization-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-basic-graph-data-visualization-2.png" width="259.2" /></p>
<p><span class="warning">Notez que, la taille des points peut ?tre contr?l?e en fonction des valeurs d?une variable continue comme dans l?exemple ci-dessous.</span></p>
<pre class="r"><code># Changer la taille des points
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point(aes(size=qsec))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-control-size-continuous-variable-data-visualization-1.png" width="288" /></p>
<p>Lire plus sur la taille des points : <a href="https://www.sthda.com/french/french/wiki/ggplot2-types-de-points-logiciel-r-et-visualisation-de-donnees">ggplot2 taille des points</a></p>
</div>
<div id="annoter-les-points" class="section level1">
<h1>Annoter les points</h1>
<p>La fonction <strong>geom_text()</strong> peut ?tre utilis?e:</p>
<pre class="r"><code>ggplot(mtcars, aes(x=wt, y=mpg)) +
  geom_point() + 
  geom_text(label=rownames(mtcars))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-add-text-labels-data-visualization-1.png" width="336" /></p>
<p>Lire plus sur les annotations de textes : <a href="https://www.sthda.com/french/french/wiki/ggplot2-textes-ajouter-du-texte-a-un-graphique-logiciel-r-et-visualisation-de-donnees">ggplot2 - ajoouter du texte au graphique</a></p>
<div id="ajouter-des-lignes-de-regression" class="section level2">
<h2>Ajouter des lignes de regression</h2>
<p>Les fonctions ci-dessous peuvent ?tre utilis?es pour ajouter des droites de r?gression ? un nuage de points:</p>
<ul>
<li><strong>geom_smooth()</strong> et <strong>stat_smooth()</strong></li>
<li><strong>geom_abline()</strong></li>
</ul>
<p><em>geom_abline()</em> a d?j? ?t? d?crit ? ce lien: <a href="https://www.sthda.com/french/french/wiki/ggplot2-ajouter-une-ligne-droite-a-un-graphe-ligne-horizontale-verticale-et-droite-de-regression">ggplot2 ajouter des lignes droites ? un graphique</a>.</p>
<p>Seule la fonction <strong>geom_smooth()</strong> est couverte dans cette section.</p>
<p>Un format simplifi? est:</p>
<pre class="r"><code>geom_smooth(method="auto", se=TRUE, fullrange=FALSE, level=0.95)</code></pre>
<br/>
<div class="block">
<ul>
<li><strong>method</strong> : m?thode ? utiliser pour estimer la tendance moyenne. Les valeurs possibles sont lm, glm, gam, loess, rlm.
<ul>
<li><strong>method = ?loess?</strong>: Valeur par d?faut lorsque le nombre d?observations est petit. Cela calcule une <strong>regression locale</strong> (loess). Lire plus ? propos de la regression locale en utilisant le code R <strong>?loess</strong>.</li>
<li><strong>method =?lm?</strong>: Cela calcule une <strong>regression lin?aire</strong>. Noter que, il est aussi possible d?indiquer la formule comme suit <strong>formula = y ~ poly(x, 3)</strong> pour sp?cifier un d?gr? polynomial d?ordre 3.</li>
</ul></li>
<li><strong>se</strong> : valeur logique. Si TRUE, l?intervalle de confiance est affich?e autour de la moyenne.</li>
<li><strong>fullrange</strong> : valeur logique. Si TRUE, la courbe moyenne couvre le graphique en entier.</li>
<li><strong>level</strong> : niveau de l?intervalle de confiance ? utiliser. La valeur par d?faut est de 0,95.</li>
</ul>
</div>
<p><br/></p>
<pre class="r"><code># Ajouter la droite de regression
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point()+
  geom_smooth(method=lm)

# Supprimer l&#39;intervalle de confiance
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point()+
  geom_smooth(method=lm, se=FALSE)

# La m?thode "Loess"
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point()+
  geom_smooth()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-regression-lines-data-visualization-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-regression-lines-data-visualization-2.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-regression-lines-data-visualization-3.png" width="192" /></p>
</div>
<div id="changer-lapparence-des-points-et-des-traits" class="section level2">
<h2>Changer l?apparence des points et des traits</h2>
<p>Cette section d?crit comment modifier:</p>
<ul>
<li>la couleur et la forme des points</li>
<li>le type de trait et la couleur de la droite de r?gression</li>
<li>la couleur de remplissage de l?intervalle de confiance</li>
</ul>
<pre class="r"><code># Changer la couleur et la forme des points
# Changer le type de trait et la couleur
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point(shape=18, color="blue")+
  geom_smooth(method=lm, se=FALSE, linetype="dashed",
             color="darkred")

# Changer la couleur de remplissage de l&#39;intervalle de confiance
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point(shape=18, color="blue")+
  geom_smooth(method=lm,  linetype="dashed",
             color="darkred", fill="blue")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-point-shape-line-type-regression-line-data-visualization-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-point-shape-line-type-regression-line-data-visualization-2.png" width="192" /></p>
<p><span class="warning">Notez qu?une couleur transparente est utilis?e, par d?faut, pour la bande de confiance. Ceci peut ?tre chang? en utilisant l?argument <em>alpha</em> : <em>geom_smooth(fill=?blue?, alpha=1)</em></span></p>
<p>Lire plus sur les types de points : <a href="https://www.sthda.com/french/french/wiki/ggplot2-types-de-points-logiciel-r-et-visualisation-de-donnees">ggplot2 types de points</a></p>
<p>Lire plus sur les types de traits : <a href="https://www.sthda.com/french/french/wiki/ggplot2-type-de-traits-comment-changer-le-type-de-trait-d-un-graphique-avec-le-logiciel-r">ggplot2 types de traits</a></p>
</div>
</div>
<div id="nuage-de-points-avec-plusieurs-groupes" class="section level1">
<h1>Nuage de points avec plusieurs groupes</h1>
<p>Cette section d?crit comment changer les couleurs et les types de points automatiquement et manuellement.</p>
<div id="changer-la-couleurle-typela-taille-des-points-automatiquement" class="section level2">
<h2>Changer la couleur/le type/la taille des points automatiquement</h2>
<p>Dans le code R ci-dessous, le type de points, la couleur et la taille peuvent ?tre contr?l?es en fonction des niveaux de la variable <em>cyl</em>:</p>
<pre class="r"><code># Changer le type de points en fonction des niveaux de cyl
ggplot(mtcars, aes(x=wt, y=mpg, shape=cyl)) +
  geom_point()

# Changer le type et la couleur
ggplot(mtcars, aes(x=wt, y=mpg, shape=cyl, color=cyl)) +
  geom_point()

# Changer le type, la couleur et la taille
ggplot(mtcars, aes(x=wt, y=mpg, shape=cyl, color=cyl, size=cyl)) +
  geom_point()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-change-shape-size-color-by-group-automatically-data-visualization-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-change-shape-size-color-by-group-automatically-data-visualization-2.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-change-shape-size-color-by-group-automatically-data-visualization-3.png" width="259.2" /></p>
</div>
<div id="ajouter-des-droites-de-regression" class="section level2">
<h2>Ajouter des droites de r?gression</h2>
<p>Des <strong>lignes de r?gression</strong> peuvent ?tre ajout?es de la mani?re suivante:</p>
<pre class="r"><code># Ajouter des lignes de r?gression
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
  geom_point() + 
  geom_smooth(method=lm)

# Supprimer les intervalles de confiance
# Etendre les droites de r?gression
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
  geom_point() + 
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-groups-regression-lines-data-visualization-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-groups-regression-lines-data-visualization-2.png" width="259.2" /></p>
<p><span class="warning">Notez que vous pouvez ?galement changer le type de traits de la droite de r?gression en utilisant l?option <em>linetype = cyl</em>. </span></p>
<p>Les couleurs de remplissage des intervalles de confiances peuvent ?tre chang?es comme suit:</p>
<pre class="r"><code>ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
  geom_point() + 
  geom_smooth(method=lm, aes(fill=cyl))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-groups-regression-lines-confidence-band-fill-color-1.png" width="336" /></p>
</div>
<div id="changer-la-couleurle-typela-taille-des-points-manuellement" class="section level2">
<h2>Changer la couleur/le type/la taille des points manuellement</h2>
<p>Les fonctions ci-dessous sont utilis?es:</p>
<ul>
<li><em>scale_shape_manual()</em> pour le type de points</li>
<li><em>scale_color_manual()</em> pour la couleur des points</li>
<li><em>scale_size_manual()</em> pour la taille des points</li>
</ul>
<pre class="r"><code># Changer le type de points et la couleur manuellement
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
  geom_point() + 
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
  scale_shape_manual(values=c(3, 16, 17))+ 
  scale_color_manual(values=c(&#39;#999999&#39;,&#39;#E69F00&#39;, &#39;#56B4E9&#39;))+
  theme(legend.position="top")
  
# Changer la taille des points manuellement
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl))+
  geom_point(aes(size=cyl)) + 
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
  scale_shape_manual(values=c(3, 16, 17))+ 
  scale_color_manual(values=c(&#39;#999999&#39;,&#39;#E69F00&#39;, &#39;#56B4E9&#39;))+
  scale_size_manual(values=c(2,3,4))+
  theme(legend.position="top")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-change-shape-size-color-by-group-manually-1.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-change-shape-size-color-by-group-manually-2.png" width="240" /></p>
<p>Il est ?galement possible de modifier manuellement la couleur des points et des traits en utilisant les fonctions:</p>
<ul>
<li><em>scale_color_brewer()</em> : pour utiliser les palettes de couleurs du package <em>RColorBrewer</em></li>
<li><em>scale_color_grey()</em> : pour utiliser les palettes de couleurs grises</li>
</ul>
<pre class="r"><code>p <- ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
  geom_point() + 
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
  theme_classic()

# Utiliser les palettes brewer
p+scale_color_brewer(palette="Dark2")

# Utiliser les couleurs grises
p + scale_color_grey()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-manual-color-data-visualization-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-manual-color-data-visualization-2.png" width="259.2" /></p>
<p>Lire plus sur ggplot2 et couleurs : <a href="https://www.sthda.com/french/french/wiki/ggplot2-couleurs-changer-les-couleurs-automatiquement-et-manuellement-logiciel-r-et-visualisation-de-donnees">ggplot2 couleurs</a></p>
</div>
</div>
<div id="ajoutter-la-densite-marginale" class="section level1">
<h1>Ajoutter la densit? marginale</h1>
<p>La fonction <strong>geom_rug()</strong> peut ?tre utilis?e:</p>
<pre class="r"><code>geom_rug(sides ="bl")</code></pre>
<p><strong>sides</strong> : c?t? sur lequel il faudrait ajouter la densit?. La valeur possible est une cha?ne de caract?re contenant l?un des ?l?ments ?trbl?, pour top (haut), right (droite), bottom (bas), et left (gauche).</p>
<pre class="r"><code># Ajouter la densit? marginale
ggplot(mtcars, aes(x=wt, y=mpg)) +
  geom_point() + geom_rug()

# Changer les couleurs
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl)) +
  geom_point() + geom_rug()

# Utiliser le jeu de donn?es faithful
ggplot(faithful, aes(x=eruptions, y=waiting)) +
  geom_point() + geom_rug()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-add-rugs-data-visualization-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-add-rugs-data-visualization-2.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-add-rugs-data-visualization-3.png" width="259.2" /></p>
</div>
<div id="nuage-de-points-avec-estimation-de-la-densite-2d" class="section level1">
<h1>Nuage de points avec estimation de la densit? 2d</h1>
<p>Les fonctions <strong>geom_density_2d()</strong> ou <strong>stat_density_2d()</strong> peuvent ?tre utilis?es:</p>
<pre class="r"><code># Nuage de points avec estimation de la densit? 2d
sp <- ggplot(faithful, aes(x=eruptions, y=waiting)) +
  geom_point()
sp + geom_density_2d()

# Gradient de couleur
sp + stat_density_2d(aes(fill = ..level..), geom="polygon")

# Changer le gradient de couleur
sp + stat_density_2d(aes(fill = ..level..), geom="polygon")+
  scale_fill_gradient(low="blue", high="red")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-geom-density-2d-data-visualization-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-geom-density-2d-data-visualization-2.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-geom-density-2d-data-visualization-3.png" width="259.2" /></p>
<p>Lire plus sur ggplot2 et couleurs : <a href="https://www.sthda.com/french/french/wiki/ggplot2-couleurs-changer-les-couleurs-automatiquement-et-manuellement-logiciel-r-et-visualisation-de-donnees">ggplot2 couleurs</a></p>
</div>
<div id="nuage-de-points-avec-ellipese" class="section level1">
<h1>Nuage de points avec ellipese</h1>
<p>La fonction <strong>stat_ellipse()</strong> peut ?tre utilis?e comme suit:</p>
<pre class="r"><code># Une ellipse autour de tous les points
ggplot(faithful, aes(waiting, eruptions))+
  geom_point()+
  stat_ellipse()
# Ellipses par groupes
p <- ggplot(faithful, aes(waiting, eruptions, color = eruptions > 3))+
  geom_point()
p + stat_ellipse()
# Changer le type d&#39;ellipses: 
# Valeurs possibles "t", "norm", "euclid"
p + stat_ellipse(type = "norm")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-ellipse-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-ellipse-2.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-ellipse-3.png" width="259.2" /></p>
</div>
<div id="nuage-de-points-avec-des-decoupes-rectangulaires" class="section level1">
<h1>Nuage de points avec des decoupes rectangulaires</h1>
<p>Le nombre d?observations est compt? dans chaque d?coupe et affich? en utilisant l?un des fonctions suivantes:</p>
<ul>
<li><strong>geom_bin2d()</strong> pour ajouter un heatmap du comptage dans les d?coupes 2d</li>
<li><strong>stat_bin_2d()</strong> pour le comptage du nombre d?observation dans les d?coupes rectangulaires</li>
<li><strong>stat_summary_2d()</strong> pour appliquer des fonctions statistiques sur les d?coupes 2d</li>
</ul>
<p>Les formats simplifi?s de ces fonctions sont:</p>
<pre class="r"><code>plot + geom_bin2d(...)

plot+stat_bin_2d(geom=NULL, bins=30)

plot + stat_summary_2d(geom = NULL, bins = 30, fun = mean)</code></pre>
<ul>
<li><strong>geom</strong> : l?objet g?om?trique ? afficher</li>
<li><strong>bins</strong> : Nombre de d?coupes verticale et horizontale. La valeur par d?faut est 30</li>
<li><strong>fun</strong> : fonction pour une description statistique</li>
</ul>
<p>Le jeux e donn?es <em>diamonds</em>, dans le package ggplot2, est utilis? :</p>
<pre class="r"><code>head(diamonds)</code></pre>
<pre><code>##   carat       cut color clarity depth table price    x    y    z
## 1  0.23     Ideal     E     SI2  61.5    55   326 3.95 3.98 2.43
## 2  0.21   Premium     E     SI1  59.8    61   326 3.89 3.84 2.31
## 3  0.23      Good     E     VS1  56.9    65   327 4.05 4.07 2.31
## 4  0.29   Premium     I     VS2  62.4    58   334 4.20 4.23 2.63
## 5  0.31      Good     J     SI2  63.3    58   335 4.34 4.35 2.75
## 6  0.24 Very Good     J    VVS2  62.8    57   336 3.94 3.96 2.48</code></pre>
<pre class="r"><code># Graphique
p <- ggplot(diamonds, aes(carat, price))
p + geom_bin2d()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-bin2d-rectangular-bins-data-visualization-1.png" width="384" /></p>
<p>Changer le nombre de d?coupes:</p>
<pre class="r"><code># Changer le nombre de d?coupes
p + geom_bin2d(bins=10)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-bin2d-rectangular-bins_2-data-visualization-1.png" width="384" /></p>
<p>Ou sp?cifie la largeur des d?coupes:</p>
<pre class="r"><code># Sp?cifier la largeur des d?coupes
p + geom_bin2d(binwidth=c(1, 1000))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-bin2d-rectangular-bins_3-data-visualization-1.png" width="384" /></p>
</div>
<div id="nuage-de-point-avec-distribution-marginale" class="section level1">
<h1>Nuage de point avec distribution marginale</h1>
<p><strong>Step 1/3. Cr?er des donn?es:</strong></p>
<pre class="r"><code>set.seed(1234)
x <- c(rnorm(500, mean = -1), rnorm(500, mean = 1.5))
y <- c(rnorm(500, mean = 1), rnorm(500, mean = 1.7))
group <- as.factor(rep(c(1,2), each=500))
df <- data.frame(x, y, group)
head(df)</code></pre>
<pre><code>##             x          y group
## 1 -2.20706575 -0.2053334     1
## 2 -0.72257076  1.3014667     1
## 3  0.08444118 -0.5391452     1
## 4 -3.34569770  1.6353707     1
## 5 -0.57087531  1.7029518     1
## 6 -0.49394411 -0.9058829     1</code></pre>
<p><strong>Step 2/3. Cr?er des graphiques: </strong></p>
<pre class="r"><code># Nuage de points color?s par groupes
scatterPlot <- ggplot(df,aes(x, y, color=group)) + 
  geom_point() + 
  scale_color_manual(values = c(&#39;#999999&#39;,&#39;#E69F00&#39;)) + 
  theme(legend.position=c(0,1), legend.justification=c(0,1))
scatterPlot


# Courbe de densit? marginale de x (panel du haut)
xdensity <- ggplot(df, aes(x, fill=group)) + 
  geom_density(alpha=.5) + 
  scale_fill_manual(values = c(&#39;#999999&#39;,&#39;#E69F00&#39;)) + 
  theme(legend.position = "none")
xdensity

# Courbe de densit? marginale de y (panel de droite)
ydensity <- ggplot(df, aes(y, fill=group)) + 
  geom_density(alpha=.5) + 
  scale_fill_manual(values = c(&#39;#999999&#39;,&#39;#E69F00&#39;)) + 
  theme(legend.position = "none")
ydensity</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-with-marginal-density-distribution-data-visualization-1.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-with-marginal-density-distribution-data-visualization-2.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-with-marginal-density-distribution-data-visualization-3.png" width="240" /></p>
<p>Cr?er un emplacement vide :</p>
<pre class="r"><code>blankPlot <- ggplot()+geom_blank(aes(1,1))+
  theme(plot.background = element_blank(), 
   panel.grid.major = element_blank(),
   panel.grid.minor = element_blank(), 
   panel.border = element_blank(),
   panel.background = element_blank(),
   axis.title.x = element_blank(),
   axis.title.y = element_blank(),
   axis.text.x = element_blank(), 
   axis.text.y = element_blank(),
   axis.ticks = element_blank()
     )</code></pre>
<p><strong>Step 3/3. Regrouper les graphiques:</strong></p>
<p>Pour mettre plusieurs graphiques sur la m?me page, le package <strong>gridExtra</strong> peut ?tre utilis?. Installez le package comme suit:</p>
<pre class="r"><code>install.packages("gridExtra")</code></pre>
<p>Arranger le graphique avec des largeurs et des hauteurs adapt?es pour chaque ligne et chaque colonne:</p>
<pre class="r"><code>library("gridExtra")
grid.arrange(xdensity, blankPlot, scatterPlot, ydensity, 
        ncol=2, nrow=2, widths=c(4, 1.4), heights=c(1.4, 4))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-put-multiple-plot-together-data-visualization-1.png" width="480" /></p>
<p>Lire plus sur comment arranger plusieurs graphiques sur la m?me page : <a href="https://www.sthda.com/french/french/wiki/ggplot2-combiner-plusieurs-graphiques-sur-la-m-me-page-logiciel-r-et-visualisation-de-donn-es">ggplot2 - Arranger plusieurs graphiques sur la m?me page</a></p>
</div>
<div id="nuages-de-points-personnalises" class="section level1">
<h1>Nuages de points personnalis?s</h1>
<pre class="r"><code># Nuage de points simple
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point()+
  geom_smooth(method=lm, color="black")+
  labs(title="Miles per gallon \n according to the weight",
       x="Weight (lb/1000)", y = "Miles/(US) gallon")+
  theme_classic()  

# Changer la couleur/ le type par groupe
# Supprimer l&#39;intervalle de confiance
p <- ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) + 
  geom_point()+
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
  labs(title="Miles per gallon \n according to the weight",
       x="Weight (lb/1000)", y = "Miles/(US) gallon")

p + theme_classic()  </code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-customized-scatter-plot-data-visualization-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-customized-scatter-plot-data-visualization-2.png" width="259.2" /></p>
<p>Changer les couleurs manuellement</p>
<pre class="r"><code># Couleurs continues
p + scale_color_brewer(palette="Paired") + theme_classic()

# Couleurs discr?tes
p + scale_color_brewer(palette="Dark2") + theme_minimal()

# Couleurs en gradient
p + scale_color_brewer(palette="Accent") + theme_minimal()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-customized-change-color-data-visualization-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-customized-change-color-data-visualization-2.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-customized-change-color-data-visualization-3.png" width="259.2" /></p>
<p>Lire plus sur ggplot2 et couleurs : <a href="https://www.sthda.com/french/french/wiki/ggplot2-couleurs-changer-les-couleurs-automatiquement-et-manuellement-logiciel-r-et-visualisation-de-donnees">ggplot2 couleurs</a></p>
</div>
<div id="infos" class="section level1">
<h1>Infos</h1>
<p><span class="warning"> Cette analyse a ?t? faite en utilisant le <strong>logiciel R</strong> (ver. 3.2.4) et le package <strong>ggplot2</strong> (ver. 2.1.0) </span></p>
</div>

<script>jQuery(document).ready(function () {
    jQuery('#rdoc h1').addClass('wiki_paragraph1');
    jQuery('#rdoc h2').addClass('wiki_paragraph2');
    jQuery('#rdoc h3').addClass('wiki_paragraph3');
    jQuery('#rdoc h4').addClass('wiki_paragraph4');
    });//add phpboost class to header</script>
<style>.content{padding:0px;}</style>
</div><!--end rdoc-->
<!--====================== stop here when you copy to sthda================-->


<!-- END HTML -->]]></description>
			<pubDate>Thu, 22 Sep 2016 07:42:20 +0200</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[ggplot2 thèmes et couleurs de fond : les 3 éléments - Logiciel R et visualisation de données]]></title>
			<link>https://www.sthda.com/french/wiki/ggplot2-themes-et-couleurs-de-fond-les-3-elements-logiciel-r-et-visualisation-de-donnees</link>
			<guid>https://www.sthda.com/french/wiki/ggplot2-themes-et-couleurs-de-fond-les-3-elements-logiciel-r-et-visualisation-de-donnees</guid>
			<description><![CDATA[<!-- START HTML -->

  <!--====================== start from here when you copy to sthda================-->  
  <div id="rdoc">

<div id="TOC">
<ul>
<li><a href="#preparer-les-donnees">Pr?parer les donn?es</a></li>
<li><a href="#exemple-de-graphes">Exemple de graphes</a></li>
<li><a href="#fonctions-rapides-pour-changer-le-theme">Fonctions rapides pour changer le th?me</a></li>
<li><a href="#personnaliser-larriere-plan-du-graphique">Personnaliser l?arri?re plan du graphique</a><ul>
<li><a href="#changer-les-couleurs-de-larriere-plan-du-panneau-et-de-la-grille">Changer les couleurs de l?arri?re plan du panneau et de la grille</a></li>
<li><a href="#supprimer-les-bordures-du-panneau-et-les-grilles">Supprimer les bordures du panneau et les grilles</a></li>
<li><a href="#changer-la-couleur-de-fond-du-graphique-pas-le-panneau">Changer la couleur de fond du graphique (pas le panneau)</a></li>
</ul></li>
<li><a href="#utiliser-un-theme-personnalise">Utiliser un th?me personnalis?</a><ul>
<li><a href="#theme_tufte-un-theme-minimalist">theme_tufte : un th?me minimalist</a></li>
<li><a href="#theme_economist-theme-base-sur-des-graphiques-de-magazines-economistes">theme_economist : th?me bas? sur des graphiques de magazines economistes</a></li>
<li><a href="#theme_stata-theme-base-sur-des-graphiqes-de-types-stata">theme_stata: th?me bas? sur des graphiqes de types Stata</a></li>
<li><a href="#theme_wsj-theme-base-sur-des-graphiques-de-types-wall-street-journal">theme_wsj: th?me bas? sur des graphiques de types Wall Street Journal</a></li>
<li><a href="#theme_calc-theme-de-type-libreoffice-calc">theme_calc : th?me de type LibreOffice Calc</a></li>
<li><a href="#theme_hc-theme-de-types-highcharts-js">theme_hc : th?me de types Highcharts JS</a></li>
</ul></li>
<li><a href="#cree-un-theme-personnalise">Cr?? un th?me personnalis?</a></li>
<li><a href="#infos">Infos</a></li>
</ul>
</div>

<p><br/> Ce <strong>tutoriel R</strong> d?crit comment modifier l?apparence d?un <strong>th?me</strong> graphique (<strong>couleur de fond</strong>, <strong>couleur du panneau de fond</strong>, <strong>lignes de la grille</strong>) en utilisant le <strong>logiciel R</strong> et le package <strong>ggplot2</strong>. Vous apprendrez ?galement comment utiliser les th?mes de base de ggplot2 et comment cr?er votre propre th?me.</p>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-logo-1.png" width="384" /></p>
<div id="preparer-les-donnees" class="section level1">
<h1>Pr?parer les donn?es</h1>
<p>Le jeu de donn?es <em>ToothGrowth</em> est utilis? dans les exemples ci-dessous :</p>
<pre class="r"><code># Convertir la variable dose de type "numeric" au type "factor"
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
head(ToothGrowth)</code></pre>
<pre><code>##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
## 4  5.8   VC  0.5
## 5  6.4   VC  0.5
## 6 10.0   VC  0.5</code></pre>
<p><span class="warning">Assurez-vous que la variable <em>dose</em> soit convertie en une variable de type ?factor? en utilisant le script de R ci-dessus.</span></p>
</div>
<div id="exemple-de-graphes" class="section level1">
<h1>Exemple de graphes</h1>
<pre class="r"><code>library(ggplot2)
p <- ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot()
p</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-example-1.png" width="192" /></p>
</div>
<div id="fonctions-rapides-pour-changer-le-theme" class="section level1">
<h1>Fonctions rapides pour changer le th?me</h1>
<p>Plusieurs fonctions sont disponibles dans le package ggplot2 pour changer rapidement le th?me des graphes:</p>
<ul>
<li><strong>theme_gray</strong> : couleur de fond grise et grille blanche</li>
<li><strong>theme_bw</strong> : couleur de fond blanche et grille grise</li>
</ul>
<pre class="r"><code>p + theme_gray(base_size = 14)

p + theme_bw()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-gray-theme-bw-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-gray-theme-bw-2.png" width="192" /></p>
<ul>
<li><strong>theme_linedraw</strong>: traits noirs autour du graphique</li>
<li><strong>theme_light</strong>: traits et axes l?g?rement gris (plus d?attention accord?e aux donn?es)</li>
</ul>
<pre class="r"><code>p + theme_linedraw()

p + theme_light()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-linedraw-theme-light-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-linedraw-theme-light-2.png" width="192" /></p>
<ul>
<li><strong>theme_minimal</strong>: pas de couleur de fond</li>
<li><strong>theme_classic</strong> : th?me avec les traits des axes mais pas de grilles</li>
</ul>
<pre class="r"><code>p + theme_minimal()

p + theme_classic()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-minimal-theme-classic-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-minimal-theme-classic-2.png" width="192" /></p>
<ul>
<li><strong>theme_void</strong>: Th?me vide, util pour des graphs avec des coordonn?es non-standard ou pour dessiner</li>
<li><strong>theme_dark</strong>(): Th?me avec un arri?re plan noir, design? pour faire ressortir les couleurs.</li>
</ul>
<pre class="r"><code>p + theme_void()

p + theme_dark()</code></pre>
<div class="figure">
<img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-void-theme-dark-1.png" alt="ggplot2 background color, theme_void and theme_dark, R programming" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-void-theme-dark-2.png" alt="ggplot2 background color, theme_void and theme_dark, R programming" width="192" />
<p class="caption">
ggplot2 background color, theme_void and theme_dark, R programming
</p>
</div>
<p>Les fonctions <em>theme_xx()</em> peuvent prendre les deux arguments ci-dessous:</p>
<ul>
<li><strong>base_size</strong> : taille de base de la police (pour changer la taille de tous les ?l?ments textuels sur le graphique)</li>
<li><strong>base_family</strong> : famille de police</li>
</ul>
<p>La taille, de tous ?l?ments textuels du graphe, peut ?tre chang?e facilement en une seule fois :</p>
<pre class="r"><code># Exemple 1
theme_set(theme_gray(base_size = 20))
ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot()

# Exemple 2
ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot()+
  theme_classic(base_size = 25)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-font-size-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-font-size-2.png" width="192" /></p>
<p><span class="warning">Notez que, la fonction <strong>theme_set()</strong> modifie le th?me pour toute la dur?e de la session.</span></p>
</div>
<div id="personnaliser-larriere-plan-du-graphique" class="section level1">
<h1>Personnaliser l?arri?re plan du graphique</h1>
<p>La fonction <strong>theme()</strong> est utilis?e pour contr?ler les ?l?ments graphiques incluant :</p>
<ul>
<li>Les <strong>?l?ments lin?aires</strong> : traits des axes, traits des grilles mineur et majeur, bordure du panneau graphique, graduation des axes, couleurs de fond, etc.
</li>
<li>Les <strong>?l?ments textuels</strong> : titre du graphique et des axes, titre et textes de la l?gende, les ?tiquettes des graduations des axes, etc.</li>
<li>Les <strong>?l?ments rectangualaires</strong> : arri?re plan du graphique, du panneau et de la l?gende, etc.</li>
</ul>
<p>Il existe une fonction sp?cifique pour modifier chacun de ces trois ?l?ments:</p>
<ul>
<li><strong>element_line()</strong> pour modifier les ?l?ments lin?aires du th?me</li>
<li><strong>element_text()</strong> pour modifier les ?l?ments textuels</li>
<li><strong>element_rect()</strong> pour changer l?apparence des ?l?ments rectangulaires</li>
</ul>
<p><span class="warning">Notez que, chacun de ces ?l?ments de th?me peut ?tre supprim? avec la fonction <strong>element_blank()</strong></span></p>
<div id="changer-les-couleurs-de-larriere-plan-du-panneau-et-de-la-grille" class="section level2">
<h2>Changer les couleurs de l?arri?re plan du panneau et de la grille</h2>
<ol style="list-style-type: decimal">
<li>Les fonctions <strong>theme()</strong> et <strong>element_rect()</strong> sont utilis?s pour modifier la couleur de fond du panneau :</li>
</ol>
<pre class="r"><code>p + theme(panel.background = element_rect(fill, colour, size, 
                                          linetype, color))</code></pre>
<br/>
<div class="block">
<ul>
<li><strong>fill</strong> : couleur de remplissage du rectangle</li>
<li><strong>colour</strong>, <strong>color</strong> : couleur de la bordure</li>
<li><strong>size</strong> : taille de la bordure</li>
</ul>
</div>
<p><br/></p>
<ol start="2" style="list-style-type: decimal">
<li>L?apparence des traits de la grille peut ?tre chang?e en utilisant la fonction <strong>element_line()</strong> comme suit :</li>
</ol>
<pre class="r"><code># Changer les traits des grilles mineures et majeures 
p + theme(
  panel.grid.major = element_line(colour, size, linetype,
                                   lineend, color),
  panel.grid.minor = element_line(colour, size, linetype,
                                   lineend, color)
  )</code></pre>
<br/>
<div class="block">
<ul>
<li><strong>colour</strong>, <strong>color</strong> : couleur des traits</li>
<li><strong>size</strong> : ?paisseur des traits</li>
<li><strong>linetype</strong> : Type de traits. Le <strong>type de traits</strong> peut ?tre sp?cifi? en utilisant soit du texte (?blank?, ?solid?, ?dashed?, ?dotted?, ?dotdash?, ?longdash?, ?twodash?) ou un nombre (0, 1, 2, 3, 4, 5, 6). Notez que <em>linetype = ?solid?</em> est identique ? <em>linetype=1</em>. Les types de traits disponibles dans R sont d?crits ici: <a href="https://www.sthda.com/french/french/wiki/ggplot2-type-de-traits-comment-changer-le-type-de-trait-d-un-graphique-avec-le-logiciel-r">Types de traits dans R</a></li>
<li><strong>lineend</strong> : terminaison du trait. Les valeurs possibles sont: ?round?, ?butt? ou ?square?</li>
</ul>
</div>
<p><br/></p>
<p>Le code de R ci-dessous illustre comment modifier l?apparence du fond du panneau graphique et de la grille:</p>
<pre class="r"><code># Changer la couleur de fond du panneau en "lightblue"
# et la couleur des grilles en "white"
p + theme(
  panel.background = element_rect(fill = "lightblue",
                                colour = "lightblue",
                                size = 0.5, linetype = "solid"),
  panel.grid.major = element_line(size = 0.5, linetype = &#39;solid&#39;,
                                colour = "white"), 
  panel.grid.minor = element_line(size = 0.25, linetype = &#39;solid&#39;,
                                colour = "white")
  )</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-change-background-colors-grid-lines-1.png" width="192" /></p>
</div>
<div id="supprimer-les-bordures-du-panneau-et-les-grilles" class="section level2">
<h2>Supprimer les bordures du panneau et les grilles</h2>
<p>Il est possible de masquer les bordures du panneau graphique et les lignes de la grille avec la fonction <strong>element_blank()</strong> comme suit:</p>
<pre class="r"><code># Masquer les bordures et les lignes de la grille
p + theme(panel.border = element_blank(),
          panel.grid.major = element_blank(),
          panel.grid.minor = element_blank())

# Masquer les bordures et les lignes de la grille
# Modifier le trait des axes
p + theme(panel.border = element_blank(),
          panel.grid.major = element_blank(),
          panel.grid.minor = element_blank(),
          axis.line = element_line(size = 0.5, linetype = "solid",
                                   colour = "black"))</code></pre>
<div class="figure">
<img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-remove-panel-border-grid-lines-1.png" alt="ggplot2 background color, remove plot panel border, remove grid lines, R programming" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-remove-panel-border-grid-lines-2.png" alt="ggplot2 background color, remove plot panel border, remove grid lines, R programming" width="192" />
<p class="caption">
ggplot2 background color, remove plot panel border, remove grid lines, R programming
</p>
</div>
</div>
<div id="changer-la-couleur-de-fond-du-graphique-pas-le-panneau" class="section level2">
<h2>Changer la couleur de fond du graphique (pas le panneau)</h2>
<pre class="r"><code>p + theme(plot.background = element_rect(fill = "darkblue"))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-change-plot-background-color-1.png" width="192" /></p>
</div>
</div>
<div id="utiliser-un-theme-personnalise" class="section level1">
<h1>Utiliser un th?me personnalis?</h1>
<p>Vous pouvez changer enti?rement l?apparence d?un graphique en utilisant des th?mes personnalis?s. Jeffrey Arnold a d?velopp? le package <strong>ggthemes</strong> contenant des th?mes personnalis?s.</p>
<p>Pour utiliser ces th?mes installer et charger le package <strong>ggthemes</strong> comme suit:</p>
<pre class="r"><code>install.packages("ggthemes") # Installer 
library(ggthemes) # Charger</code></pre>
<p>Le package <strong>ggthemes</strong> fournit de nombreux th?mes pour ggplot2.</p>
<div id="theme_tufte-un-theme-minimalist" class="section level2">
<h2>theme_tufte : un th?me minimalist</h2>
<pre class="r"><code># Nuage de point
ggplot(mtcars, aes(wt, mpg)) +
  geom_point() + geom_rangeframe() + 
  theme_tufte()</code></pre>
<div class="figure">
<img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-tufte-1.png" alt="ggplot2 theme_tufte, logiciel R" width="240" />
<p class="caption">
ggplot2 theme_tufte, logiciel R
</p>
</div>
</div>
<div id="theme_economist-theme-base-sur-des-graphiques-de-magazines-economistes" class="section level2">
<h2>theme_economist : th?me bas? sur des graphiques de magazines economistes</h2>
<pre class="r"><code>p <- ggplot(iris, aes(Sepal.Length, Sepal.Width, colour = Species))+
  geom_point()

# Utiliser l&#39;?chelle de couleurs ?conomiste
p + theme_economist() + 
  scale_color_economist()+
  ggtitle("Iris data sets")</code></pre>
<div class="figure">
<img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-economist-1.png" alt="ggplot2 theme_economist, logiciel R" width="384" />
<p class="caption">
ggplot2 theme_economist, logiciel R
</p>
</div>
<p><span class="warning">Notez que la fonction <strong>scale_fill_economist()</strong> est aussi disponible (pour le remplissage des box plots, bar plots, ?).</span></p>
</div>
<div id="theme_stata-theme-base-sur-des-graphiqes-de-types-stata" class="section level2">
<h2>theme_stata: th?me bas? sur des graphiqes de types Stata</h2>
<pre class="r"><code>p + theme_stata() + scale_color_stata() +
  ggtitle("Iris data")</code></pre>
<div class="figure">
<img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-stata-1.png" alt="ggplot2 theme_stata, logiciel R" width="384" />
<p class="caption">
ggplot2 theme_stata, logiciel R
</p>
</div>
<p>Les ?chelles de couleurs stata peuvent ?tre utilis?es comme suit :</p>
<pre class="r"><code>scale_fill_stata(scheme = "s2color", ...)

scale_color_stata(scheme = "s2color", ...)</code></pre>
<p>Les valeurs possibles pour l?argument <em>scheme</em> sont ?s2color?, ?s1rcolor?, ?s1color?, ou ?mono?.</p>
</div>
<div id="theme_wsj-theme-base-sur-des-graphiques-de-types-wall-street-journal" class="section level2">
<h2>theme_wsj: th?me bas? sur des graphiques de types Wall Street Journal</h2>
<pre class="r"><code>p + theme_wsj()+ scale_colour_wsj("colors6")+
  ggtitle("Iris data")</code></pre>
<div class="figure">
<img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-wsj-1.png" alt="ggplot2 theme_wsj, logiciel R" width="384" />
<p class="caption">
ggplot2 theme_wsj, logiciel R
</p>
</div>
<p>Les ?chelles de couleurs de types Wall Street Journal sont :</p>
<pre class="r"><code>scale_color_wsj(palette = "colors6", ...)

scale_fill_wsj(palette = "colors6", ...)</code></pre>
<p>Les valeurs possibles pour l?argument <em>palette</em> sont: ?rgby?, ?red_green?, ?black_green?, ?dem_rep?, ?colors6?.</p>
</div>
<div id="theme_calc-theme-de-type-libreoffice-calc" class="section level2">
<h2>theme_calc : th?me de type LibreOffice Calc</h2>
<pre class="r"><code>p + theme_calc()+ scale_colour_calc()+
  ggtitle("Iris data")</code></pre>
<div class="figure">
<img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-calc-1.png" alt="ggplot2 theme_calc, logiciel R" width="480" />
<p class="caption">
ggplot2 theme_calc, logiciel R
</p>
</div>
</div>
<div id="theme_hc-theme-de-types-highcharts-js" class="section level2">
<h2>theme_hc : th?me de types Highcharts JS</h2>
<pre class="r"><code>p + theme_hc()+ scale_colour_hc()</code></pre>
<div class="figure">
<img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-theme-background-color-theme-hc-1.png" alt="ggplot2 theme_hc et logiciel R" width="384" />
<p class="caption">
ggplot2 theme_hc et logiciel R
</p>
</div>
</div>
</div>
<div id="cree-un-theme-personnalise" class="section level1">
<h1>Cr?? un th?me personnalis?</h1>
<ol style="list-style-type: decimal">
<li>Vous pouvez changer le th?me pour la session R courante en utilisant la fonction theme_set() comme suit :</li>
</ol>
<pre class="r"><code>theme_set(theme_gray(base_size = 20))</code></pre>
<ol start="2" style="list-style-type: decimal">
<li>Vous pouvez extraire et modifier le code R du th?me <em>theme_gray</em> :</li>
</ol>
<pre class="r"><code>theme_gray

function (base_size = 11, base_family = "") 
{
 half_line <- base_size/2
theme(
  line = element_line(colour = "black", size = 0.5, 
                      linetype = 1, lineend = "butt"), 
  rect = element_rect(fill = "white", colour = "black",
                      size = 0.5, linetype = 1),
  text = element_text(family = base_family, face = "plain",
                      colour = "black", size = base_size,
                      lineheight = 0.9,  hjust = 0.5,
                      vjust = 0.5, angle = 0, 
                      margin = margin(), debug = FALSE), 
  
  axis.line = element_blank(), 
  axis.text = element_text(size = rel(0.8), colour = "grey30"),
  axis.text.x = element_text(margin = margin(t = 0.8*half_line/2), 
                             vjust = 1), 
  axis.text.y = element_text(margin = margin(r = 0.8*half_line/2),
                             hjust = 1),
  axis.ticks = element_line(colour = "grey20"), 
  axis.ticks.length = unit(half_line/2, "pt"), 
  axis.title.x = element_text(margin = margin(t = 0.8 * half_line,
                                          b = 0.8 * half_line/2)),
  axis.title.y = element_text(angle = 90, 
                              margin = margin(r = 0.8 * half_line,
                                          l = 0.8 * half_line/2)),
  
  legend.background = element_rect(colour = NA), 
  legend.margin = unit(0.2, "cm"), 
  legend.key = element_rect(fill = "grey95", colour = "white"),
  legend.key.size = unit(1.2, "lines"), 
  legend.key.height = NULL,
  legend.key.width = NULL, 
  legend.text = element_text(size = rel(0.8)),
  legend.text.align = NULL,
  legend.title = element_text(hjust = 0), 
  legend.title.align = NULL, 
  legend.position = "right", 
  legend.direction = NULL,
  legend.justification = "center", 
  legend.box = NULL, 
  
  panel.background = element_rect(fill = "grey92", colour = NA),
  panel.border = element_blank(), 
  panel.grid.major = element_line(colour = "white"), 
  panel.grid.minor = element_line(colour = "white", size = 0.25), 
  panel.margin = unit(half_line, "pt"), panel.margin.x = NULL, 
  panel.margin.y = NULL, panel.ontop = FALSE, 
  
  strip.background = element_rect(fill = "grey85", colour = NA),
  strip.text = element_text(colour = "grey10", size = rel(0.8)),
  strip.text.x = element_text(margin = margin(t = half_line,
                                              b = half_line)), 
  strip.text.y = element_text(angle = -90, 
                              margin = margin(l = half_line, 
                                              r = half_line)),
  strip.switch.pad.grid = unit(0.1, "cm"),
  strip.switch.pad.wrap = unit(0.1, "cm"), 
  
  plot.background = element_rect(colour = "white"), 
  plot.title = element_text(size = rel(1.2), 
                            margin = margin(b = half_line * 1.2)),
  plot.margin = margin(half_line, half_line, half_line, half_line),
  complete = TRUE)
}</code></pre>
<p><span class="success">Notez que la fonction <strong>rel()</strong> modifie la taille de mani?re relative ? la taille de base.</span></p>
</div>
<div id="infos" class="section level1">
<h1>Infos</h1>
<p><span class="warning">Cette analyse a ?t? r?alis?e avec le logiciel R (ver. 3.2.4) et le package <strong>ggplot2</strong> (ver. 2.1.0)</span></p>
</div>

<script>jQuery(document).ready(function () {
    jQuery('#rdoc h1').addClass('wiki_paragraph1');
    jQuery('#rdoc h2').addClass('wiki_paragraph2');
    jQuery('#rdoc h3').addClass('wiki_paragraph3');
    jQuery('#rdoc h4').addClass('wiki_paragraph4');
    });//add phpboost class to header</script>
<style>.content{padding:0px;}</style>
</div><!--end rdoc-->
<!--====================== stop here when you copy to sthda================-->


<!-- END HTML -->]]></description>
			<pubDate>Wed, 21 Sep 2016 22:00:04 +0200</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[ggplot2 barres d'erreur : Guide de démarrage rapide - Logiciel R et visualisation de données]]></title>
			<link>https://www.sthda.com/french/wiki/ggplot2-barres-d-erreur-guide-de-demarrage-rapide-logiciel-r-et-visualisation-de-donnees</link>
			<guid>https://www.sthda.com/french/wiki/ggplot2-barres-d-erreur-guide-de-demarrage-rapide-logiciel-r-et-visualisation-de-donnees</guid>
			<description><![CDATA[<!-- START HTML -->

  <!--====================== start from here when you copy to sthda================-->  
  <div id="rdoc">

<div id="TOC">
<ul>
<li><a href="#ajouter-des-barres-derreurs-sur-un-graphique-en-barre-et-un-graphique-lineaire">Ajouter des barres d?erreurs sur un graphique en barre et un graphique lin?aire</a></li>
<li><a href="#preparer-les-donnees">Pr?parer les donn?es</a><ul>
<li><a href="#barplot-avec-barre-derreurs">Barplot avec barre d?erreurs</a></li>
<li><a href="#graphique-lineaire-avec-barres-derreurs">Graphique lin?aire avec barres d??rreurs</a></li>
</ul></li>
<li><a href="#dot-plot-avec-lepoint-de-la-moyenne-et-les-barres-derreurs">Dot plot avec lepoint de la moyenne et les barres d??rreurs</a></li>
<li><a href="#infos">Infos</a></li>
</ul>
</div>

<p><br/></p>
<p>Ce <strong>tutoriel R</strong> d?crit comment cr?er un <strong>graphique</strong> avec des barres d?erreur utilisant le <strong>logiciel R</strong> et le package <strong>ggplot2</strong>.</p>
<p>Il y a diff?rents types de <strong>barres d?erreur</strong>, lesquelles peuvent ?tre cr??es en utilisant les fonctions ci-dessous:</p>
<ul>
<li>geom_errorbar()</li>
<li>geom_linerange()</li>
<li>geom_pointrange()</li>
<li>geom_crossbar()</li>
<li>geom_errorbarh()</li>
</ul>
<div id="ajouter-des-barres-derreurs-sur-un-graphique-en-barre-et-un-graphique-lineaire" class="section level1">
<h1>Ajouter des barres d?erreurs sur un graphique en barre et un graphique lin?aire</h1>
</div>
<div id="preparer-les-donnees" class="section level1">
<h1>Pr?parer les donn?es</h1>
<p>Le jeu de donn?es <em>ToothGrowth</em> est utilis?. Il d?crit l?effet de la Vitamine C sur la croissance des dents des porcs guin?ens. Trois doses de Vitamine C (0.5, 1 et 2 mg) avec chacune des m?thodes de livraison [orange juice (OJ) ou ascorbic acid (VC)] sont utilis?es:</p>
<pre class="r"><code>library(ggplot2)
df <- ToothGrowth
df$dose <- as.factor(df$dose)
head(df)</code></pre>
<pre><code>##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
## 4  5.8   VC  0.5
## 5  6.4   VC  0.5
## 6 10.0   VC  0.5</code></pre>
<p><span class="warning">Assurez-vous que la variable <em>dose</em> soit convertie en facteur en utilisant le script de R ci-dessus.</span></p>
<ul>
<li><em>len</em> : Longueur des dents
</li>
<li><em>dose</em> : Dose en milligrammes (0.5, 1, 2)</li>
<li><em>supp</em> : Type de suppl?ment (VC or OJ)</li>
</ul>
<p>Dans les exemples ci-dessous, nous allons dessiner la moyenne de la longueur des dents dans chaque groupe. L??cart-type est utilis? comme barre d?erreurs sur le graphe.</p>
<p>Tout d?abord, la fonction ci-dessous sera utilis?e pour calculer la moyenne et l??cart type, pour la variable d?int?r?t, dans chaque groupe:</p>
<pre class="r"><code>#+++++++++++++++++++++++++
# Fonction pour calculer la moyenne et l&#39;?cart-type
# pour chaque groupe
#+++++++++++++++++++++++++
# data : une data frame
# varname: le nom de la colonne contenant la variable 
  # d&#39;int?r?t 
# groupnames : vecteur contenant les noms des colonnes ? utiliser
  # comme des variables de grouping 
data_summary <- function(data, varname, groupnames){
  require(plyr)
  summary_func <- function(x, col){
    c(mean = mean(x[[col]], na.rm=TRUE),
      sd = sd(x[[col]], na.rm=TRUE))
  }
  data_sum<-ddply(data, groupnames, .fun=summary_func,
                  varname)
  data_sum <- rename(data_sum, c("mean" = varname))
 return(data_sum)
}</code></pre>
<p>R?sum? statistique des donn?es:</p>
<pre class="r"><code>df2 <- data_summary(ToothGrowth, varname="len", 
                    groupnames=c("supp", "dose"))
# Convertir dose en facteur
df2$dose=as.factor(df2$dose)
head(df2)</code></pre>
<pre><code>##   supp dose   len       sd
## 1   OJ  0.5 13.23 4.459709
## 2   OJ    1 22.70 3.910953
## 3   OJ    2 26.06 2.655058
## 4   VC  0.5  7.98 2.746634
## 5   VC    1 16.77 2.515309
## 6   VC    2 26.14 4.797731</code></pre>
<div id="barplot-avec-barre-derreurs" class="section level2">
<h2>Barplot avec barre d?erreurs</h2>
<p>La fonction <strong>geom_errorbar()</strong> est utilis?e:</p>
<pre class="r"><code>library(ggplot2)
# Graphique par d?faut
p<- ggplot(df2, aes(x=dose, y=len, fill=supp)) + 
  geom_bar(stat="identity", color="black", 
           position=position_dodge()) +
  geom_errorbar(aes(ymin=len-sd, ymax=len+sd), width=.2,
                 position=position_dodge(.9)) 
print(p)

# Graphique fini
p+labs(title="Tooth length per dose", x="Dose (mg)", y = "Length")+
   theme_classic() +
   scale_fill_manual(values=c(&#39;#999999&#39;,&#39;#E69F00&#39;))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-error-bar-barplot-data-visualization-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-error-bar-barplot-data-visualization-2.png" width="259.2" /></p>
<p><span class="warning">Notez que, vous pouvez choisir de garder uniquement les barres d?erreurs sup?rieures.</span></p>
<pre class="r"><code># Garder seulement les barres d&#39;?rreurs sup?rieures
 ggplot(df2, aes(x=dose, y=len, fill=supp)) + 
  geom_bar(stat="identity", color="black", position=position_dodge()) +
  geom_errorbar(aes(ymin=len, ymax=len+sd), width=.2,
                 position=position_dodge(.9)) </code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-error-bar-upper-error-bars-barplot-data-visualization-1.png" width="336" /></p>
<p>Lire plus sur ggplot2 et barplots : <a href="https://www.sthda.com/french/french/wiki/ggplot2-barplots-guide-de-demarrage-rapide-logiciel-r-et-visualisation-de-donnees">ggplot2 barplots</a></p>
</div>
<div id="graphique-lineaire-avec-barres-derreurs" class="section level2">
<h2>Graphique lin?aire avec barres d??rreurs</h2>
<pre class="r"><code># Graphique par d?faut
p<- ggplot(df2, aes(x=dose, y=len, group=supp, color=supp)) + 
  geom_line() +
  geom_point()+
  geom_errorbar(aes(ymin=len-sd, ymax=len+sd), width=.2,
                 position=position_dodge(0.05))
print(p)

# Graphique fini
p+labs(title="Tooth length per dose", x="Dose (mg)", y = "Length")+
   theme_classic() +
   scale_color_manual(values=c(&#39;#999999&#39;,&#39;#E69F00&#39;))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-error-bar-line-plot-barplot-data-visualization-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-error-bar-line-plot-barplot-data-visualization-2.png" width="259.2" /></p>
<p><span class="warning">Vous pouvez aussi utiliser <strong>geom_pointrange()</strong> ou <strong>geom_linerange()</strong> au lieu d?utiliser la fonction <strong>geom_errorbar()</strong></span></p>
<pre class="r"><code># Utiliser geom_pointrange
ggplot(df2, aes(x=dose, y=len, group=supp, color=supp)) + 
geom_pointrange(aes(ymin=len-sd, ymax=len+sd))

# Utiliser geom_line()+geom_pointrange()
ggplot(df2, aes(x=dose, y=len, group=supp, color=supp)) + 
  geom_line()+
  geom_pointrange(aes(ymin=len-sd, ymax=len+sd))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-error-bar-point-range-barplot-data-visualization-1.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-error-bar-point-range-barplot-data-visualization-2.png" width="240" /></p>
<p>Lire plus sur ggplot2 et les graphiques lin?aires : <a href="https://www.sthda.com/french/french/wiki/ggplot2-graphique-lineaire-guide-de-demarrage-rapide-logiciel-r-et-visualisation-de-donnees">ggplot2 graphique lin?aire</a></p>
</div>
</div>
<div id="dot-plot-avec-lepoint-de-la-moyenne-et-les-barres-derreurs" class="section level1">
<h1>Dot plot avec lepoint de la moyenne et les barres d??rreurs</h1>
<p>Les fonctions <strong>geom_dotplot()</strong> et <strong>stat_summary()</strong> sont utilis?es :</p>
<p>La moyenne +/- SD peut ?tre ajout?e comme un <em>crossbar</em> , une <strong>barre d?erreur</strong> ou un <em>pointrange</em> :</p>
<pre class="r"><code>p <- ggplot(df, aes(x=dose, y=len)) + 
    geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;)

# utiliser geom_crossbar()
p + stat_summary(fun.data="mean_sdl", fun.args = list(mult=1), 
                 geom="crossbar", width=0.5)

# Utiliser geom_errorbar()
p + stat_summary(fun.data=mean_sdl, fun.args = list(mult=1), 
        geom="errorbar", color="red", width=0.2) +
  stat_summary(fun.y=mean, geom="point", color="red")
   
# Utiliser geom_pointrange()
p + stat_summary(fun.data=mean_sdl, fun.args = list(mult=1), 
                 geom="pointrange", color="red")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-error-bar-add-mean-sd-barplot-data-visualization-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-error-bar-add-mean-sd-barplot-data-visualization-2.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-error-bar-add-mean-sd-barplot-data-visualization-3.png" width="192" /></p>
<p>Lire plus sur ggplot2 dot plots : <a href="https://www.sthda.com/french/french/wiki/ggplot2-dot-plot-guide-de-demarrage-rapide-logiciel-r-et-visualisation-de-donnees">ggplot2 dot plot</a></p>
</div>
<div id="infos" class="section level1">
<h1>Infos</h1>
<p><span class="warning"> Cette analyse a ?t? faite en utilisant le <strong>logiciel R</strong> (ver. 3.2.4) et le package <strong>ggplot2</strong> (ver. 2.1.0) </span></p>
</div>

<script>jQuery(document).ready(function () {
    jQuery('#rdoc h1').addClass('wiki_paragraph1');
    jQuery('#rdoc h2').addClass('wiki_paragraph2');
    jQuery('#rdoc h3').addClass('wiki_paragraph3');
    jQuery('#rdoc h4').addClass('wiki_paragraph4');
    });//add phpboost class to header</script>
<style>.content{padding:0px;}</style>
</div><!--end rdoc-->
<!--====================== stop here when you copy to sthda================-->


<!-- END HTML -->]]></description>
			<pubDate>Wed, 21 Sep 2016 21:55:57 +0200</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[ggplot2 dot plot  : Guide de démarrage rapide - Logiciel R et visualisation de données]]></title>
			<link>https://www.sthda.com/french/wiki/ggplot2-dot-plot-guide-de-demarrage-rapide-logiciel-r-et-visualisation-de-donnees</link>
			<guid>https://www.sthda.com/french/wiki/ggplot2-dot-plot-guide-de-demarrage-rapide-logiciel-r-et-visualisation-de-donnees</guid>
			<description><![CDATA[<!-- START HTML -->

  <!--====================== start from here when you copy to sthda================-->  
  <div id="rdoc">


<div id="TOC">
<ul>
<li><a href="#preparer-les-donnees">Pr?parer les donn?es</a></li>
<li><a href="#dot-plots-basiques">Dot plots basiques</a></li>
<li><a href="#ajouter-des-statistiques-descriptives-sur-un-dot-plot">Ajouter des statistiques descriptives sur un dot plot</a><ul>
<li><a href="#ajouter-le-point-de-la-moyenne-et-de-la-mediane">Ajouter le point de la moyenne et de la m?diane</a></li>
<li><a href="#dot-plot-avec-un-box-plot-et-un-violin-plot">Dot plot avec un box plot et un violin plot</a></li>
<li><a href="#ajouter-la-moyenne-et-lecart-type">Ajouter la moyenne et l??cart type</a></li>
</ul></li>
<li><a href="#changer-la-couleur-des-dot-plots-par-groupes">Changer la couleur des dot plots par groupes</a></li>
<li><a href="#changer-la-position-de-la-legende">Changer la position de la l?gende</a></li>
<li><a href="#changer-lordre-des-elements-dans-la-legende">Changer l?ordre des ?l?ments dans la l?gende</a></li>
<li><a href="#dot-plot-avec-plusieurs-groupes">Dot plot avec plusieurs groupes</a></li>
<li><a href="#dot-plots-personnalises">Dot plots personnalis?s</a></li>
<li><a href="#infos">Infos</a></li>
</ul>
</div>

<p><br/></p>
<p>Ce <strong>tutoriel R</strong> d?crit comment cr?er un <strong>dot plot</strong> avec le <strong>logiciel R</strong> et le package <strong>ggplot2</strong>.</p>
<p>La fonction <strong>geom_dotplot()</strong> est utilis?e.</p>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-logo-data-visualization-1.png" width="384" /></p>
<div id="preparer-les-donnees" class="section level1">
<h1>Pr?parer les donn?es</h1>
<p>Le jeu de donn?es <em>ToothGrowth</em> est utilis? dans les exemples suivants :</p>
<pre class="r"><code># Convertir la colonne dose en facteur
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
head(ToothGrowth)</code></pre>
<pre><code>##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
## 4  5.8   VC  0.5
## 5  6.4   VC  0.5
## 6 10.0   VC  0.5</code></pre>
<p><span class="warning">Assurez-vous que la variable <em>dose</em> soit convertie en facteur en utilisant le script de R ci-dessus.</span></p>
</div>
<div id="dot-plots-basiques" class="section level1">
<h1>Dot plots basiques</h1>
<pre class="r"><code>library(ggplot2)
# Dot plot basique
p<-ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;)
p

# Changer dotsize (taille) et stackratio (dispersion)
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;,
               stackratio=1.5, dotsize=1.2)

# Tourner dot plot
p + coord_flip()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-basic-dot-plot-data-visualization-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-basic-dot-plot-data-visualization-2.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-basic-dot-plot-data-visualization-3.png" width="192" /></p>
<p>Choisir les groupes ? afficher:</p>
<pre class="r"><code>p + scale_x_discrete(limits=c("0.5", "2"))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-choose-items-data-visualization-1.png" width="192" /></p>
</div>
<div id="ajouter-des-statistiques-descriptives-sur-un-dot-plot" class="section level1">
<h1>Ajouter des statistiques descriptives sur un dot plot</h1>
<p>La fonction <strong>stat_summary()</strong> peut ?tre utilis?e pour ajouter la moyenne/m?diane et plus sur un dot plot.</p>
<div id="ajouter-le-point-de-la-moyenne-et-de-la-mediane" class="section level2">
<h2>Ajouter le point de la moyenne et de la m?diane</h2>
<pre class="r"><code># dot plot avec le point de la moyenne
p + stat_summary(fun.y=mean, geom="point", shape=18,
                 size=3, color="red")

# dot plot avec le point de la m?diane
p + stat_summary(fun.y=median, geom="point", shape=18,
                 size=3, color="red")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-add-mean-median-points-data-visualization-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-add-mean-median-points-data-visualization-2.png" width="192" /></p>
</div>
<div id="dot-plot-avec-un-box-plot-et-un-violin-plot" class="section level2">
<h2>Dot plot avec un box plot et un violin plot</h2>
<pre class="r"><code># Ajouter un box plot basique
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_boxplot()+
  geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;)

# Ajouter un box plot de type notch
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_boxplot(notch = TRUE)+
  geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;)

# Ajouter un violin plot
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_violin(trim = FALSE)+
  geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-add-box-plot-violin-plot-data-visualization-1.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-add-box-plot-violin-plot-data-visualization-2.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-add-box-plot-violin-plot-data-visualization-3.png" width="240" /></p>
<p>Lire plus sur le box plot : <a href="https://www.sthda.com/french/french/wiki/ggplot2-box-plot-guide-de-demarrage-rapide-logiciel-r-et-visualisation-de-donnees">ggplot2 box plot</a></p>
<p>Lire plus sur le violin plot : <a href="https://www.sthda.com/french/french/wiki/ggplot2-violin-plot-guide-de-demarrage-rapide-logiciel-r-et-visualisation-de-donnees">ggplot2 violin plot</a></p>
</div>
<div id="ajouter-la-moyenne-et-lecart-type" class="section level2">
<h2>Ajouter la moyenne et l??cart type</h2>
<p>La fonction <strong>mean_sdl</strong> est utilis?e. <em>mean_sdl</em> calcule la <em>moyenne</em> plus ou moins une <em>constante</em> fois <em>l??cart type</em>.</p>
<p>Dans le code R ci-dessous, la constante est sp?cifi?e en utilisant l?argument <em>mult</em> (mult = 1). Par d?faut mult = 2.</p>
<p>La moyenne +/- SD peut ?tre ajout?e comme un <em>crossbar</em> ou un <em>pointrange</em> :</p>
<pre class="r"><code>p <- ggplot(ToothGrowth, aes(x=dose, y=len)) + 
    geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;)

p + stat_summary(fun.data="mean_sdl", fun.args = list(mult = 1), 
                 geom="crossbar", width=0.5)

p + stat_summary(fun.data=mean_sdl, fun.args = list(mult = 1), 
                 geom="pointrange", color="red")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-add-mean-sd-data-visualization-1.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-add-mean-sd-data-visualization-2.png" width="240" /></p>
<p><span class="warning">Notez que, vous pouvez aussi d?finir une fonction personnalis?e pour calculer les statistiques descriptives comme suit.</span></p>
<pre class="r"><code># Fonction pour produire les 
# statistiques descriptives (moyenne et +/- sd)
data_summary <- function(x) {
   m <- mean(x)
   ymin <- m-sd(x)
   ymax <- m+sd(x)
   return(c(y=m,ymin=ymin,ymax=ymax))
}</code></pre>
<p>Utiliser une fonction personnalis?e :</p>
<pre class="r"><code>p + stat_summary(fun.data=data_summary, color="blue")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-data-summary-custom-function-data-visualization-1.png" width="240" /></p>
</div>
</div>
<div id="changer-la-couleur-des-dot-plots-par-groupes" class="section level1">
<h1>Changer la couleur des dot plots par groupes</h1>
<p>Dans le code R ci-dessous, la couleur de remplissage du dot plot est automatiquement contr?l?e par les niveaux de la variable <em>dose</em>:</p>
<pre class="r"><code># Utiliser une couleur de remplissage unique
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
    geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;, fill="#FFAAD4")

# Changer la couleur des dot plots par groupe
p<-ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) +
  geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;)
p</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-change-colors-data-visualization-1.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-change-colors-data-visualization-2.png" width="240" /></p>
<p>Il est aussi possible de <em>changer manuellement les couleurs de remplissage du dot plot</em> en utilisant les fonctions:</p>
<ul>
<li><em>scale_fill_manual()</em> : pour utiliser des couleurs personnalis?es</li>
<li><em>scale_fill_brewer()</em> : pour utiliser les palettes de couleurs du package <em>RColorBrewer</em></li>
<li><em>scale_fill_grey()</em> : pour utiliser la palette de couleurs grises</li>
</ul>
<pre class="r"><code># Utiliser des couleurs personnalis?es
p+scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"))

# Utiliser les palettes RColorBrewer
p+scale_fill_brewer(palette="Dark2")

# Utiliser la palette de couleurs grises
p + scale_fill_grey() + theme_classic()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-manual-color-data-visualization-1.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-manual-color-data-visualization-2.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-manual-color-data-visualization-3.png" width="240" /></p>
<p>Lire plus sur ggplot2 et les couleurs ici: <a href="https://www.sthda.com/french/french/wiki/ggplot2-couleurs-changer-les-couleurs-automatiquement-et-manuellement-logiciel-r-et-visualisation-de-donnees">ggplot2 couleurs</a></p>
</div>
<div id="changer-la-position-de-la-legende" class="section level1">
<h1>Changer la position de la l?gende</h1>
<pre class="r"><code>p + theme(legend.position="top")

p + theme(legend.position="bottom")

p + theme(legend.position="none") # supprimer la l?gende</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-legend-position-data-visualization-1.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-legend-position-data-visualization-2.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-legend-position-data-visualization-3.png" width="240" /></p>
<p><span class="success">Les valeurs possibles pour l?argument <strong>legend.position</strong> sont : ?left?,?top?, ?right?, ?bottom?.</span></p>
<p>Lire plus sur ggplot2 et l?gende: <a href="https://www.sthda.com/french/french/wiki/ggplot2-legende-modifier-facilement-la-legende-d-un-graphique-logiciel-r-et-visualisation-de-donnees">ggplot2 l?gende</a></p>
</div>
<div id="changer-lordre-des-elements-dans-la-legende" class="section level1">
<h1>Changer l?ordre des ?l?ments dans la l?gende</h1>
<p>La fonction <strong>scale_x_discrete</strong> peut ?tre utilis?e pour changer l?ordre des ?l?ments en ?2?, ?0.5?, ?1? :</p>
<pre class="r"><code>p + scale_x_discrete(limits=c("2", "0.5", "1"))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-legend-item-order-data-visualization-1.png" width="240" /></p>
</div>
<div id="dot-plot-avec-plusieurs-groupes" class="section level1">
<h1>Dot plot avec plusieurs groupes</h1>
<pre class="r"><code># Changer la couleur des dot-plots par groupe
ggplot(ToothGrowth, aes(x=dose, y=len, fill=supp)) +
  geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;)

# Changer la position
p<-ggplot(ToothGrowth, aes(x=dose, y=len, fill=supp)) +
  geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;, 
               position=position_dodge(0.8))
p</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-dot-plot-multiple-groups-data-visualization-1.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-dot-plot-multiple-groups-data-visualization-2.png" width="240" /></p>
<p>Change les couleurs du dot plot et ajouter des box plots :</p>
<pre class="r"><code># Changer les couleurs
p+scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"))

# Ajouter des box plots
ggplot(ToothGrowth, aes(x=dose, y=len, fill=supp)) +
  geom_boxplot(fill="white")+
  geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;)

# Changer la position
ggplot(ToothGrowth, aes(x=dose, y=len, fill=supp)) +
  geom_boxplot(position=position_dodge(0.8))+
  geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;, 
               position=position_dodge(0.8))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-dot-plot-multiple-groups-change-colors-data-visualization-1.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-dot-plot-multiple-groups-change-colors-data-visualization-2.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-dot-plot-multiple-groups-change-colors-data-visualization-3.png" width="240" /></p>
</div>
<div id="dot-plots-personnalises" class="section level1">
<h1>Dot plots personnalis?s</h1>
<pre class="r"><code># Dot plot basique
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_boxplot()+
  geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;)+
  labs(title="Plot of length  by dose",x="Dose (mg)", y = "Length")+
  theme_classic()

# Changer la couleur par groupes
dp <-ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) + 
  geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;)+
  labs(title="Plot of length  by dose",x="Dose (mg)", y = "Length")

dp + theme_classic()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-customized-dot-plot-data-visualization-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-customized-dot-plot-data-visualization-2.png" width="259.2" /></p>
<p>Changer les couleurs de remplissage manuellement:</p>
<pre class="r"><code># Couleurs continues
dp + scale_fill_brewer(palette="Blues") + theme_classic()

# Couleurs discretes
dp + scale_fill_brewer(palette="Dark2") + theme_minimal()

# Gradient de couleurs
dp + scale_fill_brewer(palette="RdBu") + theme_minimal()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-customized-box-plot-change-color-data-visualization-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-customized-box-plot-change-color-data-visualization-2.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-dot-plot-customized-box-plot-change-color-data-visualization-3.png" width="259.2" /></p>
<p>Lire plus sur ggplot2 et les couleurs ici: <a href="https://www.sthda.com/french/french/wiki/ggplot2-couleurs-changer-les-couleurs-automatiquement-et-manuellement-logiciel-r-et-visualisation-de-donnees">ggplot2 couleurs</a></p>
</div>
<div id="infos" class="section level1">
<h1>Infos</h1>
<p><span class="warning"> Cette analyse a ?t? faite en utilisant le <strong>logiciel R</strong> (ver. 3.2.4) et le package <strong>ggplot2</strong> (ver. 2.1.0) </span></p>
</div>

<script>jQuery(document).ready(function () {
    jQuery('#rdoc h1').addClass('wiki_paragraph1');
    jQuery('#rdoc h2').addClass('wiki_paragraph2');
    jQuery('#rdoc h3').addClass('wiki_paragraph3');
    jQuery('#rdoc h4').addClass('wiki_paragraph4');
    });//add phpboost class to header</script>
<style>.content{padding:0px;}</style>
</div><!--end rdoc-->
<!--====================== stop here when you copy to sthda================-->


<!-- END HTML -->]]></description>
			<pubDate>Wed, 21 Sep 2016 21:53:07 +0200</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[ggplot2 textes : Ajouter du texte à un graphique - Logiciel R et visualisation de données]]></title>
			<link>https://www.sthda.com/french/wiki/ggplot2-textes-ajouter-du-texte-a-un-graphique-logiciel-r-et-visualisation-de-donnees</link>
			<guid>https://www.sthda.com/french/wiki/ggplot2-textes-ajouter-du-texte-a-un-graphique-logiciel-r-et-visualisation-de-donnees</guid>
			<description><![CDATA[<!-- START HTML -->

  <!--====================== start from here when you copy to sthda================-->  
  <div id="rdoc">

<div id="TOC">
<ul>
<li><a href="#preparer-des-donnees">Pr?parer des donn?es</a></li>
<li><a href="#ajouter-du-texte-avec-les-fonctions-geom_text-et-geom_label">Ajouter du texte avec les fonctions geom_text et geom_label</a></li>
<li><a href="#changer-la-couleur-et-la-taille-du-text-par-groupe">Changer la couleur et la taille du text par groupe</a></li>
<li><a href="#ajouter-du-texte-a-un-point-particulier">Ajouter du texte ? un point particulier</a></li>
<li><a href="#annotation_custom-ajouter-une-annotation-statique-en-haut-droite-haut-gauche">annotation_custom : Ajouter une annotation statique en haut-droite, haut-gauche, ?</a></li>
<li><a href="#ggrepel-reduction-du-chevauchement-des-textes">ggrepel: Reduction du chevauchement des textes</a><ul>
<li><a href="#nuage-de-points-avec-annotation">Nuage de points avec annotation</a></li>
<li><a href="#volcano-plot">Volcano plot</a></li>
</ul></li>
<li><a href="#infos">Infos</a></li>
</ul>
</div>

<p><br/> Cet article d?crit comment <strong>ajouter du texte</strong> ? un graphique g?n?rer en utilisant le package <strong>ggplot2</strong>.</p>
<p>Les fonctions ci-dessous peuvent ?tre utilis?es:</p>
<ul>
<li><strong>geom_text</strong>(): Ajouter du text directement ? un graphique</li>
<li><strong>geom_label</strong>(): Trace un rectangle sous le texte , ce qui rend plus facile la lecture.</li>
<li><strong>annotate</strong>(): Utile pour ajouter des petites annotations de texte ? un endroit particulier sur le graphique</li>
<li><strong>annotation_custom</strong>(): Ajoute des annotations statiques ? la m?me position sur chaque pannel graphique.</li>
</ul>
<div id="preparer-des-donnees" class="section level1">
<h1>Pr?parer des donn?es</h1>
<p>Nous allons utiliser un ?chantillon du jeu de donn?es mtcars. La fonction <strong>sample</strong>() peut ?tre utilis?e pour extraire 10 lignes:</p>
<pre class="r"><code># Subset 15 rows
set.seed(1234)
ss <- sample(1:32, 10)
df <- mtcars[ss, ]</code></pre>
</div>
<div id="ajouter-du-texte-avec-les-fonctions-geom_text-et-geom_label" class="section level1">
<h1>Ajouter du texte avec les fonctions geom_text et geom_label</h1>
<pre class="r"><code>library(ggplot2)

# Simple nuage de points
sp <- ggplot(df, aes(wt, mpg, label = rownames(df)))+
  geom_point()

# Ajouter du texte
sp + geom_text()

# Changer la taille du texte
sp + geom_text(size=6)

# Changer l&#39;ajustement vertical et horizontal
sp +  geom_text(hjust=0, vjust=0)

# Changer la police. Valeurs possibles : 1(normal),
# 2(bold), 3(italic), 4(bold.italic)
sp + geom_text(aes(fontface=2))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-geom-text-1.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-geom-text-2.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-geom-text-3.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-geom-text-4.png" width="240" /></p>
<ul>
<li>Changer la police</li>
</ul>
<pre class="r"><code>sp + geom_text(family = "Times New Roman")</code></pre>
<ul>
<li><strong>geom_label</strong>() fonctionne come <strong>geom_text</strong>() mais dessine un rectangle autour de chaque ?tiquette. Cela est utile lorsque les donn?es sont denses sur le graphique.</li>
</ul>
<pre class="r"><code>sp + geom_label()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-geom_label-1.png" width="288" /></p>
<br/>
<div class="block">
<p>D?autres arguments utiles de <strong>geom_text</strong>() et de <strong>geom_label</strong>() sont:</p>
<ul>
<li><strong>nudge_x</strong> et <strong>nudge_y</strong>: pour decaler les textes et les points correspondants. La fonction <strong>position_nudge</strong>() peut aussi ?tre utilis?e.</li>
<li><strong>check_overlap</strong> = TRUE: pour ?viter le ch?vauchement des points et des textes</li>
<li><strong>hjust</strong> et <strong>vjust</strong> peut ?tre une vecteur de caract?re (ggplot2 v >= 2.0.0): ?left?, ?center?, ?right?, ?bottom?, ?middle?, ?top?. De nouvelles options sont ?inward? et ?outward? qui aligne le texte vers et depuis le centre du graphique, respectivement.</li>
</ul>
</div>
<p><br/></p>
</div>
<div id="changer-la-couleur-et-la-taille-du-text-par-groupe" class="section level1">
<h1>Changer la couleur et la taille du text par groupe</h1>
<p>Il est possible de changer l?apparence du texte en utilisant les ?aesthetics? (color, size,?) :</p>
<pre class="r"><code>sp2 <- ggplot(mtcars, aes(x=wt, y=mpg, label=rownames(mtcars)))+
  geom_point()

# Colorer en fonction du groupe
sp2 + geom_text(aes(color=factor(cyl)))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-geom-text-appearance-1.png" width="384" /></p>
<pre class="r"><code># Changer la taille du texte en utilisant une variable continue
sp2 + geom_text(aes(size=wt))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-geom-text-appearance-2.png" width="384" /></p>
<pre class="r"><code>sp2 + geom_text(aes(size=wt)) + scale_size(range=c(3,6))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-geom-text-appearance-3.png" width="384" /></p>
</div>
<div id="ajouter-du-texte-a-un-point-particulier" class="section level1">
<h1>Ajouter du texte ? un point particulier</h1>
<p>Les fonctions <strong>geom_text()</strong> et <strong>annotate()</strong> peuvent ?tre utilis?es :</p>
<pre class="r"><code># Solution 1
sp2 + geom_text(x=3, y=30, label="Scatter plot")

# Solution 2
sp2 + annotate(geom="text", x=3, y=30, label="Scatter plot",
              color="red")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-geom-text-annotation-coordinate-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-geom-text-annotation-coordinate-2.png" width="192" /></p>
</div>
<div id="annotation_custom-ajouter-une-annotation-statique-en-haut-droite-haut-gauche" class="section level1">
<h1>annotation_custom : Ajouter une annotation statique en haut-droite, haut-gauche, ?</h1>
<p>Les fonctions <strong>annotation_custom()</strong> et <strong>textGrob()</strong> sont utilis?es pour ajouter des annotations statiques qui sont au m?me endroit dans tous les panels. Le package <em>grid</em> est n?cessaire :</p>
<pre class="r"><code>library(grid)
# Cr?er un ?lement textuel
grob <- grobTree(textGrob("Scatter plot", x=0.1,  y=0.95, hjust=0,
  gp=gpar(col="red", fontsize=13, fontface="italic")))
# Ajouter au graphique
sp2 + annotation_custom(grob)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-text-grob-1.png" width="192" /></p>
<p><strong>Facet</strong> : Dans le graphique ci-dessous, l?annotation est ? la m?me place (dans chaque panel) m?me si les ?chelles des axes varient.</p>
<pre class="r"><code>sp2 + annotation_custom(grob)+facet_wrap(~cyl, scales="free")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-annotation-custom-faceting-1.png" width="480" /></p>
</div>
<div id="ggrepel-reduction-du-chevauchement-des-textes" class="section level1">
<h1>ggrepel: Reduction du chevauchement des textes</h1>
<p>Il y a deux fonctions importantes dans le package R <strong>ggrepel</strong>:</p>
<ul>
<li><strong>geom_label_repel</strong>()</li>
<li><strong>geom_text_repel</strong>()</li>
</ul>
<div id="nuage-de-points-avec-annotation" class="section level2">
<h2>Nuage de points avec annotation</h2>
<p>Nous commen?ons par cr?er un simple nuage de points en utilisant un ?chantillon du jeu de donn?es <em>mtcars</em>, contenant 15 lignes.</p>
<ol style="list-style-type: decimal">
<li><strong>Preparation des donn?es</strong>:</li>
</ol>
<pre class="r"><code># Prendre 15 lignes
set.seed(1234)
ss <- sample(1:32, 15)
df <- mtcars[ss, ]</code></pre>
<ol start="2" style="list-style-type: decimal">
<li>**Cr?er un nuage de points*:</li>
</ol>
<pre class="r"><code>p <- ggplot(df, aes(wt, mpg)) +
  geom_point(color = &#39;red&#39;) +
  theme_classic(base_size = 10)</code></pre>
<ol start="3" style="list-style-type: decimal">
<li><strong>Ajouter du texte</strong>:</li>
</ol>
<pre class="r"><code># Ajouter du texte avec ggplot2::geom_text
p + geom_text(aes(label = rownames(df)),
              size = 3.5)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-ggrepel-1.png" width="537.6" /></p>
<pre class="r"><code># Utiliser ggrepel::geom_text_repel
require("ggrepel")
set.seed(42)
p + geom_text_repel(aes(label = rownames(df)),
                    size = 3.5) </code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-ggrepel-2.png" width="537.6" /></p>
<pre class="r"><code># Utiliser ggrepel::geom_label_repel and 
# Changer la couleur par groupes
set.seed(42)
p + geom_label_repel(aes(label = rownames(df),
                    fill = factor(cyl)), color = &#39;white&#39;,
                    size = 3.5) +
   theme(legend.position = "bottom")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-ggrepel-3.png" width="537.6" /></p>
</div>
<div id="volcano-plot" class="section level2">
<h2>Volcano plot</h2>
<pre class="r"><code>genes <- read.table("https://gist.githubusercontent.com/stephenturner/806e31fce55a8b7175af/raw/1a507c4c3f9f1baaa3a69187223ff3d3050628d4/results.txt", header = TRUE)
genes$Significant <- ifelse(genes$padj < 0.05, "FDR < 0.05", "Not Sig")

ggplot(genes, aes(x = log2FoldChange, y = -log10(pvalue))) +
  geom_point(aes(color = Significant)) +
  scale_color_manual(values = c("red", "grey")) +
  theme_bw(base_size = 12) + theme(legend.position = "bottom") +
  geom_text_repel(
    data = subset(genes, padj < 0.05),
    aes(label = Gene),
    size = 5,
    box.padding = unit(0.35, "lines"),
    point.padding = unit(0.3, "lines")
  )</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-add-text-volcano-plot-1.png" width="537.6" /></p>
<p><a href="http://www.gettinggeneticsdone.com/2016/01/repel-overlapping-text-labels-in-ggplot2.html">source</a></p>
</div>
</div>
<div id="infos" class="section level1">
<h1>Infos</h1>
<p><span class="warning">Cette analyse a ?t? r?alis?e avec le logiciel R (ver. 3.2.4) et le package <strong>ggplot2</strong> (ver. 2.1.0)</span></p>
</div>

<script>jQuery(document).ready(function () {
    jQuery('#rdoc h1').addClass('wiki_paragraph1');
    jQuery('#rdoc h2').addClass('wiki_paragraph2');
    jQuery('#rdoc h3').addClass('wiki_paragraph3');
    jQuery('#rdoc h4').addClass('wiki_paragraph4');
    });//add phpboost class to header</script>
<style>.content{padding:0px;}</style>
</div><!--end rdoc-->
<!--====================== stop here when you copy to sthda================-->



<!-- END HTML -->]]></description>
			<pubDate>Wed, 21 Sep 2016 21:50:00 +0200</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[ggplot2 échelle et transformation des axes - Logiciel R et visualisation de données]]></title>
			<link>https://www.sthda.com/french/wiki/ggplot2-echelle-et-transformation-des-axes-logiciel-r-et-visualisation-de-donnees</link>
			<guid>https://www.sthda.com/french/wiki/ggplot2-echelle-et-transformation-des-axes-logiciel-r-et-visualisation-de-donnees</guid>
			<description><![CDATA[<!-- START HTML -->

  <!--====================== start from here when you copy to sthda================-->  
  <div id="rdoc">
<div id="TOC">
<ul>
<li><a href="#preparer-les-donnees">Pr?parer les donn?es</a></li>
<li><a href="#exemple-de-graphes">Exemple de graphes</a></li>
<li><a href="#changer-les-limites-des-axes-x-et-y">Changer les limites des axes x et y</a><ul>
<li><a href="#utiliser-les-fonctions-xlim-et-ylim">Utiliser les fonctions xlim() et ylim()</a></li>
<li><a href="#utiliser-la-fonction-expand_limts">Utiliser la fonction expand_limts()</a></li>
<li><a href="#utiliser-les-fonctions-scale_xx">Utiliser les fonctions scale_xx()</a></li>
</ul></li>
<li><a href="#transformation-des-axes">Transformation des axes</a><ul>
<li><a href="#les-transformations-log-et-sqrt">Les transformations log et sqrt</a></li>
<li><a href="#formater-les-etiquettes-des-graduations-des-axes">Formater les ?tiquettes des graduations des axes</a></li>
<li><a href="#afficher-des-graduations-log">Afficher des graduations log</a></li>
</ul></li>
<li><a href="#formater-les-axes-pour-des-dates">Formater les axes pour des dates</a><ul>
<li><a href="#exemple-de-donnees">Exemple de donn?es</a></li>
<li><a href="#creer-des-donnees-de-serie-temporelle">Cr?er des donn?es de s?rie temporelle</a></li>
<li><a href="#graphe-avec-des-dates">Graphe avec des dates</a></li>
<li><a href="#formater-les-etiquettes-de-graduations">Formater les ?tiquettes de graduations</a></li>
<li><a href="#limite-des-axes-pour-des-dates">Limite des axes pour des dates</a></li>
</ul></li>
<li><a href="#aller-plus-loin">Aller plus loin</a></li>
<li><a href="#infos">Infos</a></li>
</ul>
</div>
<p><br/> Ce <strong>tutoriel R</strong> d?crit comment modifier les <strong>limites des axes x et y</strong> (valeurs minimales et maximales) en utilisant le package <strong>ggplot2</strong>. La transformation des axes (<strong>?chelle logarithmique</strong>, <strong>racine carr?e</strong>, ?) et les <strong>axes pour des dates</strong> sont ?galement couverts dans cet article.</p>
<div id="preparer-les-donnees" class="section level1">
<h1>Pr?parer les donn?es</h1>
<p>Le jeu de donn?es <em>ToothGrowth</em> est utilis? dans les exemples ci-dessous :</p>
<pre class="r"><code># Convertir la variable dose de type "numeric" au type "factor"
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
head(ToothGrowth)</code></pre>
<pre><code>##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
## 4  5.8   VC  0.5
## 5  6.4   VC  0.5
## 6 10.0   VC  0.5</code></pre>
<p><span class="warning">Assurez-vous que la variable <em>dose</em> soit convertie en une variable de type ?factor? en utilisant le script de R ci-dessus.</span></p>
</div>
<div id="exemple-de-graphes" class="section level1">
<h1>Exemple de graphes</h1>
<pre class="r"><code>library(ggplot2)
# Box plot 
bp <- ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot()
bp
# Nuage de points
sp <- ggplot(cars, aes(x = speed, y = dist)) + geom_point()
sp</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-example-1.png" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-example-2.png" width="240" /></p>
</div>
<div id="changer-les-limites-des-axes-x-et-y" class="section level1">
<h1>Changer les limites des axes x et y</h1>
<p>Il existe diff?rentes fonctions pour changer les limites des axes:</p>
<ul>
<li>xlim() et ylim()</li>
<li>expand_limits()</li>
<li>scale_x_continuous() et scale_y_continuous()</li>
</ul>
<div id="utiliser-les-fonctions-xlim-et-ylim" class="section level2">
<h2>Utiliser les fonctions xlim() et ylim()</h2>
<p>Pour changer les limites d?un axe continu, les fonctions <strong>xlim()</strong> et <strong>ylim()</strong> peuvent ?tre utilis?es comme suit :</p>
<pre class="r"><code># Limites de l'axe des x
sp + xlim(min, max)
# Limites de l'axe des y
sp + ylim(min, max)</code></pre>
<p><span class="success">min et max sont les valeurs minimales et maximales de chaque axe.</span></p>
<pre class="r"><code># Box plot : changer les limites de l'axe des y
bp + ylim(0,50)
# Nuage de points : limites des axes x et y
sp + xlim(5, 40)+ylim(0, 150)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-axis-limits-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-axis-limits-2.png" width="192" /></p>
</div>
<div id="utiliser-la-fonction-expand_limts" class="section level2">
<h2>Utiliser la fonction expand_limts()</h2>
<div class="warning">
<p>Notez que, la fonction <strong>expand_limits()</strong> peut ?tre utilis?e pour :</p>
<ul>
<li>d?finir rapidement le point d?intersection des axes x et y ? (0,0)</li>
<li>changer les limites des axes x et y</li>
</ul>
</div>
<pre class="r"><code># Fixer l'intersection des axes x et y ? (0,0)
sp + expand_limits(x=0, y=0)
# changer les limites des axes
sp + expand_limits(x=c(0,30), y=c(0, 150))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-expand-limits-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-expand-limits-2.png" width="192" /></p>
</div>
<div id="utiliser-les-fonctions-scale_xx" class="section level2">
<h2>Utiliser les fonctions scale_xx()</h2>
<p>Il est aussi possible d?utiliser les fonctions <strong>scale_x_continuous()</strong> et <strong>scale_y_continuous()</strong> pour changer les limites des axes x et y, respectivement.</p>
<p>Les formats simplifi?s de ces fonctions sont:</p>
<pre class="r"><code>scale_x_continuous(name, breaks, labels, limits, trans)
scale_y_continuous(name, breaks, labels, limits, trans)</code></pre>
<br/>
<div class="block">
<ul>
<li><strong>name</strong> : ?tiquettes (titres) des axes x et y</li>
<li><strong>breaks</strong> : pour contr?ler les graduations et les traits de la grille. Parmi les valeurs possibles, il y a:
<ul>
<li><em>NULL</em> : cache toutes les graduations</li>
<li><strong>waiver()</strong> : graduations par d?faut</li>
<li>un vecteur de type <strong>character</strong> ou <strong>numeric</strong> sp?cifiant les graduations ? afficher</li>
</ul></li>
<li><strong>labels</strong> : ?tiquettes des graduations. Les valeurs possibles sont :
<ul>
<li><strong>NULL</strong>: pas d??tiquettes</li>
<li><strong>waiver()</strong>: ?tiquettes par d?faut</li>
<li><strong>un vecteur de caract?re</strong> ? utiliser comme ?tiquettes des graduations</li>
</ul></li>
<li><strong>limits</strong> : un vecteur num?rique sp?cifiant les limites des axes x et y (min, max)</li>
<li><strong>trans</strong> pour la transformation des axes. Les valeurs possibles sont ?log2?, ?log10?, ?</li>
</ul>
</div>
<p><br/></p>
<p>Les fonctions <em>scale_x_continuous()</em> et <em>scale_y_continuous()</em> peuvent ?tre utilis?es comme suit :</p>
<pre class="r"><code># Changer les ?tiquettes et les limites des axes x et y
sp + scale_x_continuous(name="Speed of cars", limits=c(0, 30)) +
  scale_y_continuous(name="Stopping distance", limits=c(0, 150))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-scale-continuous-1.png" width="192" /></p>
</div>
</div>
<div id="transformation-des-axes" class="section level1">
<h1>Transformation des axes</h1>
<div id="les-transformations-log-et-sqrt" class="section level2">
<h2>Les transformations log et sqrt</h2>
<p>Les fonctions pour la transformations des axes sont:</p>
<ul>
<li><em>scale_x_log10(), scale_y_log10()</em> : pour la transformation log10</li>
<li><em>scale_x_sqrt(), scale_y_sqrt()</em> : pour la transformation sqrt (racine carr?e)</li>
<li><em>scale_x_reverse(), scale_y_reverse()</em> : pour inverser les coordonn?es</li>
<li><em>coord_trans(x =?log10?, y=?log10?)</em> : les valeurs possibles pour x et y sont ?log12?, ?log10?, ?sqrt?, ?</li>
<li><em>scale_x_continuous(trans=?log2?), scale_y_continuous(trans=?log2?)</em> : une autre valeur possible pour l?argument <em>trans</em> est ?log10?</li>
</ul>
<p>Ces fonctions peuvent ?tre utilis?es comme suit :</p>
<pre class="r"><code># Nuage de points par d?faut
sp <- ggplot(cars, aes(x = speed, y = dist)) + geom_point()
sp
# Transformation log en utilisant scale_xx()
# valeurs possibles pour trans : 'log2', 'log10','sqrt'
sp + scale_x_continuous(trans='log2') +
  scale_y_continuous(trans='log2')
# Transformation sqrt
sp + scale_y_sqrt()
# Inverser les coordonn?es
sp + scale_y_reverse() </code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-axis-transformations-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-axis-transformations-2.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-axis-transformations-3.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-axis-transformations-4.png" width="192" /></p>
<p><span class="warning">La fonction <strong>coord_trans()</strong> peut ?tre utilis?e aussi pour la transformation des axes</span></p>
<pre class="r"><code># Valeurs possibles pour x et y : "log2", "log10", "sqrt", ...
sp + coord_trans(x="log2", y="log2")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-coord-trans-1.png" width="192" /></p>
</div>
<div id="formater-les-etiquettes-des-graduations-des-axes" class="section level2">
<h2>Formater les ?tiquettes des graduations des axes</h2>
<p><span class="success">Les ?tiquettes des graduations peuvent ?tre format?es de mani?re ? montrer des exposants. Le package <strong>scales</strong> est requis.</span></p>
<pre class="r"><code># Echelle log2 de l'axe des y (avec espacement visuelle ?gale)
library(scales)
sp + scale_y_continuous(trans = log2_trans())
# Montrer des exposants
sp + scale_y_continuous(trans = log2_trans(),
    breaks = trans_breaks("log2", function(x) 2^x),
    labels = trans_format("log2", math_format(2^.x)))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-log-scale-show-exponents-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-log-scale-show-exponents-2.png" width="192" /></p>
<p><span class="success">Notez que beaucoup de fonctions de transformation sont disponibles en utilisant le package <strong>scales</strong>: log10_trans(), sqrt_trans(), etc. Utiliser la commande help(trans_new) pour une liste compl?te.</span></p>
<p><strong>Formater les ?tiquettes des axes</strong> :</p>
<pre class="r"><code>library(scales)
# Pourcentage
sp + scale_y_continuous(labels = percent)
# dollar
sp + scale_y_continuous(labels = dollar)
# scientifique
sp + scale_y_continuous(labels = scientific)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-format-axis-tick-mark-labels-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-format-axis-tick-mark-labels-2.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-format-axis-tick-mark-labels-3.png" width="192" /></p>
</div>
<div id="afficher-des-graduations-log" class="section level2">
<h2>Afficher des graduations log</h2>
<p>Il est possible d?ajouter des graduations log en utilisant la fonction <strong>annotation_logticks()</strong>.</p>
<p><span class="success">Notez que ce type de graduations ? un sens uniquement pour log base 10.</span></p>
<p>Le jeu de donn?es <em>Animals</em>, dans le package <em>MASS</em>, est utilis? :</p>
<pre class="r"><code>library(MASS)
head(Animals)</code></pre>
<pre><code>##                     body brain
## Mountain beaver     1.35   8.1
## Cow               465.00 423.0
## Grey wolf          36.33 119.5
## Goat               27.66 115.0
## Guinea pig          1.04   5.5
## Dipliodocus     11700.00  50.0</code></pre>
<p>La fonction <strong>annotation_logticks()</strong> peut ?tre utilis?e comme suit :</p>
<pre class="r"><code>library(MASS) # Acc?der aux donn?es Animals
library(scales) # Acc?der aux fonctions de transformations 
# les axes x et y sont transform?s et format?s
p2 <- ggplot(Animals, aes(x = body, y = brain)) + geom_point() +
     scale_x_log10(breaks = trans_breaks("log10", function(x) 10^x),
              labels = trans_format("log10", math_format(10^.x))) +
     scale_y_log10(breaks = trans_breaks("log10", function(x) 10^x),
              labels = trans_format("log10", math_format(10^.x))) +
     theme_bw()
# graphique log-log sans les ?tiquettes de graduations
p2
# Montrer les ?tiquettes de graduations
p2 + annotation_logticks()  </code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-annotation-logticks-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-annotation-logticks-2.png" width="259.2" /></p>
<p><span class="warning">Notez que, par d?faut les graduations log sont en bas et ? gauche.</span></p>
<p>Pour sp?cifier le c?t? des graduations :</p>
<pre class="r"><code># Graduations ? gauche et ? droite
p2 + annotation_logticks(sides="lr")
# Tous les c?t?s
p2+annotation_logticks(sides="trbl")</code></pre>
<p>Les valeurs possibles pour l?argument <em>sides</em> sont :</p>
<ul>
<li>t : en haut</li>
<li>r : ? droite</li>
<li>b : en bas</li>
<li>l : ? gauche</li>
<li>la combinaison de t, r, b et l</li>
</ul>
</div>
</div>
<div id="formater-les-axes-pour-des-dates" class="section level1">
<h1>Formater les axes pour des dates</h1>
<p>Les fonctions <strong>scale_x_date()</strong> et <strong>scale_y_date()</strong> sont utilis?es.</p>
<div id="exemple-de-donnees" class="section level2">
<h2>Exemple de donn?es</h2>
</div>
<div id="creer-des-donnees-de-serie-temporelle" class="section level2">
<h2>Cr?er des donn?es de s?rie temporelle</h2>
<pre class="r"><code>df <- data.frame(
  date = seq(Sys.Date(), len=100, by="1 day")[sample(100, 50)],
  price = runif(50)
)
df <- df[order(df$date), ]
head(df)</code></pre>
<pre><code>##          date      price
## 22 2016-09-21 0.12484956
## 10 2016-09-22 0.39837832
## 40 2016-09-23 0.52704801
## 45 2016-09-25 0.05024957
## 32 2016-09-27 0.98075239
## 49 2016-09-28 0.64052733</code></pre>
</div>
<div id="graphe-avec-des-dates" class="section level2">
<h2>Graphe avec des dates</h2>
<pre class="r"><code>dp <- ggplot(data=df, aes(x=date, y=price)) + geom_line()
dp</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-date-axis-1.png" width="259.2" /></p>
</div>
<div id="formater-les-etiquettes-de-graduations" class="section level2">
<h2>Formater les ?tiquettes de graduations</h2>
<p>Charger le package <em>scales</em> pour le formatage.</p>
<pre class="r"><code>library(scales)
# Format : month/day
dp + scale_x_date(labels = date_format("%m/%d")) +
  theme(axis.text.x = element_text(angle=45))
# Format : Week
dp + scale_x_date(labels = date_format("%W"))
# Months only
dp + scale_x_date(breaks = date_breaks("months"),
  labels = date_format("%b"))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-date-axis-format-ticks-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-date-axis-format-ticks-2.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-date-axis-format-ticks-3.png" width="259.2" /></p>
<p><span class="warning">Notez que, depuis ggplot2 v2.0.0, les ?chelles date et datetime poss?dent les param?tres date_breaks, date_minor_breaks et date_labels. Vous n?avez donc plus besoin de scales::date_breaks() ou de scales::date_format().</span></p>
</div>
<div id="limite-des-axes-pour-des-dates" class="section level2">
<h2>Limite des axes pour des dates</h2>
<p>Le jeu de donn?es <em>economic</em> (package ggplot2) est utilis? :</p>
<pre class="r"><code>head(economics)</code></pre>
<pre><code>##         date   pce    pop psavert uempmed unemploy
## 1 1967-07-01 507.4 198712    12.5     4.5     2944
## 2 1967-08-01 510.5 198911    12.5     4.7     2945
## 3 1967-09-01 516.3 199113    11.7     4.6     2958
## 4 1967-10-01 512.9 199311    12.5     4.9     3143
## 5 1967-11-01 518.1 199498    12.5     4.7     3066
## 6 1967-12-01 525.8 199657    12.1     4.8     3018</code></pre>
<p>Cr?er le graphique de <em>psavert</em> en fonction de <em>date</em>:</p>
<ul>
<li>date : Mois de collection des donn?es</li>
<li>psavert : ?personal savings rate?</li>
</ul>
<pre class="r"><code># Graphe avec des dates
dp <- ggplot(data=economics, aes(x=date, y=psavert)) + geom_line()
dp
# Limites des axes c(min, max)
min <- as.Date("2002-1-1")
max <- max(economics$date)
dp+ scale_x_date(limits = c(min, max))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-date-axis-limits-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-axis-scale-date-axis-limits-2.png" width="259.2" /></p>
</div>
</div>
<div id="aller-plus-loin" class="section level1">
<h1>Aller plus loin</h1>
<p>Voir aussi les fonctions <strong>scale_x_datetime()</strong> et <strong>scale_y_datetime()</strong> pour dessiner des graphiques contenant des dates et le temps.</p>
</div>
<div id="infos" class="section level1">
<h1>Infos</h1>
<p><span class="warning">Cette analyse a ?t? r?alis?e avec le logiciel R (ver. 3.2.4) et le package <strong>ggplot2</strong> (ver. 2.1.0)</span></p>
</div>
<script>jQuery(document).ready(function () {
    jQuery('#rdoc h1').addClass('wiki_paragraph1');
    jQuery('#rdoc h2').addClass('wiki_paragraph2');
    jQuery('#rdoc h3').addClass('wiki_paragraph3');
    jQuery('#rdoc h4').addClass('wiki_paragraph4');
    });//add phpboost class to header</script>
<style>.content{padding:0px;}</style>
</div><!--end rdoc-->
<!--====================== stop here when you copy to sthda================-->

<!-- END HTML -->]]></description>
			<pubDate>Wed, 21 Sep 2016 21:20:58 +0200</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[ggplot2 - Combiner plusieurs graphiques sur la même page - Logiciel R et visualisation de données]]></title>
			<link>https://www.sthda.com/french/wiki/ggplot2-combiner-plusieurs-graphiques-sur-la-m-me-page-logiciel-r-et-visualisation-de-donn-es</link>
			<guid>https://www.sthda.com/french/wiki/ggplot2-combiner-plusieurs-graphiques-sur-la-m-me-page-logiciel-r-et-visualisation-de-donn-es</guid>
			<description><![CDATA[<!-- START HTML -->

  <!--====================== start from here when you copy to sthda================-->  
  <div id="rdoc">

<div id="TOC">
<ul>
<li><a href="#installer-et-charger-les-packages-necessaires">Installer et charger les packages n?cessaires</a><ul>
<li><a href="#installer-et-charger-le-package-gridextra">Installer et charger le package gridExtra</a></li>
<li><a href="#installer-et-charger-le-package-cowplot">Installer et charger le package cowplot</a></li>
</ul></li>
<li><a href="#preparer-des-donnees">Pr?parer des donn?es</a></li>
<li><a href="#cowplot-graphs-pret-a-publier">Cowplot: Graphs pr?t-?-publier</a><ul>
<li><a href="#graph-simples">Graph simples</a></li>
<li><a href="#combiner-plusieurs-graphes-en-utilisant-cowplot">Combiner plusieurs graphes en utilisant cowplot</a></li>
</ul></li>
<li><a href="#grid.arrange-creer-et-organiser-plusieurs-graphiques">grid.arrange: Cr?er et organiser plusieurs graphiques</a><ul>
<li><a href="#ajouter-une-legende-commune-pour-plusieurs-graphiques-ggplot2">Ajouter une l?gende commune pour plusieurs graphiques ggplot2</a></li>
<li><a href="#nuage-de-point-avec-courbe-de-distribution-marginale">Nuage de point avec courbe de distribution marginale</a></li>
<li><a href="#creer-une-mise-en-page-complexe-en-utilisant-la-fonction-viewport">Cr?er une mise en page complexe en utilisant la fonction viewport()</a></li>
</ul></li>
<li><a href="#inserez-un-element-graphique-externe-dans-un-ggplot">Ins?rez un ?l?ment graphique externe dans un ggplot</a></li>
<li><a href="#combiner-table-texte-et-graphique-ggplot2">Combiner table, texte et graphique ggplot2</a></li>
<li><a href="#infos">Infos</a></li>
</ul>
</div>

<p><br/></p>
<p>Pour <strong>combiner plusieurs graphes de ggplot2 sur la m?me page</strong>, les fonctions standard de R - par() et layout() - ne peuvent ?tre utilis?es.</p>
<p><span class="success">Ce <strong>tutoriel R</strong> va vous montrer, ?tape par ?tape, comment mettre plusieurs ggplots sur une seule page.</span></p>
<p>Les fonctions <strong>grid.arrange()</strong>[dans le package <strong>gridExtra</strong>] et <strong>plot_grid()</strong>[dans le package <strong>cowplot</strong>], seront utilis?es.</p>
<div id="installer-et-charger-les-packages-necessaires" class="section level1">
<h1>Installer et charger les packages n?cessaires</h1>
<div id="installer-et-charger-le-package-gridextra" class="section level2">
<h2>Installer et charger le package gridExtra</h2>
<pre class="r"><code>install.packages("gridExtra")
library("gridExtra")</code></pre>
</div>
<div id="installer-et-charger-le-package-cowplot" class="section level2">
<h2>Installer et charger le package cowplot</h2>
<p><strong>cowplot</strong> peut ?tre install? comme suit:</p>
<pre class="r"><code>install.packages("cowplot")</code></pre>
<p>OU</p>
<p>comme suit en utilisant le package <strong>devtools</strong> (devtools devrait ?tre install? avant d?utiliser le code ci-dessous):</p>
<pre class="r"><code>devtools::install_github("wilkelab/cowplot")</code></pre>
<p>Charger <strong>cowplot</strong>:</p>
<pre class="r"><code>library("cowplot")</code></pre>
</div>
</div>
<div id="preparer-des-donnees" class="section level1">
<h1>Pr?parer des donn?es</h1>
<p>Le jeu de donn?es <em>ToothGrowth</em> peut ?tre utilis? :</p>
<pre class="r"><code>df <- ToothGrowth
# Convertir la colonne dose en facteur
df$dose <- as.factor(df$dose)
head(df)</code></pre>
<pre><code>##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
## 4  5.8   VC  0.5
## 5  6.4   VC  0.5
## 6 10.0   VC  0.5</code></pre>
</div>
<div id="cowplot-graphs-pret-a-publier" class="section level1">
<h1>Cowplot: Graphs pr?t-?-publier</h1>
<p>Le package <strong>cowplot</strong> est une extension de <strong>ggplot2</strong> et il peut ?tre utiliser pour g?n?rer des graphiques pr?t-?-publier.</p>
<div id="graph-simples" class="section level2">
<h2>Graph simples</h2>
<pre class="r"><code>library(cowplot)
# Graphe par d?faut
bp <- ggplot(df, aes(x=dose, y=len, color=dose)) +
  geom_boxplot() + 
  theme(legend.position = "none")
bp

# Ajouter les grilles
bp + background_grid(major = "xy", minor = "none")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-mixing-multiple-plots-cowplot-ggplot2-1.png" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-mixing-multiple-plots-cowplot-ggplot2-2.png" width="192" /></p>
<p>Rappelons que, la fonction <strong>ggsave()</strong> [dans le package <strong>ggplot2</strong>] peut ?tre utilis?e pour enregistrer des ggplots. Cependant, lorsque l?on travaille avec <strong>cowplot</strong>, la fonction <strong>save_plot()</strong> [dans le package <strong>cowplot</strong>] est pr?f?r?e. Il est une alternative ? <strong>ggsave</strong> avec un meilleur support pour les graphiques multi-figures.</p>
<pre class="r"><code>save_plot("mpg.pdf", plot.mpg,
      base_aspect_ratio = 1.3 #Laisser de la place pour la l?gende
          )</code></pre>
</div>
<div id="combiner-plusieurs-graphes-en-utilisant-cowplot" class="section level2">
<h2>Combiner plusieurs graphes en utilisant cowplot</h2>
<pre class="r"><code># Nuage de points
sp <- ggplot(mpg, aes(x = cty, y = hwy, colour = factor(cyl)))+ 
  geom_point(size=2.5)
sp

# Bar plot
bp <- ggplot(diamonds, aes(clarity, fill = cut)) +
  geom_bar() +
  theme(axis.text.x = element_text(angle=70, vjust=0.5))
bp</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-mixing-multiple-plots-cowplot-ggplot2-arranging-multiple-plot-1.png" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-mixing-multiple-plots-cowplot-ggplot2-arranging-multiple-plot-2.png" width="259.2" /></p>
<p>Combiner deux graphiques (nuage de points et bar plot):</p>
<pre class="r"><code>plot_grid(sp, bp, labels=c("A", "B"), ncol = 2, nrow = 1)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-mixing-multiple-plots-cowplot-ggplot2-arranging-multiple-plot-2-1.png" width="528" /></p>
<p>La fonction <strong>draw_plot()</strong> peut ?tre utilis?e pour placer des graphiques dans des sites sp?cifiques avec une taille particuli?re. Le format de la fonction est la suivante:</p>
<pre class="r"><code>draw_plot(plot, x = 0, y = 0, width = 1, height = 1)</code></pre>
<ul>
<li><strong>plot</strong>: Le graphique ? placer (ggplot2 ou un gtable)</li>
<li><strong>x</strong>: L?abscisse x du coin inf?rieur gauche du graphique</li>
<li><strong>y</strong>: L?ordonn?e y du coin inf?rieur gauche du graphique</li>
<li><strong>width, height</strong>: la largeur et la hauteur du graphique</li>
</ul>
<p>La fonction <strong>ggdraw()</strong> est utilis?e pour initialiser le graphique.</p>
<pre class="r"><code>plot.iris <- ggplot(iris, aes(Sepal.Length, Sepal.Width)) + 
  geom_point() + facet_grid(. ~ Species) +
  stat_smooth(method = "lm") +
  background_grid(major = &#39;y&#39;, minor = "none") + # grilles horiz.
  panel_border() # Bordure autour de chaque panel

ggdraw() +
  draw_plot(plot.iris, 0, .5, 1, .5) +
  draw_plot(sp, 0, 0, .5, .5) +
  draw_plot(bp, .5, 0, .5, .5) +
  draw_plot_label(c("A", "B", "C"), c(0, 0, 0.5), c(1, 0.5, 0.5), size = 15)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-mixing-multiple-plots-cowplot-ggplot2-arranging-multiple-plot-3-1.png" width="537.6" /></p>
</div>
</div>
<div id="grid.arrange-creer-et-organiser-plusieurs-graphiques" class="section level1">
<h1>grid.arrange: Cr?er et organiser plusieurs graphiques</h1>
<p>Le code R ci-dessous, cr?e un box plot, un dot plot, un violin plot et un stripchart (jitter plot) :</p>
<pre class="r"><code>library(ggplot2)
# Cr?er un box plot
bp <- ggplot(df, aes(x=dose, y=len, color=dose)) +
  geom_boxplot() + 
  theme(legend.position = "none")

# Cr?er un dot plot
# Ajouter la moyenne et l&#39;?cart type
dp <- ggplot(df, aes(x=dose, y=len, fill=dose)) +
  geom_dotplot(binaxis=&#39;y&#39;, stackdir=&#39;center&#39;)+
  stat_summary(fun.data=mean_sdl, fun.args = list(mult=1), 
                 geom="pointrange", color="red")+
   theme(legend.position = "none")

# Cr?er un violin plot
vp <- ggplot(df, aes(x=dose, y=len)) +
  geom_violin()+
  geom_boxplot(width=0.1)

# Cr?er un stripchart
sc <- ggplot(df, aes(x=dose, y=len, color=dose, shape=dose)) +
  geom_jitter(position=position_jitter(0.2))+
  theme(legend.position = "none") +
  theme_gray()</code></pre>
<p>Combiner les graphiques en utilisant la fonction <strong>grid.arrange()</strong> [dans <strong>gridExtra</strong>] :</p>
<pre class="r"><code>library(gridExtra)
grid.arrange(bp, dp, vp, sc, ncol=2, nrow = 2)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-mixing-multiple-plots-grid-arrange-data-visualization-1.png" width="518.4" /></p>
<div id="ajouter-une-legende-commune-pour-plusieurs-graphiques-ggplot2" class="section level2">
<h2>Ajouter une l?gende commune pour plusieurs graphiques ggplot2</h2>
<p>Ceci peut ?tre r?alis? en quatre ?tapes:</p>
<ol style="list-style-type: decimal">
<li>Cr?er les graphiques : p1, p2, ?.</li>
<li>Enregistrer la l?gende du graphique p1 comme un ?l?ment graphique externe (appel? ?grob? dans la terminologie Grid)</li>
<li>Retirer les l?gendes de tous les graphiques</li>
<li>Dessiner l?ensemble des graphiques avec seulement une l?gende dans le panel de droite</li>
</ol>
<p>Pour <strong>enregistrer la l?gende</strong> d?un ggplot, la fonction d?aide ci-dessous peut ?tre utilis?e:</p>
<pre class="r"><code>library(gridExtra)
get_legend<-function(myggplot){
  tmp <- ggplot_gtable(ggplot_build(myggplot))
  leg <- which(sapply(tmp$grobs, function(x) x$name) == "guide-box")
  legend <- tmp$grobs[[leg]]
  return(legend)
}</code></pre>
<p>(La fonction ci-dessus est d?riv?e de ce <a href="http://stackoverflow.com/questions/12539348/ggplot-separate-legend-and-plot" rel="nofollow">forum</a>. )</p>
<pre class="r"><code># 1. Cr?er les graphiques
#++++++++++++++++++++++++++++++++++
# Cr?er un box plot
bp <- ggplot(df, aes(x=dose, y=len, color=dose)) +
  geom_boxplot()

# Cr?er un violin plot
vp <- ggplot(df, aes(x=dose, y=len, color=dose)) +
  geom_violin()+
  geom_boxplot(width=0.1)+
  theme(legend.position="none")

# 2. Enregistrer la l?gende
#+++++++++++++++++++++++
legend <- get_legend(bp)

# 3. Supprimer la l?gende du box plot
#+++++++++++++++++++++++
bp <- bp + theme(legend.position="none")

# 4. Combiner les graphiques avec des tailles sp?cifiques
grid.arrange(bp, vp, legend, ncol=3, widths=c(2.3, 2.3, 0.8))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-mixing-multiple-plots-common-legend-data-visualization-1.png" width="518.4" /></p>
</div>
<div id="nuage-de-point-avec-courbe-de-distribution-marginale" class="section level2">
<h2>Nuage de point avec courbe de distribution marginale</h2>
<p><strong>Step 1/3. Cr?er des donn?es:</strong></p>
<pre class="r"><code>set.seed(1234)
x <- c(rnorm(500, mean = -1), rnorm(500, mean = 1.5))
y <- c(rnorm(500, mean = 1), rnorm(500, mean = 1.7))
group <- as.factor(rep(c(1,2), each=500))
df2 <- data.frame(x, y, group)
head(df2)</code></pre>
<pre><code>##             x          y group
## 1 -2.20706575 -0.2053334     1
## 2 -0.72257076  1.3014667     1
## 3  0.08444118 -0.5391452     1
## 4 -3.34569770  1.6353707     1
## 5 -0.57087531  1.7029518     1
## 6 -0.49394411 -0.9058829     1</code></pre>
<p><strong>Step 2/3. Cr?er des graphiques:</strong></p>
<pre class="r"><code># Nuage de points color?s par groupes
scatterPlot <- ggplot(df2,aes(x, y, color=group)) + 
  geom_point() + 
  scale_color_manual(values = c(&#39;#999999&#39;,&#39;#E69F00&#39;)) + 
  theme(legend.position=c(0,1), legend.justification=c(0,1))


# Courbe de densit? marginale de x (panel du haut)
xdensity <- ggplot(df2, aes(x, fill=group)) + 
  geom_density(alpha=.5) + 
  scale_fill_manual(values = c(&#39;#999999&#39;,&#39;#E69F00&#39;)) + 
  theme(legend.position = "none")

# Courbe de densit? marginale de y (panel de droite)
ydensity <- ggplot(df2, aes(y, fill=group)) + 
  geom_density(alpha=.5) + 
  scale_fill_manual(values = c(&#39;#999999&#39;,&#39;#E69F00&#39;)) + 
  theme(legend.position = "none")</code></pre>
<p>Cr?er un emplacement vide:</p>
<pre class="r"><code>blankPlot <- ggplot()+geom_blank(aes(1,1))+
  theme(
    plot.background = element_blank(), 
   panel.grid.major = element_blank(),
   panel.grid.minor = element_blank(), 
   panel.border = element_blank(),
   panel.background = element_blank(),
   axis.title.x = element_blank(),
   axis.title.y = element_blank(),
   axis.text.x = element_blank(), 
   axis.text.y = element_blank(),
   axis.ticks = element_blank(),
   axis.line = element_blank()
     )</code></pre>
<p><strong>Step 3/3. Regrouper les graphiques:</strong></p>
<p>Organiser le graphique avec des largeurs et des hauteurs adapt?es pour chaque ligne et chaque colonne:</p>
<pre class="r"><code>library("gridExtra")
grid.arrange(xdensity, blankPlot, scatterPlot, ydensity, 
        ncol=2, nrow=2, widths=c(4, 1.4), heights=c(1.4, 4))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-mixing-multiple-plots-put-multiple-plot-together-data-visualization-1.png" width="480" /></p>
</div>
<div id="creer-une-mise-en-page-complexe-en-utilisant-la-fonction-viewport" class="section level2">
<h2>Cr?er une mise en page complexe en utilisant la fonction viewport()</h2>
<p>Les diff?rentes ?tapes sont:</p>
<ol style="list-style-type: decimal">
<li>Cr?er les graphiques: p1, p2, p3, ?.</li>
<li>Partir ? la page suivante sur le dispositif grid en utilisant la fonction <strong>grid.newpage()</strong></li>
<li>Cr?er une mise en page 2X2 - nombre de colonne = 2; nombre de ligne = 2</li>
<li>D?finir une zone de vue (?grid viewport? : une r?gion rectangulaire sur le dispositif graphique)</li>
<li>Afficher le graphique dans le viewport</li>
</ol>
<pre class="r"><code>require(grid)
# Nouvelle page
grid.newpage()

# Cr?er la mise en page : nrow = 2, ncol = 2
pushViewport(viewport(layout = grid.layout(2, 2)))

# Une fonction pour definir une region dans la mise en page
define_region <- function(row, col){
  viewport(layout.pos.row = row, layout.pos.col = col)
} 

# Arranger les graphiques
print(scatterPlot, vp=define_region(1, 1:2))
print(xdensity, vp = define_region(2, 1))
print(ydensity, vp = define_region(2, 2))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-mixing-multiple-plots-complex-layout-data-visualization-1.png" width="480" /></p>
</div>
</div>
<div id="inserez-un-element-graphique-externe-dans-un-ggplot" class="section level1">
<h1>Ins?rez un ?l?ment graphique externe dans un ggplot</h1>
<p>La fonction <strong>annotation_custom()</strong> [dans <strong>ggplot2</strong>] peut ?tre utilis?e pour ajouter des tables, des graphiques ou d?autres ?l?ments du syst?me graphique ?grid?. Le format simplifi? est:</p>
<pre class="r"><code>annotation_custom(grob, xmin, xmax, ymin, ymax)</code></pre>
<br/>
<div class="block">
<ul>
<li><strong>grob</strong>: L??l?ment externe graphique ? afficher</li>
<li><strong>xmin, xmax</strong> : location x exprim?e dans les coordonn?es de donn?es (location horizontale)</li>
<li><strong>ymin, ymax</strong> : location x exprim?e dans les coordonn?es de donn?es (location verticale)</li>
</ul>
</div>
<p><br/></p>
<p>Les diff?rentes ?tapes sont:</p>
<ol style="list-style-type: decimal">
<li>Cr?er un nuage de points de y = f(x)</li>
<li>Ajouter, par exemple, le box plot de x et de y ? l?int?rieur du nuage de points en utilisant la fonction <strong>annotation_custom()</strong></li>
</ol>
<p><span class="warning">Comme le box plot int?rieur chevauche avec certains points, un fond transparent est utilis? pour les box plots.</span></p>
<pre class="r"><code># Cr?er un th?me transparent
transparent_theme <- theme(
 axis.title.x = element_blank(),
 axis.title.y = element_blank(),
 axis.text.x = element_blank(), 
 axis.text.y = element_blank(),
 axis.ticks = element_blank(),
 panel.grid = element_blank(),
 axis.line = element_blank(),
 panel.background = element_rect(fill = "transparent",colour = NA),
 plot.background = element_rect(fill = "transparent",colour = NA))</code></pre>
<p>Cr?er les graphes:</p>
<pre class="r"><code>p1 <- scatterPlot # voir sections pr?c?dentes

# Box plot pour la variable x
p2 <- ggplot(df2, aes(factor(1), x))+
  geom_boxplot(width=0.3)+coord_flip()+
  transparent_theme

# Box plot pour la variable y
p3 <- ggplot(df2, aes(factor(1), y))+
  geom_boxplot(width=0.3)+
  transparent_theme

# Cr?er les ?l?ments graphiques externes 
# ("grob" en termininology grid) 
p2_grob = ggplotGrob(p2)
p3_grob = ggplotGrob(p3)
   

# Inserer p2_grob ? l&#39;int?rieur du nuage de points
xmin <- min(x); xmax <- max(x)
ymin <- min(y); ymax <- max(y)
p1 + annotation_custom(grob = p2_grob, xmin = xmin, xmax = xmax, 
                       ymin = ymin-1.5, ymax = ymin+1.5)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-mixing-multiple-plots-insert-plot-inside-ggplot-data-visualization-1.png" width="384" /></p>
<pre class="r"><code># Inserer p3_grob ? l&#39;int?rieur du nuage de points
p1 + annotation_custom(grob = p3_grob,
                       xmin = xmin-1.5, xmax = xmin+1.5, 
                       ymin = ymin, ymax = ymax)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-mixing-multiple-plots-insert-plot-inside-ggplot-data-visualization-2.png" width="384" /></p>
<p><span class="error">Si vous avez une solution pour ins?rer, en m?me temps, ? la fois p2_grob et p3_grob ? l?int?rieur du nuage de points, s?il vous pla?t laissez-moi un commentaire. J?ai eu quelques erreurs en essayant de le faire ?</span></p>
</div>
<div id="combiner-table-texte-et-graphique-ggplot2" class="section level1">
<h1>Combiner table, texte et graphique ggplot2</h1>
<p>Les fonctions ci-dessous sont n?cessaires:</p>
<ul>
<li><strong>tableGrob()</strong> [dans le package <em>gridExtra</em>] : pour ajouter un tableau de donn?es ? un dispositif graphique</li>
<li><strong>splitTextGrob()</strong> [dans le package <em>RGraphics</em>] : pour ajouter un texte ? un graphique</li>
</ul>
<p><span class="warning">Assurez vous que le package <strong>RGraphics</strong> est install?.</span></p>
<pre class="r"><code>library(RGraphics)
library(gridExtra)

# Tableau
p1 <- tableGrob(head(ToothGrowth))

# Texte
text <- "ToothGrowth data describes the effect of Vitamin C on tooth growth in Guinea pigs.  Three dose levels of Vitamin C (0.5, 1, and 2 mg) with each of two delivery methods [orange juice (OJ) or ascorbic acid (VC)] are used."
p2 <- splitTextGrob(text)

# Box plot
p3 <- ggplot(df, aes(x=dose, y=len)) + geom_boxplot()

# Combiner les graphiques sur la m?me page
grid.arrange(p1, p2, p3, ncol=1)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-mixing-multiple-plots-add-table-add-text-data-visualization-1.png" width="480" /></p>
</div>
<div id="infos" class="section level1">
<h1>Infos</h1>
<p><span class="warning"> Cette analyse a ?t? faite en utilisant le <strong>logiciel R</strong> (ver. 3.2.4) et le package <strong>ggplot2</strong> (ver. 2.1.0) </span></p>
</div>

<script>jQuery(document).ready(function () {
    jQuery('#rdoc h1').addClass('wiki_paragraph1');
    jQuery('#rdoc h2').addClass('wiki_paragraph2');
    jQuery('#rdoc h3').addClass('wiki_paragraph3');
    jQuery('#rdoc h4').addClass('wiki_paragraph4');
    });//add phpboost class to header</script>
<style>.content{padding:0px;}</style>
</div><!--end rdoc-->
<!--====================== stop here when you copy to sthda================-->


<!-- END HTML -->]]></description>
			<pubDate>Wed, 21 Sep 2016 21:11:12 +0200</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[ggplot2 couleurs : Changer les couleurs automatiquement et manuellement - Logiciel R et visualisation de données]]></title>
			<link>https://www.sthda.com/french/wiki/ggplot2-couleurs-changer-les-couleurs-automatiquement-et-manuellement-logiciel-r-et-visualisation-de-donnees</link>
			<guid>https://www.sthda.com/french/wiki/ggplot2-couleurs-changer-les-couleurs-automatiquement-et-manuellement-logiciel-r-et-visualisation-de-donnees</guid>
			<description><![CDATA[<!-- START HTML -->

  <!--====================== start from here when you copy to sthda================-->  
  <div id="rdoc">


<div id="TOC">
<ul>
<li><a href="#preparer-les-donnees">Pr?parer les donn?es</a></li>
<li><a href="#graphes-simples">Graphes simples</a></li>
<li><a href="#utiliser-une-seule-couleur">Utiliser une seule couleur</a></li>
<li><a href="#changer-les-couleurs-par-groupes">Changer les couleurs par groupes</a><ul>
<li><a href="#couleurs-par-defaut">Couleurs par d?faut</a></li>
<li><a href="#changer-les-couleurs-manuellement">Changer les couleurs manuellement</a></li>
<li><a href="#utiliser-les-palettes-de-couleurs-rcolorbrewer">Utiliser les palettes de couleurs RColorBrewer</a></li>
<li><a href="#utiliser-les-palettes-de-couleurs-wes-anderson">Utiliser les palettes de couleurs Wes Anderson</a></li>
</ul></li>
<li><a href="#utiliser-la-palette-de-couleurs-grises">Utiliser la palette de couleurs grises</a></li>
<li><a href="#couleurs-continues">Couleurs continues</a><ul>
<li><a href="#gradients-de-couleurs-pour-un-graphique-en-nuage-de-points">Gradients de couleurs pour un graphique en nuage de points</a></li>
<li><a href="#gradients-de-couleurs-pour-histogrammes">Gradients de couleurs pour histogrammes</a></li>
<li><a href="#gradients-entre-n-couleurs">Gradients entre n couleurs</a></li>
</ul></li>
<li><a href="#infos">Infos</a></li>
</ul>
</div>

<p><br/></p>
<p>L?objectif de cet article est de d?crire comment changer la couleur d?un graphique g?n?r? en utilisant le <strong>logiciel R</strong> et le package <strong>ggplot2</strong>. Une couleur peut ?tre sp?cifi?e soit par son nom (par exemple: ?red?) ou en code hexad?cimal (par exemple: ?#FF1234?). Les diff?rents syst?mes de couleurs disponibles dans R sont d?crits ? ce lien: <a href="https://www.sthda.com/french/french/wiki/couleurs-dans-r">Couleurs dans R</a>.</p>
<p>Dans ce <strong>tutoriel R</strong>, vous allez apprendre ?:</p>
<ul>
<li>changer les couleurs par groupes (automatiquement ou manuellement)</li>
<li>utiliser les palettes de couleurs Wes Anderson et RColorBrewer</li>
<li>utiliser les gradients de couleurs</li>
</ul>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-ggplot2-color-logo-1.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="384" /></p>
<div id="preparer-les-donnees" class="section level1">
<h1>Pr?parer les donn?es</h1>
<p>Les donn?es <em>ToothGrowth</em> et <em>mtcars</em> sont utilis?es dans les exemples ci-dessous:</p>
<pre class="r"><code># Convertir les colonnes dose et cyl en "facteur"
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
mtcars$cyl <- as.factor(mtcars$cyl)
head(ToothGrowth)</code></pre>
<pre><code>##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
## 4  5.8   VC  0.5
## 5  6.4   VC  0.5
## 6 10.0   VC  0.5</code></pre>
<pre class="r"><code>head(mtcars)</code></pre>
<pre><code>##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1</code></pre>
<p><span class="warning">Assurez-vous que les variables <em>dose</em> et <em>cyl</em> soient converties en variables de types ?factor? en utilisant le script de R ci-dessus.</span></p>
</div>
<div id="graphes-simples" class="section level1">
<h1>Graphes simples</h1>
<pre class="r"><code>library(ggplot2)
# Box plot
ggplot(ToothGrowth, aes(x=dose, y=len)) +geom_boxplot()

# Nuage de points
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-basic-plots-1.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-basic-plots-2.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="192" /></p>
</div>
<div id="utiliser-une-seule-couleur" class="section level1">
<h1>Utiliser une seule couleur</h1>
<pre class="r"><code># box plot
ggplot(ToothGrowth, aes(x=dose, y=len)) +
  geom_boxplot(fill=&#39;#A4A4A4&#39;, color="darkred")

# Nuage de point
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point(color=&#39;darkblue&#39;)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-unique-color-1.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-unique-color-2.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="192" /></p>
</div>
<div id="changer-les-couleurs-par-groupes" class="section level1">
<h1>Changer les couleurs par groupes</h1>
<div id="couleurs-par-defaut" class="section level2">
<h2>Couleurs par d?faut</h2>
<p>Le code R suivant modifie la couleur du graphique en fonction des niveaux de <em>dose</em>:</p>
<pre class="r"><code># Box plot
bp<-ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) +
  geom_boxplot()
bp

# Nuage de points
sp<-ggplot(mtcars, aes(x=wt, y=mpg, color=cyl)) + geom_point()
sp</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-group-color-1.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-group-color-2.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /></p>
<p><span class="success">La luminosit? (l) et la chrominance (c, intensit? de la couleur) de la couleur par d?faut (hue) peuvent ?tre modifi?es en utilisant les fonctions <em>scale_hue</em> comme suit:</span></p>
<pre class="r"><code># Box plot
bp + scale_fill_hue(l=40, c=35)

# Nuage de points
sp + scale_color_hue(l=40, c=35)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-group-color-luminance-chroma-1.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-group-color-luminance-chroma-2.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /></p>
<p><span class="warning">Notez que les valeurs par d?faut pour l et c sont les suivantes: l = 65, c = 100.</span></p>
</div>
<div id="changer-les-couleurs-manuellement" class="section level2">
<h2>Changer les couleurs manuellement</h2>
<p>Des palettes de couleurs personnalis?es peuvent ?tre sp?cifi?es en utilisant les fonctions :</p>
<ul>
<li><strong>scale_fill_manual()</strong> pour un box plot, bar plot, violin plot, etc</li>
<li><strong>scale_color_manual()</strong> pour des graphiques lin?aires, ou des nuages de points</li>
</ul>
<pre class="r"><code># Box plot
bp + scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"))

# Nuage de points
sp + scale_color_manual(values=c("#999999", "#E69F00", "#56B4E9"))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-color-manual-1.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-color-manual-2.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /></p>
<p><span class="warning">Notez que, l?argument <em>breaks</em> peut ?tre utilis? pour contr?ler l?apparence de la l?gende. Ceci est aussi vrai pour les autres fonctions <em>scale_xx()</em>.</span></p>
<pre class="r"><code># Box plot
bp + scale_fill_manual(breaks = c("2", "1", "0.5"), 
                       values=c("red", "blue", "green"))

# Nuage de points
sp + scale_color_manual(breaks = c("8", "6", "4"),
                        values=c("red", "blue", "green"))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-color-manual-use-breaks-1.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-color-manual-use-breaks-2.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /></p>
<p><span class="warning">Lire plus sur les couleurs ici : <a href="https://www.sthda.com/french/french/wiki/couleurs-dans-r">Couleurs dans R</a>.</span></p>
</div>
<div id="utiliser-les-palettes-de-couleurs-rcolorbrewer" class="section level2">
<h2>Utiliser les palettes de couleurs RColorBrewer</h2>
<p>Les palettes de couleurs disponibles dans le package <strong>RColorBrewer</strong> sont d?crites ici: <a href="https://www.sthda.com/french/french/wiki/couleurs-dans-r">Couleurs dans R</a>.</p>
<pre class="r"><code># Box plot
bp + scale_fill_brewer(palette="Dark2")

# Nuage de points
sp + scale_color_brewer(palette="Dark2")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-group-color-rcolorbrewer-1.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-group-color-rcolorbrewer-2.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /></p>
<p>Les palettes de couleurs disponibles dans le package RColorBrewer sont:</p>
<p><img src="https://www.sthda.com/french/sthda/RDoc/images/rcolorbrewer.png" alt="palettes de couleurs RColorBrewer" /></p>
</div>
<div id="utiliser-les-palettes-de-couleurs-wes-anderson" class="section level2">
<h2>Utiliser les palettes de couleurs Wes Anderson</h2>
<p>Installer et charger les palettes de couleurs comme suit:</p>
<pre class="r"><code># Installer
install.packages("wesanderson")
# Charger
library(wesanderson)</code></pre>
<p>Les palettes de couleurs disponibles sont:</p>
<p><img src="https://www.sthda.com/french/sthda/RDoc/images/wesanderson-color.png" alt="palettes de couleurs Wes Anderson" /></p>
<pre class="r"><code>library(wesanderson)
# Box plot
bp+scale_fill_manual(values=wes_palette(n=3, name="GrandBudapest"))

# Nuage de points
sp+scale_color_manual(values=wes_palette(n=3, name="GrandBudapest"))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-group-color-wesanderson-1.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-group-color-wesanderson-2.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /></p>
</div>
</div>
<div id="utiliser-la-palette-de-couleurs-grises" class="section level1">
<h1>Utiliser la palette de couleurs grises</h1>
<p>Les fonctions ? utiliser sont:</p>
<ul>
<li><strong>scale_colour_grey()</strong> pour les points, lignes, etc</li>
<li><strong>scale_fill_grey()</strong> pour les box plots, bar plots, violin plots, etc</li>
</ul>
<pre class="r"><code># Box plot
bp + scale_fill_grey() + theme_classic()

# Nuage de points
sp + scale_color_grey() + theme_classic()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-color-grey-1.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-color-grey-2.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /></p>
<p>Changer les valeurs de gris :</p>
<pre class="r"><code># Box plot
bp + scale_fill_grey(start=0.8, end=0.2) + theme_classic()

# Nuage de points
sp + scale_color_grey(start=0.8, end=0.2) + theme_classic()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-color-grey-change-value-1.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-color-grey-change-value-2.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /></p>
<p><span class="warning">Notez que, les valeurs par d?faut pour les arguments <em>start</em> et <em>end</em> sont: start = 0.2, end = 0.8</span></p>
</div>
<div id="couleurs-continues" class="section level1">
<h1>Couleurs continues</h1>
<p>Le graphique peut ?tre color? en fonction des valeurs d?une variable continue, en utilisant les fonctions:</p>
<ul>
<li>scale_color_gradient(), scale_fill_gradient() pour des gradients de couleurs s?quentiels</li>
<li>scale_color_gradient2(), scale_fill_gradient2() pour des gradients divergents</li>
<li>scale_color_gradientn(), scale_fill_gradientn() pour un gradient entre n couleurs</li>
</ul>
<div id="gradients-de-couleurs-pour-un-graphique-en-nuage-de-points" class="section level2">
<h2>Gradients de couleurs pour un graphique en nuage de points</h2>
<p>Les graphiques sont color?s en utilisant la variable continue <em>qsec</em>:</p>
<pre class="r"><code># Colorer en fonction de la valeur de qsec
sp2<-ggplot(mtcars, aes(x=wt, y=mpg, color=qsec)) + geom_point()
sp2

# Changer les couleurs basse et haute
# Gradient sequentiel
sp2+scale_color_gradient(low="blue", high="red")

# Gradients divergents
mid<-mean(mtcars$qsec)
sp2+scale_color_gradient2(midpoint=mid,  low="blue", mid="white",
                  high="red"  space = "Lab")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-color-gradient-1.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-color-gradient-2.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-color-gradient-3.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /></p>
</div>
<div id="gradients-de-couleurs-pour-histogrammes" class="section level2">
<h2>Gradients de couleurs pour histogrammes</h2>
<pre class="r"><code>set.seed(1234)
x <- rnorm(200)
# Histogramme
hp<-qplot(x =x, fill=..count.., geom="histogram") 
hp

# Gradient s?quentiel
hp+scale_fill_gradient(low="blue", high="red")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-fill-gradient-1.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-fill-gradient-2.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /></p>
<p><span class="warning">Notez que, les fonctions <strong>scale_color_continuous()</strong> et <strong>scale_fill_continuous()</strong> peuvent ?tre utilis?es aussi pour les gradients de couleurs.</span></p>
</div>
<div id="gradients-entre-n-couleurs" class="section level2">
<h2>Gradients entre n couleurs</h2>
<pre class="r"><code># Nuage de points
# Colorer les points en fonction de la variable mpg
sp3<-ggplot(mtcars, aes(x=wt, y=mpg, color=mpg)) + geom_point()
sp3

# Gradient entre n couleurs
sp3+scale_color_gradientn(colours = rainbow(5))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-color-gradientn-1.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-color-scale-color-gradientn-2.png" title="ggplot2 couleurs - logiciel R et graphiques" alt="ggplot2 couleurs - logiciel R et graphiques" width="240" /></p>
</div>
</div>
<div id="infos" class="section level1">
<h1>Infos</h1>
<p><span class="warning"> Cette analyse a ?t? faite en utilisant le <strong>logiciel R</strong> (ver. 3.1.2) et le package <strong>ggplot2</strong> (ver. 1.0.0) </span></p>
</div>

<script>jQuery(document).ready(function () {
    jQuery('h1').addClass('wiki_paragraph1');
    jQuery('h2').addClass('wiki_paragraph2');
    jQuery('h3').addClass('wiki_paragraph3');
    jQuery('h4').addClass('wiki_paragraph4');
    });//add phpboost class to header</script>
<style>.content{padding:0px;}</style>
</div><!--end rdoc-->
<!--====================== stop here when you copy to sthda================-->


<!-- END HTML -->]]></description>
			<pubDate>Sun, 22 Nov 2015 10:50:26 +0100</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[ggplot2 graphique linéaire : Guide de démarrage rapide - Logiciel R et visualisation de données]]></title>
			<link>https://www.sthda.com/french/wiki/ggplot2-graphique-lineaire-guide-de-demarrage-rapide-logiciel-r-et-visualisation-de-donnees</link>
			<guid>https://www.sthda.com/french/wiki/ggplot2-graphique-lineaire-guide-de-demarrage-rapide-logiciel-r-et-visualisation-de-donnees</guid>
			<description><![CDATA[<!-- START HTML -->

  <!--====================== start from here when you copy to sthda================-->  
  <div id="rdoc">


<div id="TOC">
<ul>
<li><a href="#preparer-les-donnees">Pr?parer les donn?es</a></li>
<li><a href="#nuage-de-points-simples">Nuage de points simples</a></li>
<li><a href="#annoter-les-points">Annoter les points</a><ul>
<li><a href="#ajouter-des-lignes-de-regression">Ajouter des lignes de regression</a></li>
<li><a href="#changer-lapparence-des-points-et-des-traits">Changer l?apparence des points et des traits</a></li>
</ul></li>
<li><a href="#nuage-de-points-avec-plusieurs-groupes">Nuage de points avec plusieurs groupes</a><ul>
<li><a href="#changer-la-couleurle-typela-taille-des-points-automatiquement">Changer la couleur/le type/la taille des points automatiquement</a></li>
<li><a href="#ajouter-des-droites-de-regression">Ajouter des droites de r?gression</a></li>
<li><a href="#changer-la-couleurle-typela-taille-des-points-manuellement">Changer la couleur/le type/la taille des points manuellement</a></li>
</ul></li>
<li><a href="#ajoutter-la-densite-marginale">Ajoutter la densit? marginale</a></li>
<li><a href="#nuage-de-points-avec-estimation-de-la-densite-2d">Nuage de points avec estimation de la densit? 2d</a></li>
<li><a href="#nuage-de-points-avec-ellipese">Nuage de points avec ellipese</a></li>
<li><a href="#nuage-de-points-avec-des-decoupes-rectangulaires">Nuage de points avec des decoupes rectangulaires</a></li>
<li><a href="#nuage-de-point-avec-distribution-marginale">Nuage de point avec distribution marginale</a></li>
<li><a href="#nuages-de-points-personnalises">Nuages de points personnalis?s</a></li>
<li><a href="#infos">Infos</a></li>
</ul>
</div>

<p><br/></p>
<p>Cet article d?crit comment cr?er un <strong>nuage de points</strong> en utilisant le <strong>logiciel de R</strong> et le package <strong>ggplot2</strong>. La fonction <strong>geom_point()</strong> est utilis?e.</p>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-logo-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="384" /></p>
<div id="preparer-les-donnees" class="section level1">
<h1>Pr?parer les donn?es</h1>
<p>Le jeu de donn?es <em>mtcars</em> est utilis? dans les exemples ci-dessous.</p>
<pre class="r"><code># Convertir la colonne cyl en variable de type facteur
mtcars$cyl <- as.factor(mtcars$cyl)
head(mtcars)</code></pre>
<pre><code>##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1</code></pre>
</div>
<div id="nuage-de-points-simples" class="section level1">
<h1>Nuage de points simples</h1>
<p>Des nuages de points simples sont cr??s en utilisant le code de R ci-dessous. La couleur, la taille et la forme des points peuvent ?tre modifi?es en utilisant la fonction <strong>geom_point()</strong> comme suit:</p>
<pre class="r"><code>geom_point(size, color, shape)</code></pre>
<pre class="r"><code>library(ggplot2)

# Nuage de points simples
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point()

# Changer la taille et la forme
ggplot(mtcars, aes(x=wt, y=mpg)) +
  geom_point(size=2, shape=23)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-basic-graph-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-basic-graph-data-visualization-2.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /></p>
<p><span class="warning">Notez que, la taille des points peut ?tre contr?l?e en fonction des valeurs d?une variable continue comme dans l?exemple ci-dessous.</span></p>
<pre class="r"><code># Changer la taille des points
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point(aes(size=qsec))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-control-size-continuous-variable-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="288" /></p>
<p>Lire plus sur la taille des points : <a href="https://www.sthda.com/french/french/wiki/ggplot2-types-de-points-logiciel-r-et-visualisation-de-donnees">ggplot2 taille des points</a></p>
</div>
<div id="annoter-les-points" class="section level1">
<h1>Annoter les points</h1>
<p>La fonction <strong>geom_text()</strong> peut ?tre utilis?e:</p>
<pre class="r"><code>ggplot(mtcars, aes(x=wt, y=mpg)) +
  geom_point() + 
  geom_text(label=rownames(mtcars))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-add-text-labels-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="336" /></p>
<p>Lire plus sur les annotations de textes : <a href="https://www.sthda.com/french/french/wiki/ggplot2-textes-ajouter-du-texte-a-un-graphique-logiciel-r-et-visualisation-de-donnees">ggplot2 - ajoouter du texte au graphique</a></p>
<div id="ajouter-des-lignes-de-regression" class="section level2">
<h2>Ajouter des lignes de regression</h2>
<p>Les fonctions ci-dessous peuvent ?tre utilis?es pour ajouter des droites de r?gression ? un nuage de points:</p>
<ul>
<li><strong>geom_smooth()</strong> et <strong>stat_smooth()</strong></li>
<li><strong>geom_abline()</strong></li>
</ul>
<p><em>geom_abline()</em> a d?j? ?t? d?crit ? ce lien: <a href="https://www.sthda.com/french/french/wiki/ggplot2-ajouter-une-ligne-droite-a-un-graphe-ligne-horizontale-verticale-et-droite-de-regression">ggplot2 ajouter des lignes droites ? un graphique</a>.</p>
<p>Seule la fonction <strong>geom_smooth()</strong> est couverte dans cette section.</p>
<p>Un format simplifi? est:</p>
<pre class="r"><code>geom_smooth(method="auto", se=TRUE, fullrange=FALSE, level=0.95)</code></pre>
<br/>
<div class="block">
<ul>
<li><strong>method</strong> : m?thode ? utiliser pour estimer la tendance moyenne. Les valeurs possibles sont lm, glm, gam, loess, rlm.</li>
<li><strong>se</strong> : valeur logique. Si TRUE, l?intervalle de confiance est affich?e autour de la moyenne.</li>
<li><strong>fullrange</strong> : valeur logique. Si TRUE, la courbe moyenne couvre le graphique en entier.</li>
<li><strong>level</strong> : niveau de l?intervalle de confiance ? utiliser. La valeur par d?faut est de 0,95.</li>
</ul>
</div>
<p><br/></p>
<pre class="r"><code># Ajouter la droite de regression
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point()+
  geom_smooth(method=lm)

# Supprimer l&#39;intervalle de confiance
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point()+
  geom_smooth(method=lm, se=FALSE)

# La m?thode "Loess"
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point()+
  geom_smooth()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-regression-lines-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-regression-lines-data-visualization-2.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-regression-lines-data-visualization-3.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="192" /></p>
</div>
<div id="changer-lapparence-des-points-et-des-traits" class="section level2">
<h2>Changer l?apparence des points et des traits</h2>
<p>Cette section d?crit comment modifier:</p>
<ul>
<li>la couleur et la forme des points</li>
<li>le type de trait et la couleur de la droite de r?gression</li>
<li>la couleur de remplissage de l?intervalle de confiance</li>
</ul>
<pre class="r"><code># Changer la couleur et la forme des points
# Changer le type de trait et la couleur
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point(shape=18, color="blue")+
  geom_smooth(method=lm, se=FALSE, linetype="dashed",
             color="darkred")

# Changer la couleur de remplissage de l&#39;intervalle de confiance
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point(shape=18, color="blue")+
  geom_smooth(method=lm,  linetype="dashed",
             color="darkred", fill="blue")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-point-shape-line-type-regression-line-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="192" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-point-shape-line-type-regression-line-data-visualization-2.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="192" /></p>
<p><span class="warning">Notez qu?une couleur transparente est utilis?e, par d?faut, pour la bande de confiance. Ceci peut ?tre chang? en utilisant l?argument <em>alpha</em> : <em>geom_smooth(fill=?blue?, alpha=1)</em></span></p>
<p>Lire plus sur les types de points : <a href="https://www.sthda.com/french/french/wiki/ggplot2-types-de-points-logiciel-r-et-visualisation-de-donnees">ggplot2 types de points</a></p>
<p>Lire plus sur les types de traits : <a href="https://www.sthda.com/french/french/wiki/ggplot2-type-de-traits-comment-changer-le-type-de-trait-d-un-graphique-avec-le-logiciel-r">ggplot2 types de traits</a></p>
</div>
</div>
<div id="nuage-de-points-avec-plusieurs-groupes" class="section level1">
<h1>Nuage de points avec plusieurs groupes</h1>
<p>Cette section d?crit comment changer les couleurs et les types de points automatiquement et manuellement.</p>
<div id="changer-la-couleurle-typela-taille-des-points-automatiquement" class="section level2">
<h2>Changer la couleur/le type/la taille des points automatiquement</h2>
<p>Dans le code R ci-dessous, le type de points, la couleur et la taille peuvent ?tre contr?l?es en fonction des niveaux de la variable <em>cyl</em>:</p>
<pre class="r"><code># Changer le type de points en fonction des niveaux de cyl
ggplot(mtcars, aes(x=wt, y=mpg, shape=cyl)) +
  geom_point()

# Changer le type et la couleur
ggplot(mtcars, aes(x=wt, y=mpg, shape=cyl, color=cyl)) +
  geom_point()

# Changer le type, la couleur et la taille
ggplot(mtcars, aes(x=wt, y=mpg, shape=cyl, color=cyl, size=cyl)) +
  geom_point()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-change-shape-size-color-by-group-automatically-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-change-shape-size-color-by-group-automatically-data-visualization-2.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-change-shape-size-color-by-group-automatically-data-visualization-3.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /></p>
</div>
<div id="ajouter-des-droites-de-regression" class="section level2">
<h2>Ajouter des droites de r?gression</h2>
<p>Des <strong>lignes de r?gression</strong> peuvent ?tre ajout?es de la mani?re suivante:</p>
<pre class="r"><code># Ajouter des lignes de r?gression
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
  geom_point() + 
  geom_smooth(method=lm)

# Supprimer les intervalles de confiance
# Etendre les droites de r?gression
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
  geom_point() + 
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-groups-regression-lines-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-groups-regression-lines-data-visualization-2.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /></p>
<p><span class="warning">Notez que vous pouvez ?galement changer le type de traits de la droite de r?gression en utilisant l?option <em>linetype = cyl</em>. </span></p>
<p>Les couleurs de remplissage des intervalles de confiances peuvent ?tre chang?es comme suit:</p>
<pre class="r"><code>ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
  geom_point() + 
  geom_smooth(method=lm, aes(fill=cyl))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-groups-regression-lines-confidence-band-fill-color-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="336" /></p>
</div>
<div id="changer-la-couleurle-typela-taille-des-points-manuellement" class="section level2">
<h2>Changer la couleur/le type/la taille des points manuellement</h2>
<p>Les fonctions ci-dessous sont utilis?es:</p>
<ul>
<li><em>scale_shape_manual()</em> pour le type de points</li>
<li><em>scale_color_manual()</em> pour la couleur des points</li>
<li><em>scale_size_manual()</em> pour la taille des points</li>
</ul>
<pre class="r"><code># Changer le type de points et la couleur manuellement
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
  geom_point() + 
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
  scale_shape_manual(values=c(3, 16, 17))+ 
  scale_color_manual(values=c(&#39;#999999&#39;,&#39;#E69F00&#39;, &#39;#56B4E9&#39;))+
  theme(legend.position="top")
  
# Changer la taille des points manuellement
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl))+
  geom_point(aes(size=cyl)) + 
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
  scale_shape_manual(values=c(3, 16, 17))+ 
  scale_color_manual(values=c(&#39;#999999&#39;,&#39;#E69F00&#39;, &#39;#56B4E9&#39;))+
  scale_size_manual(values=c(2,3,4))+
  theme(legend.position="top")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-change-shape-size-color-by-group-manually-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-change-shape-size-color-by-group-manually-2.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="240" /></p>
<p>Il est ?galement possible de modifier manuellement la couleur des points et des traits en utilisant les fonctions:</p>
<ul>
<li><em>scale_color_brewer()</em> : pour utiliser les palettes de couleurs du package <em>RColorBrewer</em></li>
<li><em>scale_color_grey()</em> : pour utiliser les palettes de couleurs grises</li>
</ul>
<pre class="r"><code>p <- ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
  geom_point() + 
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
  theme_classic()

# Utiliser les palettes brewer
p+scale_color_brewer(palette="Dark2")

# Utiliser les couleurs grises
p + scale_color_grey()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-manual-color-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-manual-color-data-visualization-2.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /></p>
<p>Lire plus sur ggplot2 et couleurs : <a href="https://www.sthda.com/french/french/wiki/ggplot2-couleurs-changer-les-couleurs-automatiquement-et-manuellement-logiciel-r-et-visualisation-de-donnees">ggplot2 couleurs</a></p>
</div>
</div>
<div id="ajoutter-la-densite-marginale" class="section level1">
<h1>Ajoutter la densit? marginale</h1>
<p>La fonction <strong>geom_rug()</strong> peut ?tre utilis?e:</p>
<pre class="r"><code>geom_rug(sides ="bl")</code></pre>
<p><strong>sides</strong> : c?t? sur lequel il faudrait ajouter la densit?. La valeur possible est une cha?ne de caract?re contenant l?un des ?l?ments ?trbl?, pour top (haut), right (droite), bottom (bas), et left (gauche).</p>
<pre class="r"><code># Ajouter la densit? marginale
ggplot(mtcars, aes(x=wt, y=mpg)) +
  geom_point() + geom_rug()

# Changer les couleurs
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl)) +
  geom_point() + geom_rug()

# Utiliser le jeu de donn?es faithful
ggplot(faithful, aes(x=eruptions, y=waiting)) +
  geom_point() + geom_rug()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-add-rugs-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-add-rugs-data-visualization-2.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-add-rugs-data-visualization-3.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /></p>
</div>
<div id="nuage-de-points-avec-estimation-de-la-densite-2d" class="section level1">
<h1>Nuage de points avec estimation de la densit? 2d</h1>
<p>Les fonctions <strong>geom_density2d()</strong> ou <strong>stat_density2d()</strong> peuvent ?tre utilis?es:</p>
<pre class="r"><code># Nuage de points avec estimation de la densit? 2d
sp <- ggplot(faithful, aes(x=eruptions, y=waiting)) +
  geom_point()
sp + geom_density2d()

# Gradient de couleur
sp + stat_density2d(aes(fill = ..level..), geom="polygon")

# Changer le gradient de couleur
sp + stat_density2d(aes(fill = ..level..), geom="polygon")+
  scale_fill_gradient(low="blue", high="red")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-geom-density-2d-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-geom-density-2d-data-visualization-2.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-geom-density-2d-data-visualization-3.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /></p>
<p>Lire plus sur ggplot2 et couleurs : <a href="https://www.sthda.com/french/french/wiki/ggplot2-couleurs-changer-les-couleurs-automatiquement-et-manuellement-logiciel-r-et-visualisation-de-donnees">ggplot2 couleurs</a></p>
</div>
<div id="nuage-de-points-avec-ellipese" class="section level1">
<h1>Nuage de points avec ellipese</h1>
<p>La fonction <strong>stat_ellipse()</strong> peut ?tre utilis?e comme suit:</p>
<pre class="r"><code># Une ellipse autour de tous les points
ggplot(faithful, aes(waiting, eruptions))+
  geom_point()+
  stat_ellipse()
# Ellipses par groupes
p <- ggplot(faithful, aes(waiting, eruptions, color = eruptions > 3))+
  geom_point()
p + stat_ellipse()
# Changer le type d&#39;ellipses: 
# Valeurs possibles "t", "norm", "euclid"
p + stat_ellipse(type = "norm")</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-ellipse-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-ellipse-2.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-ellipse-3.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /></p>
</div>
<div id="nuage-de-points-avec-des-decoupes-rectangulaires" class="section level1">
<h1>Nuage de points avec des decoupes rectangulaires</h1>
<p>Le nombre d?observations est compt? dans chaque d?coupe et affich? en utilisant l?un des fonctions suivantes:</p>
<ul>
<li><strong>geom_bin2d()</strong> pour ajouter un heatmap du comptage dans les d?coupes 2d</li>
<li><strong>stat_bin2d()</strong> pour le comptage du nombre d?observation dans les d?coupes rectangulaires</li>
<li><strong>stat_summary2d()</strong> pour appliquer des fonctions statistiques sur les d?coupes 2d</li>
</ul>
<p>Les formats simplifi?s de ces fonctions sont:</p>
<pre class="r"><code>plot + geom_bin2d(...)

plot+stat_bin2d(geom=NULL, bins=30)

plot + stat_summary2d(geom = NULL, bins = 30, fun = mean)</code></pre>
<ul>
<li><strong>geom</strong> : l?objet g?om?trique ? afficher</li>
<li><strong>bins</strong> : Nombre de d?coupes verticale et horizontale. La valeur par d?faut est 30</li>
<li><strong>fun</strong> : fonction pour une description statistique</li>
</ul>
<p>Le jeux e donn?es <em>diamonds</em>, dans le package ggplot2, est utilis? :</p>
<pre class="r"><code>head(diamonds)</code></pre>
<pre><code>##   carat       cut color clarity depth table price    x    y    z
## 1  0.23     Ideal     E     SI2  61.5    55   326 3.95 3.98 2.43
## 2  0.21   Premium     E     SI1  59.8    61   326 3.89 3.84 2.31
## 3  0.23      Good     E     VS1  56.9    65   327 4.05 4.07 2.31
## 4  0.29   Premium     I     VS2  62.4    58   334 4.20 4.23 2.63
## 5  0.31      Good     J     SI2  63.3    58   335 4.34 4.35 2.75
## 6  0.24 Very Good     J    VVS2  62.8    57   336 3.94 3.96 2.48</code></pre>
<pre class="r"><code># Graphique
p <- ggplot(diamonds, aes(carat, price))
p + geom_bin2d()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-bin2d-rectangular-bins-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="384" /></p>
<p>Changer le nombre de d?coupes:</p>
<pre class="r"><code># Changer le nombre de d?coupes
p + geom_bin2d(bins=10)</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-bin2d-rectangular-bins_2-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="384" /></p>
<p>Ou sp?cifie la largeur des d?coupes:</p>
<pre class="r"><code># Sp?cifier la largeur des d?coupes
p + geom_bin2d(binwidth=c(1, 1000))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-bin2d-rectangular-bins_3-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="384" /></p>
</div>
<div id="nuage-de-point-avec-distribution-marginale" class="section level1">
<h1>Nuage de point avec distribution marginale</h1>
<p><strong>Step 1/3. Cr?er des donn?es:</strong></p>
<pre class="r"><code>set.seed(1234)
x <- c(rnorm(500, mean = -1), rnorm(500, mean = 1.5))
y <- c(rnorm(500, mean = 1), rnorm(500, mean = 1.7))
group <- as.factor(rep(c(1,2), each=500))
df <- data.frame(x, y, group)
head(df)</code></pre>
<pre><code>##             x          y group
## 1 -2.20706575 -0.2053334     1
## 2 -0.72257076  1.3014667     1
## 3  0.08444118 -0.5391452     1
## 4 -3.34569770  1.6353707     1
## 5 -0.57087531  1.7029518     1
## 6 -0.49394411 -0.9058829     1</code></pre>
<p><strong>Step 2/3. Cr?er des graphiques: </strong></p>
<pre class="r"><code># Nuage de points color?s par groupes
scatterPlot <- ggplot(df,aes(x, y, color=group)) + 
  geom_point() + 
  scale_color_manual(values = c(&#39;#999999&#39;,&#39;#E69F00&#39;)) + 
  theme(legend.position=c(0,1), legend.justification=c(0,1))
scatterPlot


# Courbe de densit? marginale de x (panel du haut)
xdensity <- ggplot(df, aes(x, fill=group)) + 
  geom_density(alpha=.5) + 
  scale_fill_manual(values = c(&#39;#999999&#39;,&#39;#E69F00&#39;)) + 
  theme(legend.position = "none")
xdensity

# Courbe de densit? marginale de y (panel de droite)
ydensity <- ggplot(df, aes(y, fill=group)) + 
  geom_density(alpha=.5) + 
  scale_fill_manual(values = c(&#39;#999999&#39;,&#39;#E69F00&#39;)) + 
  theme(legend.position = "none")
ydensity</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-with-marginal-density-distribution-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-with-marginal-density-distribution-data-visualization-2.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="240" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-with-marginal-density-distribution-data-visualization-3.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="240" /></p>
<p>Cr?er un emplacement vide :</p>
<pre class="r"><code>blankPlot <- ggplot()+geom_blank(aes(1,1))+
  theme(plot.background = element_blank(), 
   panel.grid.major = element_blank(),
   panel.grid.minor = element_blank(), 
   panel.border = element_blank(),
   panel.background = element_blank(),
   axis.title.x = element_blank(),
   axis.title.y = element_blank(),
   axis.text.x = element_blank(), 
   axis.text.y = element_blank(),
   axis.ticks = element_blank()
     )</code></pre>
<p><strong>Step 3/3. Regrouper les graphiques:</strong></p>
<p>Pour mettre plusieurs graphiques sur la m?me page, le package <strong>gridExtra</strong> peut ?tre utilis?. Installez le package comme suit:</p>
<pre class="r"><code>install.packages("gridExtra")</code></pre>
<p>Arranger le graphique avec des largeurs et des hauteurs adapt?es pour chaque ligne et chaque colonne:</p>
<pre class="r"><code>library("gridExtra")
grid.arrange(xdensity, blankPlot, scatterPlot, ydensity, 
        ncol=2, nrow=2, widths=c(4, 1.4), heights=c(1.4, 4))</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-put-multiple-plot-together-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="480" /></p>
<p>Lire plus sur comment arranger plusieurs graphiques sur la m?me page : <a href="https://www.sthda.com/french/french/wiki/ggplot2-combiner-plusieurs-graphiques-sur-la-m-me-page-logiciel-r-et-visualisation-de-donn-es">ggplot2 - Arranger plusieurs graphiques sur la m?me page</a></p>
</div>
<div id="nuages-de-points-personnalises" class="section level1">
<h1>Nuages de points personnalis?s</h1>
<pre class="r"><code># Nuage de points simple
ggplot(mtcars, aes(x=wt, y=mpg)) + 
  geom_point()+
  geom_smooth(method=lm, color="black")+
  labs(title="Miles per gallon \n according to the weight",
       x="Weight (lb/1000)", y = "Miles/(US) gallon")+
  theme_classic()  

# Changer la couleur/ le type par groupe
# Supprimer l&#39;intervalle de confiance
p <- ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) + 
  geom_point()+
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
  labs(title="Miles per gallon \n according to the weight",
       x="Weight (lb/1000)", y = "Miles/(US) gallon")

p + theme_classic()  </code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-customized-scatter-plot-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-customized-scatter-plot-data-visualization-2.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /></p>
<p>Changer les couleurs manuellement</p>
<pre class="r"><code># Couleurs continues
p + scale_color_brewer(palette="Paired") + theme_classic()

# Couleurs discr?tes
p + scale_color_brewer(palette="Dark2") + theme_minimal()

# Couleurs en gradient
p + scale_color_brewer(palette="Accent") + theme_minimal()</code></pre>
<p><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-customized-change-color-data-visualization-1.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-customized-change-color-data-visualization-2.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /><img src="https://www.sthda.com/french/sthda/RDoc/figure/ggplot2/ggplot2-scatter-plot-customized-change-color-data-visualization-3.png" title="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" alt="ggplot2 nuage de points - Logiciel R et visualisation de donn?es" width="259.2" /></p>
<p>Lire plus sur ggplot2 et couleurs : <a href="https://www.sthda.com/french/french/wiki/ggplot2-couleurs-changer-les-couleurs-automatiquement-et-manuellement-logiciel-r-et-visualisation-de-donnees">ggplot2 couleurs</a></p>
</div>
<div id="infos" class="section level1">
<h1>Infos</h1>
<p><span class="warning"> Cette analyse a ?t? faite en utilisant le <strong>logiciel R</strong> (ver. 3.2.1) et le package <strong>ggplot2</strong> (ver. 1.0.1) </span></p>
</div>

<script>jQuery(document).ready(function () {
    jQuery('h1').addClass('wiki_paragraph1');
    jQuery('h2').addClass('wiki_paragraph2');
    jQuery('h3').addClass('wiki_paragraph3');
    jQuery('h4').addClass('wiki_paragraph4');
    });//add phpboost class to header</script>
<style>.content{padding:0px;}</style>
</div><!--end rdoc-->
<!--====================== stop here when you copy to sthda================-->

<!-- END HTML -->]]></description>
			<pubDate>Sun, 22 Nov 2015 04:19:56 +0100</pubDate>
			
		</item>
		
	</channel>
</rss>
