Categories Uncategorized

[R] Comment positionner la légende à l’intérieur d’un tracé dans ggplot2

Le blog de Zhenguo Zhang –

Par défaut, ggplot2 place la légende en dehors de la zone de tracé (généralement à droite). Cependant, vous souhaiterez parfois déplacer la légende à l’intérieur du tracé pour économiser de l’espace ou améliorer la mise en page. Cet article explique comment y parvenir en utilisant theme() paramètres.

Exemple 1 : Utilisation de base de legend.position

La manière la plus simple de déplacer une légende à l’intérieur du tracé consiste à fournir un vecteur numérique de longueur deux au legend.position argument dans theme(). Ces coordonnées représentent la position relative dans le panneau de tracé, allant de 0 à 1. Consultez la section sur « Contrôles de positionnement clés » à la fin pour une explication détaillée du système de coordonnées.

library(ggplot2)

ggplot(mtcars, aes(wt, mpg, color = factor(cyl))) +
  geom_point(size = 3) +
  theme_bw() +
  theme(legend.position = c(0.8, 0.8))

Exemple 2 : Affinement avec justification et contexte

Lorsque vous placez une légende à l’intérieur, vous devez souvent ajuster quelle partie de la zone de légende s’aligne sur vos coordonnées et gérer l’arrière-plan s’il masque les données.

  • legend.justification: Contrôle le point d’ancrage de la zone de légende. Par exemple, c("right", "top") signifie que le coin supérieur droit de la zone de légende sera placé aux coordonnées spécifiées.
  • legend.background: Utiliser element_blank() pour rendre l’arrière-plan transparent.
ggplot(mtcars, aes(wt, mpg, color = factor(cyl))) +
  geom_point(size = 3) +
  theme_bw() +
  theme(
    legend.position = c(1, 1),
    legend.justification = c("right", "top"),
    legend.background = element_blank()
  )

Exemple 3 : Positionnement dans des tracés à facettes

Déplacer la légende à l’intérieur d’un tracé à facettes fonctionne de la même manière : la figure entière est considérée comme un seul tracé pour le système de coordonnées. Vous pouvez utiliser les coordonnées pour le placer dans l’un des espaces vides ou sur un panneau spécifique. Dans l’exemple suivant, la légende est placée en bas au centre du tracé et un arrière-plan est ajouté pour améliorer la lisibilité :

ggplot(mtcars, aes(wt, mpg, color = factor(cyl))) +
  geom_point(size = 3) +
  facet_wrap(~am) +
  theme_bw() +
  theme(
    legend.position = c(0.5, 0.2),
    legend.background = element_rect(fill = "white", color = "grey80")
  )

Exemple 4 : L’astuce « Espace vide » pour les tracés à facettes

Si vous avez un panneau qui ne contient aucune donnée, c’est l’endroit idéal pour placer une légende. Pour le montrer, la variable facette carb n’a que 3 valeurs, et nous allons créer une grille à facettes 2×2. Nous supprimerons également l’arrière-plan et la bordure de la légende. L’exemple suivant montre cela :

# Use 3 categories to leave the 4th spot in a 2x2 grid empty
mtcars_subset <- mtcars[mtcars$carb %in% c(1, 2, 4), ]

ggplot(mtcars_subset, aes(wt, mpg, color = factor(cyl))) +
  geom_point(size = 3) +
  facet_wrap(~carb, nrow = 2, ncol = 2) +
  theme_bw() +
  theme(
    # Coordinates c(0.75, 0.25) target the center of the empty bottom-right area
    legend.position = c(0.75, 0.25),
    legend.background = element_blank(),
    legend.justification = "center"
  )

Contrôles de positionnement clés

Pour maîtriser le positionnement des légendes, gardez ces trois commandes à l’esprit :

  1. Système de coordonnées: Les coordonnées c(X, Y) représentent une échelle relative de 0 à 1 sur le panneau de tracé.
    • c(0, 0): Coin inférieur gauche
    • c(1, 1): Coin supérieur droit
    • c(0.5, 0.5): Centre de la parcelle
  2. Point d’ancrage (legend.justification): Utilisez ceci pour contrôler quelle partie de la zone de légende s’aligne avec vos coordonnées. Par exemple, c("right", "top") garantit que le coin supérieur droit de la zone de légende se trouve exactement à vos coordonnées cibles.
  3. Suppression de l’arrière-plan: Si votre légende bloque des points de données, effacez l’arrière-plan de la zone de légende en utilisant legend.background = element_blank(). Alternativement, utilisez element_rect() pour lui donner un fond semi-transparent ou stylisé.

Bonne programmation !

– –


PakarPBN

A Private Blog Network (PBN) is a collection of websites that are controlled by a single individual or organization and used primarily to build backlinks to a “money site” in order to influence its ranking in search engines such as Google. The core idea behind a PBN is based on the importance of backlinks in Google’s ranking algorithm. Since Google views backlinks as signals of authority and trust, some website owners attempt to artificially create these signals through a controlled network of sites.

In a typical PBN setup, the owner acquires expired or aged domains that already have existing authority, backlinks, and history. These domains are rebuilt with new content and hosted separately, often using different IP addresses, hosting providers, themes, and ownership details to make them appear unrelated. Within the content published on these sites, links are strategically placed that point to the main website the owner wants to rank higher. By doing this, the owner attempts to pass link equity (also known as “link juice”) from the PBN sites to the target website.

The purpose of a PBN is to give the impression that the target website is naturally earning links from multiple independent sources. If done effectively, this can temporarily improve keyword rankings, increase organic visibility, and drive more traffic from search results.

Jasa Backlink

Download Anime Batch

Leave a Reply

Your email address will not be published. Required fields are marked *