You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中使用r2d3:如何实现两张图表并排显示?

在RMarkdown中并排显示r2d3图表的方法

可以通过HTML弹性布局(Flex)直接控制r2d3图表的排列,具体实现步骤如下:

1. 保留原有的barchart.js脚本

确保你的barchart.js文件内容不变:

// !preview r2d3 data=c(0.3, 0.6, 0.8, 0.95, 0.40, 0.20)

var barHeight = Math.floor(height / data.length);

svg
  .selectAll("rect")
  .data(data)
  .enter()
  .append("rect")
  .attr("width", function (d) {
    return d * width;
  })
  .attr("height", barHeight)
  .attr("y", function (d, i) {
    return i * barHeight;
  })
  .attr("fill", "steelblue");

2. 在RMarkdown中用Flex容器包裹r2d3代码块

直接在RMarkdown里添加HTML容器,将两个r2d3渲染代码分别放在占比接近一半的子容器中:

library(r2d3)
<div style="display: flex; gap: 15px; margin-bottom: 20px;">
  <div style="width: 49%;">
r2d3(data=c(0.3, 0.6, 0.8, 0.95, 0.40, 0.20), script = "barchart.js")
</div>
  <div style="width: 49%;">
r2d3(data=c(0.3, 0.6, 0.8, 0.95, 0.40, 0.20), script = "barchart.js")
</div>
</div>

核心说明

  • display: flex将父容器设置为弹性布局,子元素自动横向排列
  • 子容器设置width: 49%,预留间隙避免图表拥挤
  • out.width='100%'让r2d3图表填满所在子容器,保证布局自适应

如果需要批量处理多组并排图表,也可以定义CSS类统一管理样式,减少内联代码重复。

内容的提问来源于stack exchange,提问作者DiamondJoe12

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 05:31:18