r2d3 dans R : Comment afficher deux tracés côte à côte sur la même ligne ?
P粉543344381
2023-09-03 16:23:03
<p>En utilisant le package r2d3, je peux restituer un simple graphique d3.js dans RMarkdown comme ceci : </p>
<p><strong>barchart.js</strong>:</p>
<pre class="brush:php;toolbar:false;">// !preview r2d3 data=c(0.3, 0.6, 0.8, 0.95, 0.40, 0.20)
var barHeight = Math.floor(hauteur / données.longueur);
SVG
.selectAll("rect")
.data(données)
.entrer()
.append("rect")
.attr("largeur", fonction (d) {
retourner d * largeur ;
})
.attr("hauteur", hauteur de la barre)
.attr("y", fonction (d, i) {
return i * barHeight;
})
.attr("fill", "steelblue");</pre>
<p><strong>RMarkdown</strong> : </p>
<pre class="brush:php;toolbar:false;">{r out.width='100%', fig.height=4}
bibliothèque (r2d3)
r2d3(data=c(0.3, 0.6, 0.8, 0.95, 0.40, 0.20), script = "barchart.js")</pre>
<p>Cependant, disons que je souhaite dessiner le même graphique simultanément dans RMarkdown (c'est-à-dire deux graphiques côte à côte). Y a-t-il un moyen de faire cela? L’utilisation simple de RMarkdown est simple puisque vous pouvez enregistrer le graphique puis l’organiser dans une grille. Mais existe-t-il un moyen pour r2d3 de faire cela ? Il n'enregistre pas chaque forme en tant qu'objet pouvant être disposé dans une grille. </p>
Je suppose qu'il existe plusieurs façons de procéder. Une option consiste à utiliser les colonnes Bootstrap implémentées dans le package
crosstalk
:BTW - bscols est également très utile pour planifier des widgets HTML interactifs, et peut résoudre la plupart des cas où la sortie Rmd "normale" ne peut pas être facilement planifiée.