r2d3 dalam R: Bagaimana untuk memaparkan dua plot bersebelahan pada baris yang sama?
P粉543344381
2023-09-03 16:23:03
<p>Menggunakan pakej r2d3, saya boleh memaparkan carta d3.js mudah dalam RMarkdown seperti ini: </p>
<p><strong>barchart.js</strong>:</p>
<pre class="brush:php;toolbar:false;">// !pratonton r2d3 data=c(0.3, 0.6, 0.8, 0.95, 0.40, 0.20)
var barHeight = Math.floor(height / data.length);
svg
.selectAll("betul")
.data(data)
.enter()
.append("betul")
.attr("lebar", fungsi (d) {
pulangkan d * lebar;
})
.attr("tinggi", barHeight)
.attr("y", fungsi (d, i) {
kembali i * barHeight;
})
.attr("isi", "biru keluli");</pre>
<p><strong>RMarkdown</strong>: </p>
<pre class="brush:php;toolbar:false;">{r out.width='100%', fig.height=4}
perpustakaan(r2d3)
r2d3(data=c(0.3, 0.6, 0.8, 0.95, 0.40, 0.20), skrip = "barchart.js")</pre>
<p>Walau bagaimanapun, katakan saya mahu melukis carta yang sama secara serentak dalam RMarkdown (iaitu dua carta sebelah menyebelah). Adakah terdapat cara untuk melakukan ini? Menggunakan RMarkdown mudah adalah mudah kerana anda boleh menyimpan grafik dan kemudian menyusunnya dalam grid. Tetapi adakah terdapat cara untuk r2d3 melakukan ini? Ia tidak menyimpan setiap lukisan sebagai objek yang boleh disusun dalam grid. </p>
Saya rasa terdapat pelbagai cara untuk melakukan ini. Satu pilihan ialah menggunakan Bootstrap Columns yang dilaksanakan dalam pakej
crosstalk
:BTW - bscols juga sangat berguna untuk menjadualkan mana-mana widget html interaktif, dan boleh menyelesaikan kebanyakan kes di mana output Rmd "biasa" tidak boleh dijadualkan dengan mudah.