← 返回
未分类 中文

R ggplot Quickplot

上传 CSV 数据文件,自动生成 9 种常用 ggplot2 图表(散点图、柱状图、箱线图、折线图、直方图、分面图等)。零代码可视化,支持 Docker/Singularity 免安装运行。
上传 CSV,自动生成 9 种常用 ggplot2 图(散点、柱状、箱线、折线、直方、分面等),零代码可视化,支持 Docker/Singularity 免安装运行。
kenthompson2088 kenthompson2088 来源
未分类 clawhub v3.1.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 452
下载
💾 0
安装
1
版本
#latest#visualization ggplot2 r data-science charts#visualization ggplot2 r data-science charts docker singularity

概述

r-ggplot-quickplot

零代码 ggplot2 可视化工具 - 上传 CSV 数据,自动生成专业图表。

三种运行模式

| 模式 | 适用场景 | 优点 |

|------|----------|------|

| Docker 模式 | 个人电脑/桌面 | 简单易用,生态完善 |

| Singularity 模式 | HPC/共享服务器 | 无需 root,适合集群 |

| 本地模式 | 有 R 环境 | 零依赖,最轻量 |

Docker 模式(桌面/个人电脑)

前置要求

安装 Docker Desktop:https://www.docker.com/products/docker-desktop/

快速开始

前置要求

安装 Docker Desktop:https://www.docker.com/products/docker-desktop/

快速开始

# Windows
run_docker.bat input/sample_data.csv

# Linux/macOS
./run_docker.sh input/sample_data.csv

使用示例

# 使用示例数据
./run_docker.sh input/sample_data.csv

# 使用自定义数据
./run_docker.sh input/my_data.csv output/

# 指定输出目录
./run_docker.sh data.csv results

本地模式

1. 安装依赖

需要安装 R (>= 4.0) 和 ggplot2:

install.packages('ggplot2')

2. 准备数据

上传 CSV 文件到 input 目录。支持的列:

| 列名 | 类型 | 说明 | 用途 |

|------|------|------|------|

| x | 数值 | X轴变量 | 散点图、折线图 |

| y | 数值 | Y轴变量 | 散点图、折线图 |

| category | 文本 | 分类变量 (A-E) | 柱状图、箱线图、分面图 |

| value | 数值 | 数值指标 | 柱状图、箱线图、直方图 |

| group | 文本 | 分组 (Control/Treatment) | 散点图、分组折线图 |

| time | 数值 | 时间点 | 折线图 |

2. 运行绘图

执行以下命令:

cd <skill-directory>
Rscript run_plot.R input/your_data.csv

3. 获取结果

图表自动保存到 output/ 目录:

| 文件 | 图表类型 | 说明 |

|------|----------|------|

| 01_scatter_basic.png | 散点图 | 基础散点图 |

| 02_scatter_advanced.png | 高级散点图 | 带颜色、大小、分组 |

| 03_barplot_vertical.png | 柱状图 | 按分类汇总的垂直柱状图 |

| 04_barplot_horizontal.png | 水平柱状图 | 按值排序的水平柱状图 |

| 05_boxplot.png | 箱线图 | 带数据点的箱线图 |

| 06_lineplot.png | 折线图 | 分组时间序列折线图 |

| 07_histogram.png | 直方图 | 数值分布直方图 |

| 08_facet.png | 分面图 | 按分类分面的散点图 |

| 09_publication_style.png | 出版级图表 | 300 DPI 出版风格 |

命令行参数

Rscript run_plot.R <input_file> [options]

参数说明

| 参数 | 说明 | 默认值 |

|------|------|--------|

| | 输入 CSV 文件路径 | 必填 |

| --output-dir | 输出目录 | output |

| --dpi | 图片分辨率 | 150 |

| --width | 图片宽度 (英寸) | 8 |

| --height | 图片高度 (英寸) | 6 |

使用示例

# 使用默认设置
Rscript run_plot.R input/sample_data.csv

# 自定义输出设置
Rscript run_plot.R input/my_data.csv --output-dir results --dpi 300 --width 10 --height 8

输入数据格式

最小数据要求

只需要 xy 两列即可生成散点图:

x,y
2.3,5.1
3.1,4.8
1.8,6.2

完整数据示例

x,y,category,value,group,time
2.3,5.1,A,23,Control,1
3.1,4.8,A,45,Treatment,1
1.8,6.2,B,12,Control,2
4.2,3.9,B,67,Treatment,2

注意事项

  • CSV 文件必须包含表头行
  • 支持中文字段名
  • 缺失值用 NA 表示
  • 日期格式建议使用 YYYY-MM-DD

图表配置 (config.yaml)

可以通过配置文件自定义图表样式:

# 图表类型设置
charts:
  scatter: true
  barplot: true
  boxplot: true
  lineplot: true
  histogram: true
  facet: true

# 样式设置
style:
  theme: minimal    # minimal, classic, bw, light
  palette: steelblue
  font_size: 12

# 输出设置
output:
  format: [png, pdf]  # 支持 png, pdf, svg
  dpi: 150
  width: 8
  height: 6

自动检测逻辑

脚本会自动检测输入数据的列,并生成适合的图表:

| 检测到的列 | 自动生成的图表 |

|-----------|---------------|

| x, y | 散点图 |

| category, value | 柱状图、箱线图 |

| time, value | 折线图 |

| value (单列) | 直方图 |

| 多分类列 | 分面图 |

| group | 分组着色 |

输出示例

成功运行后会显示:

=== r-ggplot-quickplot 执行完成 ===
输入文件: input/sample_data.csv
输出目录: output/

生成的图表:
  ✓ 01_scatter_basic.png
  ✓ 02_scatter_advanced.png
  ✓ 03_barplot_vertical.png
  ✓ 04_barplot_horizontal.png
  ✓ 05_boxplot.png
  ✓ 06_lineplot.png
  ✓ 07_histogram.png
  ✓ 08_facet.png
  ✓ 09_publication_style.png

共生成 9 个图表文件
===============================

Docker 镜像构建与发布

构建本地镜像

# Linux/macOS
./build_docker.sh

# Windows
docker build -t r-ggplot-quickplot .

发布到 Docker Hub

# 设置用户名
export DOCKER_USERNAME=your_username

# 构建并推送
./build_docker.sh latest

使用预构建镜像

如果镜像已发布,用户可以直接使用:

docker pull your_username/r-ggplot-quickplot:latest

Singularity 模式(HPC/服务器集群)

适用于高校、科研机构等共享服务器环境。

前置要求

联系管理员在服务器上安装 Singularity,或在本地构建镜像后上传。

构建镜像

# 在有 Singularity 的环境中
singularity build r-ggplot-quickplot.sif Singularity.def

# 或使用构建脚本
./build_singularity.sh

使用示例

# 使用示例数据
./run_singularity.sh input/sample_data.csv

# 使用自定义数据
./run_singularity.sh input/my_data.csv output/

手动运行

singularity exec \
    --bind ./input:/app/input:ro \
    --bind ./output:/app/output \
    r-ggplot-quickplot.sif \
    Rscript /app/run_plot.R /app/input/data.csv --output-dir /app/output

本地模式依赖安装

首次使用时,如缺少 R 包会自动安装:

install.packages('ggplot2')

如需额外功能,可手动安装:

install.packages('ggpubr')      # 出版级图表
install.packages('patchwork')   # 多图组合
install.packages('ggthemes')    # 主题风格

故障排除

错误:缺少 ggplot2

Rscript -e "install.packages('ggplot2')"

错误:输入文件不存在

# 检查文件路径
ls -la input/sample_data.csv

错误:列名不匹配

确保 CSV 文件包含所需列,或检查列名是否拼写正确。

技术细节

  • R 版本: >= 4.0.0
  • ggplot2 版本: >= 3.5.0
  • 输出格式: PNG (默认), PDF, SVG
  • 编码: UTF-8

版本历史

共 1 个版本

  • v3.1.0 当前
    2026-05-03 07:39 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

Tavily 搜索

jacky1n7
通过 Tavily API 进行网页搜索(Brave 替代方案)。当用户要求搜索网页、查找来源或链接,且 Brave 网页搜索不可用时使用。
★ 273 📥 100,770
data-analysis

AdMapix

fly0pants
AdMapix 原始数据层,提供广告创意、应用、排名、下载/收入及市场元数据。返回 AdMapix API 的结构化 JSON;调用方...
★ 297 📥 141,758
data-analysis

Stock Watcher

robin797860
管理和监控个人股票自选列表,支持利用同花顺数据添加、删除、列出股票及汇总近期表现。适用于用户希望追踪特定股票、获取表现汇总或管理自选列表时。
★ 112 📥 46,623