-
Notifications
You must be signed in to change notification settings - Fork 2
/
legiplot_tdb.Rmd
218 lines (153 loc) · 5.22 KB
/
legiplot_tdb.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
---
title: "Legiplot : une étude quantitative des codes législatifs"
subtitle: "https://github.com/juliengossa/legiplot"
author:
- Yang Yang #, [email protected] \newline
- Julien Gossa \newline #, [email protected] \newline
- Université de Strasbourg
date: Juin 2021
lang: "fr"
output:
beamer_presentation:
theme: "Madrid"
toc: false
fontsize: 8pt
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, warning = FALSE)
options(dplyr.summarise.inform = FALSE)
library(tidyverse)
library(ggthemes)
library(cowplot)
source("R/legiplot_fun_load.R")
source("R/legiplot_fun_tree.R")
source("R/legiplot_fun_evol.R")
source("R/legiplot_fun_diff.R")
code.exemple <- "code de l'éducation"
```
```{r setup.load, include=FALSE, cache=F}
legiplot_load_tree()
legiplot_load_evol()
legiplot_load_diff()
```
## Introduction
### Présentation du projet
Legiplot vise à évaluer le rythme des réformes par la quantification des
modification des codes législatifs.
Les données de ces codes sont extraites des projets suivants :
- [Légifrance](https://www.legifrance.gouv.fr/) : le portail officiel bien connu ;
- [Archéo Lex](https://archeo-lex.fr/) : un projet indépendant qui consolide les
textes de Légifrance dans des dépôts GIT.
De ces données, nous extrayons différents indicateurs et visualisations,
qui sont présentés en détail dans la suite.
```{r exemples, fig.width=50, fig.height=8, out.width="100%" }
plot_grid(ncol=6,
legiplot_plot_tree(code.exemple),
legiplot_indcode_plot(code.exemple),
legiplot_vol_code(code.exemple),
legiplot_modifs_annees_plot(uncode=code.exemple,start="0001-01-01"),
legiplot_modifs_codes_plot(uncode=code.exemple,start="0001-01-01",legend.pos="none"),
legiplot_modifs_codes_plot(pos="fill",uncode=code.exemple,start="0001-01-01",legend.pos="none")
)
```
### Structure
::: columns
:::: column
Cette représentation permet d'apprécier, dans l'espace, le volume relatif des
différentes parties des codes.
- La représentation se limite à la partie législative.
- Chaque nœud représente une section du code.
- La couleur est celle de la sous-partie ou du Livre.
- La taille représente le nombre d'articles.
::::
:::: column
```{r exemple.tree, fig.width=10, fig.height=10, out.width="100%" }
legiplot_plot_tree(code.exemple)
```
::::
:::
### Indicateurs
::: columns
:::: column
Cette représentation permet d'apprécier différentes manières de mesurer l'évolution
volumétrique des codes.
- Trois indicateurs primaires sont présentés :
- nombre d'articles ;
- nombre d'alinéas (les énumerations sont comptées comme alinéas) ;
- nombre de mots.
- Trois indicateurs secondaires sont présentés :
- nombre d'alinéas par articles ;
- nombre de mots par articles ;
- nombre de mots par alinéas.
- Pour être comparables, tous les indicateurs sont normalisés en valeur 100 au début de la période.
::::
:::: column
```{r exemple.ind, fig.width=6, fig.height=4, out.width="100%" }
legiplot_indcode_plot(code.exemple)
```
::::
:::
### Evolution des volumes des Livres
::: columns
:::: column
Cette représentation permet d'apprécier l'évolution dans le temps des volumes
des Livres, en fonction des parties, en terme de nombre d'articles.
Elle est particulièrement utile pour détecter les codifications progressives.
- Les couleurs représentent les Livres.
::::
:::: column
```{r exemple.vol, fig.width=6, fig.height=4, out.width="100%" }
legiplot_vol_code(code.exemple)
```
::::
:::
### Proportion des modifications
::: columns
:::: column
Cette représentation permet d'apprécier l'évolution des articles qui composent un code.
Elle est particulièrement utile pour vérifier ce qu'il reste du code original au
fil des transformations.
- Les couleurs représentent le nombre d'articles ajoutés, modifiés ou supprimés.
- La première rEprésentation est en nombre d'articles.
- La seconde représentation est en proportion des articles.
- En raison d'erreurs en cours de correction dans Légifrance, certaines visualisations
peuvent présenter des aberrations.
::::
:::: column
```{r exemple.modfis, fig.width=6, fig.height=8, out.width="100%" }
plot_grid(ncol=1,
legiplot_modifs_codes_plot(uncode=code.exemple,start="0001-01-01",legend.pos="none"),
legiplot_modifs_codes_plot(pos="fill",uncode=code.exemple,start="0001-01-01",legend.pos="none")
)
```
::::
:::
## Codes
```{r tdb}
tdb <- function(code) {
plot_grid(ncol=2,
plot_grid(ncol=1, rel_heights = c(2.5,1),
legiplot_plot_tree(code),
plot_grid(ncol=2,
legiplot_modifs_codes_plot(uncode=code,start="0001-01-01",legend.pos="none"),
legiplot_modifs_codes_plot(pos="fill",uncode=code,start="0001-01-01",legend.pos="none")
)
),
plot_grid(ncol=1, align = "v", axis="lr",
legiplot_indcode_plot(uncode=code),
legiplot_vol_code(uncode=code),
legiplot_modifs_annees_plot(uncode=code,start="0001-01-01")
)
)
}
#tdb("code de procédure civile")
```
```{r all, results='asis', fig.width=18,fig.height=12, warning=FALSE, cache=TRUE}
for(code in levels(lp_stats$code)) {
# code <- "code de l'éducation"
cat("### ",code,"\n\n")
#if(code != "code de l'artisanat")
print(tdb(code))
cat("\n\n")
}
```