Faire des graphiques rapidement
16 avril 2025
# Installer devtools si vous ne l'avez pas
install.packages("devtools")
# Installer le package clessnverse depuis GitHub
devtools::install_github("clessn/clessnverse")
# Charger le package
library(clessnverse)
Astuce
Si vous rencontrez des problèmes, assurez-vous que votre version de R est à jour et que vous avez les dépendances nécessaires installées.
Le package clessnize offre deux fonctions principales :
create_standardized_graph()
- Crée des visualisations de données standardiséesadd_png()
/ add_multiple_pngs()
- Ajoute des logos ou des images à vos graphiquesCrée des graphiques standardisés avec un style cohérent pour la visualisation des données politiques :
Deux types de graphiques principaux sont disponibles :
Pourcentage
create_standardized_graph(
data = votre_dataframe, # Vos données d'entrée
x_variable = "dv_voteChoice", # Variable pour l'axe x (défaut : choix de vote)
fill_variable = "votre_variable", # Variable pour les couleurs de remplissage
weights_variable = "weight", # Colonne contenant les poids
# Options de filtrage
filter_values = c("valeur1", "valeur2"), # Valeurs à inclure de fill_variable
x_filter_values = c("PLC", "PCC") # Valeurs à inclure de x_variable
)
create_standardized_graph(
# Options de style
language = "fr", # "fr" ou "en" pour la langue de sortie
colors = c("Groupe1" = "#FF0000"), # Couleurs personnalisées pour les valeurs
fill_labels = c("valeur1" = "Label"), # Étiquettes d'affichage pour les valeurs
x_labels = c("PLC" = "Libéraux"), # Étiquettes d'affichage pour les valeurs x
# Options d'ordre
x_order = c("PLC", "PCC", "BQ"), # Ordre des valeurs sur l'axe x
fill_order = c("Groupe1", "Groupe2") # Ordre des valeurs dans la variable fill
)
create_standardized_graph(
# Éléments textuels
title = "Titre de mon graphique",
subtitle = "Sous-titre personnalisé",
y_title = "Titre personnalisé de l'axe Y",
# Options de sortie
output_path = "output/mon_graphique.png",
add_logo = TRUE,
logos_list = list( # Liste optionnelle de logos PNG
list(
path = "chemin/vers/logo.png",
x_position = 20,
y_position = 20,
scale = 0.5
)
)
)
Des couleurs et des mappages de partis intégrés sont disponibles :
# Couleurs de parti par défaut
party_colors <- c(
"PCC" = "#1A4782", # Conservateur - Bleu
"PLC" = "#D71920", # Libéral - Rouge
"BQ" = "#33B2CC", # Bloc Québécois - Bleu clair
"NPD" = "#F58220", # NPD - Orange
"PVC" = "#3D9B35" # Parti Vert - Vert
)
Note
Les abréviations des partis sont automatiquement mappées entre l’anglais et le français en fonction du paramètre language
.
Définir des variables personnalisées pour votre graphique :
# Définir des couleurs et des étiquettes personnalisées pour les cafés
coffee_colors <- c(
"tim_hortons" = "#C8102E",
"mcdonalds" = "#FFC72C",
"starbucks" = "#006241"
)
coffee_labels <- c(
"tim_hortons" = "Tim Hortons",
"mcdonalds" = "McDonald's",
"starbucks" = "Starbucks"
)
# Définir un ordre personnalisé pour les cafés
coffee_order <- c("tim_hortons", "mcdonalds", "starbucks")
Organiser les partis politiques pour une présentation cohérente :
# Créer des mappages de traduction d'étiquettes de parti
party_labels_fr <- c(
"lpc" = "PLC",
"cpc" = "PCC",
"ndp" = "NPD",
"bq" = "BQ",
"gpc" = "PVC"
)
party_labels_en <- c(
"lpc" = "LPC",
"cpc" = "CPC",
"ndp" = "NDP",
"bq" = "BQ",
"gpc" = "GPC"
)
# Définir un ordre personnalisé pour les partis
party_order_fr <- c("lpc", "cpc", "ndp", "bq", "gpc")
party_order_en <- c("lpc", "cpc", "ndp", "bq", "gpc")
Ajouter des logos à votre graphique :
# Créer une liste de logos PNG à ajouter
fr_logos_list <- list(
list(
path = "logos/coffee/tim_hortons.png",
x_position = 2850,
y_position = 2410,
scale = 1.2
),
list(
path = "logos/coffee/starbucks.png",
x_position = 2335,
y_position = 2410,
scale = 1.2
),
list(
path = "logos/coffee/mcdonalds.png",
x_position = 1865,
y_position = 2410,
scale = 1.2
),
list(
path = "logos/FR/logo_black_1600.png",
x_position = 100,
y_position = 2500,
scale = 0.4
)
)
# Version française - différence par rapport à la moyenne nationale
create_standardized_graph(
graph_type = "difference",
data = df,
x_variable = "dv_voteChoice",
fill_variable = "lifestyle_consCoffee",
filter_values = c("tim_hortons", "mcdonalds", "starbucks"),
language = "fr",
colors = coffee_colors,
fill_labels = coffee_labels,
x_labels = party_labels_fr,
x_order = party_order_fr,
fill_order = coffee_order,
title = "L'indice Café-Politique",
subtitle = "Écart de consommation par rapport à la moyenne canadienne (points de %)",
output_path = "graphs/cafe_barplot_fr_difference.png",
add_logo = TRUE,
logos_list = fr_logos_list
)
# Version française - pourcentages au sein de chaque parti
create_standardized_graph(
graph_type = "percentage",
data = df,
x_variable = "dv_voteChoice",
fill_variable = "lifestyle_consCoffee",
filter_values = c("tim_hortons", "mcdonalds", "starbucks"),
language = "fr",
colors = coffee_colors,
fill_labels = coffee_labels,
x_labels = party_labels_fr,
x_order = party_order_fr,
fill_order = coffee_order,
title = "Préférences de café par parti politique",
subtitle = "Pourcentage de consommation au sein de chaque parti",
y_title = "Pourcentage",
output_path = "graphs/cafe_barplot_fr_percentage.png",
add_logo = TRUE,
logos_list = fr_logos_list
)
Créez facilement des graphiques en français et en anglais :
# Version anglaise avec les mêmes données
create_standardized_graph(
graph_type = "difference",
data = df,
x_variable = "dv_voteChoice",
fill_variable = "lifestyle_consCoffee",
filter_values = c("tim_hortons", "mcdonalds", "starbucks"),
language = "en", # Changez simplement la langue
colors = coffee_colors,
fill_labels = coffee_labels,
x_labels = party_labels_en, # Utilisez les étiquettes en anglais
x_order = party_order_en,
fill_order = coffee_order,
title = "The Coffee-Politics Index",
subtitle = "Consumption difference from Canadian average (percentage points)",
output_path = "graphs/cafe_barplot_en_difference.png",
add_logo = TRUE,
logos_list = en_logos_list # Utilisez les logos pour l'anglais
)
# Ajouter un seul logo
add_png(
base_png_path = "mon_graphique.png",
png_to_add_path = "logo.png",
output_path = "graphique_avec_logo.png",
x_position = 20, # Position depuis le bord droit
y_position = 20, # Position depuis le bord supérieur
scale = 0.5 # Facteur d'échelle de taille
)
# Ajouter plusieurs logos
add_multiple_pngs(
base_png_path = "mon_graphique.png",
output_path = "graphique_final.png",
png_list = list(
list(path = "logo1.png", x_position = 20, y_position = 20, scale = 0.5),
list(path = "logo2.png", x_position = 20, y_position = 150, scale = 0.3)
)
)
Poids : Assurez-vous que vos données ont une colonne de poids pour une représentation précise
Gestion des partis : Pour les graphiques de choix de vote, les abréviations des partis sont automatiquement mappées
Gestion de la mémoire : Le package inclut le nettoyage de la mémoire pour gérer les grandes images
Thème par défaut : Utilise theme_datagotchi_light()
pour un style cohérent
Légende : Inclut automatiquement les informations de source et la taille de l’échantillon
?create_standardized_graph
Astuce
Pour les questions ou les problèmes, veuillez ouvrir une issue sur le dépôt GitHub.
clessnize