En utilisant le package r2d3, je peux restituer un simple graphique d3.js dans RMarkdown comme ceci :
barchart.js:
// !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");
RMarkdown :
{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")
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.
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.