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

如何使用Plotly库通过for循环实现与base R一致的箱线图绘制

Plotly实现3×3网格箱线图的R代码方案

你可以直接使用以下代码复现base R版本的输出效果:

# 加载依赖库
library(plotly)
library(dplyr)

# 提取所有数值列,和原逻辑保持一致
dataset_numeric <- dplyr::select_if(dataset, is.numeric)

# 初始化列表存储单幅箱线图对象
plot_list <- list()

# 循环生成前9个数值列的箱线图
for(i in 1:9) {
  single_plot <- plot_ly(
    y = dataset_numeric[[i]],
    type = "box",
    boxpoints = "outliers" # 仅展示离群点,匹配base R默认样式
  ) %>% 
  layout(
    title = names(dataset_numeric)[i],
    showlegend = FALSE
  )
  plot_list[[i]] <- single_plot
}

# 拼接为3行3列的子图
final_plot <- subplot(
  plot_list,
  nrows = 3,
  margin = 0.07 # 调整子图间距避免标题重叠,可按需修改
)

# 输出图像
final_plot

注意事项

  • 若你的数据集数值列总数不足9,需将循环中1:9的上限调整为实际数值列数量,避免索引报错
  • 可以调整margin参数的数值,适配不同长度的列名标题显示效果
  • 如果需要展示所有散点,删除boxpoints = "outliers"参数即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:36:08