Commit cf65a3b3 authored by aaaaaa's avatar aaaaaa

Modif reproduction graphe (annotation_custom a la place de geom_curve + text sizing)

parent f88d413a
...@@ -140,43 +140,83 @@ p ...@@ -140,43 +140,83 @@ p
``` ```
Pour la frise chronologique des rois et reines, nous allons utiliser les données disponibles [ici](https://mbostock.github.io/protovis/ex/wheat.js), et formattées au format CSV. Pour la frise chronologique des rois et reines, nous allons utiliser les données disponibles [ici](https://mbostock.github.io/protovis/ex/wheat.js), et formattées au format CSV.
```{r message=FALSE, warning=FALSE} ```{r message=FALSE}
# Fichier des rois et reines # Fichier des rois et reines
wheat_monarchs <- read_csv("wheat_monarchs.csv") wheat_monarchs <- read_csv("wheat_monarchs.csv")
wheat_monarchs %>% wheat_monarchs %>%
kable(format = "html", escape = FALSE, align ="c") %>% kable(format = "html", escape = FALSE, align ="c") %>%
kable_styling(bootstrap_options = "striped", full_width = FALSE, position = "left") kable_styling(bootstrap_options = "striped", full_width = FALSE, position = "left")
```
# Ajout frise chronologique des rois et reines - Ajout frise chronologique des rois et reines
```{r warning=FALSE}
p <- p + p <- p +
# rois/reines sur la barre supérieure # rois/reines sur la barre supérieure
geom_rect(data = wheat_monarchs %>% filter(row_number() %% 2 == 1, is.na(commonwealth)), aes(xmin = start, xmax = end, ymin = 97, ymax = 98), inherit.aes = FALSE) + geom_rect(data = wheat_monarchs %>% filter(row_number() %% 2 == 1, is.na(commonwealth)), aes(xmin = start, xmax = end, ymin = 97, ymax = 98), inherit.aes = FALSE) +
geom_text(data = wheat_monarchs %>% filter(row_number() %% 2 == 1, is.na(commonwealth)), aes(x = start + (end -start) / 2,y = 96, label = name), size = 3, family = "NewCenturySchoolbook", fontface = "italic") + geom_text(data = wheat_monarchs %>% filter(row_number() %% 2 == 1, is.na(commonwealth)), aes(x = start + (end -start) / 2,y = 96, label = name), size = 2, family = "NewCenturySchoolbook", fontface = "italic") +
# rois/reines sur la barre inférieure # rois/reines sur la barre inférieure
geom_rect(data = wheat_monarchs %>% filter(row_number() %% 2 == 0, is.na(commonwealth)), aes(xmin = start, xmax = end, ymin = 96, ymax = 97), inherit.aes = FALSE) + geom_rect(data = wheat_monarchs %>% filter(row_number() %% 2 == 0, is.na(commonwealth)), aes(xmin = start, xmax = end, ymin = 96, ymax = 97), inherit.aes = FALSE) +
geom_text(data = wheat_monarchs %>% filter(row_number() %% 2 == 0, is.na(commonwealth)), aes(x = start + (end -start) / 2,y = 95, label = name), size = 3, family = "NewCenturySchoolbook", fontface = "italic") + geom_text(data = wheat_monarchs %>% filter(row_number() %% 2 == 0, is.na(commonwealth)), aes(x = start + (end -start) / 2,y = 95, label = name), size = 2, family = "NewCenturySchoolbook", fontface = "italic") +
# cas particulier de Cromwell # cas particulier de Cromwell
geom_rect(data = wheat_monarchs %>% filter(commonwealth), aes(xmin = start, xmax = end, ymin = 97, ymax = 98), inherit.aes = FALSE, fill = "white", color = "black") + geom_rect(data = wheat_monarchs %>% filter(commonwealth), aes(xmin = start, xmax = end, ymin = 97, ymax = 98), inherit.aes = FALSE, fill = "white", color = "black") +
geom_text(data = wheat_monarchs %>% filter(commonwealth), aes(x = start + (end -start) / 2,y = 96, label = name), size = 3, family = "NewCenturySchoolbook", fontface = "italic") geom_text(data = wheat_monarchs %>% filter(commonwealth), aes(x = start + (end -start) / 2,y = 96, label = name), size = 2, family = "NewCenturySchoolbook", fontface = "italic")
p
```
- Ajout des annotations en bas et à droite du graphe.
**Note** : en utilisant `annotation_custom`, on doit également modifier les marges autour du graphe.
```{r warning=FALSE}
p <- p +
theme(plot.margin = unit(c(1.2,0.8,0.5,0), units = "cm")) +
annotation_custom(grob = grid::textGrob(label = "shillings",
gp = grid::gpar(fontsize = 8, fontface = "italic", fontfamily = "NewCenturySchoolbook")),
xmin = 1844, xmax = 1844, ymin = 100, ymax = 100) +
annotation_custom(grob = grid::textGrob(label = "shillings",
gp = grid::gpar(fontsize = 8, fontface = "italic", fontfamily = "NewCenturySchoolbook")),
xmin = 1841, xmax = 1841, ymin = 0, ymax = 0) +
annotation_custom(grob = grid::textGrob(label = "5 Years each division",
gp = grid::gpar(fontsize = 8, fontface = "italic", fontfamily = "NewCenturySchoolbook")),
xmin = 1650, xmax = 1650, ymin = -5, ymax = -5) +
annotation_custom(grob = grid::textGrob(label = "5 Years each division",
gp = grid::gpar(fontsize = 8, fontface = "italic", fontfamily = "NewCenturySchoolbook")),
xmin = 1785, xmax = 1785, ymin = -5, ymax = -5)
p p
``` ```
- Enfin, ajout des annonations en haut du graphe.
```{r warning=FALSE} ```{r warning=FALSE}
# Ajout des siècles
p + p +
geom_rect(aes(xmin = 1565.5, xmax = 1829.5, ymin = 100, ymax = 109), fill = "white") + annotation_custom(grob = grid::textGrob(label = "16th Century",
annotate(geom = "text", gp = grid::gpar(fontsize = 8, fontfamily = "NewCenturySchoolbook")),
x = c(1580, 1650, 1750, 1820), y = 101.5, xmin = 1577, xmax = 1577, ymin = 102.5, ymax = 102.5) +
label = c("16th Century", "17th Century", "18th Century", "19th Century"), annotation_custom(grob = grid::textGrob(label = "17th Century",
size = 2.7, family = "NewCenturySchoolbook") + gp = grid::gpar(fontsize = 8, fontfamily = "NewCenturySchoolbook")),
geom_curve(aes(x = 1565, y = 105, xend = 1600, yend = 100), curvature = -0.1, size = 1) + xmin = 1650, xmax = 1650, ymin = 102.5, ymax = 102.5) +
geom_curve(aes(x = 1600, y = 100, xend = 1700, yend = 100), curvature = -0.17, size = 1) + annotation_custom(grob = grid::textGrob(label = "18th Century",
geom_curve(aes(x = 1700, y = 100, xend = 1800, yend = 100), curvature = -0.17, size = 1) + gp = grid::gpar(fontsize = 8, fontfamily = "NewCenturySchoolbook")),
geom_curve(aes(x = 1800, y = 100, xend = 1830, yend = 105), curvature = -0.1, size = 1) + xmin = 1750, xmax = 1750, ymin = 102.5, ymax = 102.5) +
annotate(geom = "text", x = 1700, y = 104, label = "N°1", annotation_custom(grob = grid::textGrob(label = "19th Century",
size = 4, family = "NewCenturySchoolbook", fontface = "bold") gp = grid::gpar(fontsize = 8, fontfamily = "NewCenturySchoolbook")),
xmin = 1820, xmax = 1820, ymin = 102.5, ymax = 102.5) +
annotation_custom(grob = grid::curveGrob(x1 = 0, y1 = 1, x2 = 1, y2 = 0, curvature = -0.12, square = FALSE, ncp = 20,
gp = grid::gpar(col = "black", lwd = 3)),
xmin = 1565, xmax = 1600, ymin = 105, ymax = 100) +
annotation_custom(grob = grid::curveGrob(x1 = 0, y1 = 0, x2 = 1, y2 = 1, curvature = -0.15, square = FALSE, ncp = 20,
gp = grid::gpar(col = "black", lwd = 3)),
xmin = 1600, xmax = 1700, ymin = 100, ymax = 100) +
annotation_custom(grob = grid::curveGrob(x1 = 0, y1 = 0, x2 = 1, y2 = 1, curvature = -0.15, square = FALSE, ncp = 20,
gp = grid::gpar(col = "black", lwd = 3)),
xmin = 1700, xmax = 1800, ymin = 100, ymax = 100) +
annotation_custom(grob = grid::curveGrob(x1 = 0, y1 = 0, x2 = 1, y2 = 1, curvature = -0.12, square = FALSE, ncp = 20,
gp = grid::gpar(col = "black", lwd = 3)),
xmin = 1800, xmax = 1830, ymin = 100, ymax = 105) +
annotation_custom(grob = grid::textGrob(label = "N°1",
gp = grid::gpar(fontsize = 11, fontfamily = "NewCenturySchoolbook", fontface = "bold")),
xmin = 1700, xmax = 1700, ymin = 104, ymax = 104)
``` ```
Ces différentes étapes permettent d'obtenir un graphique assez proche de celui de William Playfair. Ces différentes étapes permettent d'obtenir un graphique assez proche de celui de William Playfair.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment