上传 CSV,自动生成 9 种常用 ggplot2 图(散点、柱状、箱线、折线、直方、分面等),零代码可视化,支持 Docker/Singularity 免安装运行。
零代码 ggplot2 可视化工具 - 上传 CSV 数据,自动生成专业图表。
模式适用场景优点Docker 模式个人电脑/桌面简单易用,生态完善Singularity 模式HPC/共享服务器无需 root,适合集群本地模式有 R 环境零依赖,最轻量
安装 Docker Desktop: https://www.docker.com/products/docker-desktop/
安装 Docker Desktop: https://www.docker.com/products/docker-desktop/
bash
# Windows
run_docker.bat input/sample_data.csv
# Linux/macOS
./run_docker.sh input/sample_data.csv
bash
# 使用示例数据
./run_docker.sh input/sample_data.csv
# 使用自定义数据
./run_docker.sh input/my_data.csv output/
# 指定输出目录
./run_docker.sh data.csv results
需要安装 R (>= 4.0) 和 ggplot2:
r
install.packages('ggplot2')
上传 CSV 文件到 input 目录。支持的列:
列名类型说明用途x数值X轴变量散点图、折线图y数值Y轴变量散点图、折线图category文本分类变量 (A-E)柱状图、箱线图、分面图value数值数值指标柱状图、箱线图、直方图group文本分组 (Control/Treatment)散点图、分组折线图time数值时间点折线图
执行以下命令:
bash
cd <skill-directory>
Rscript run_plot.R input/your_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出版级图表300 DPI 出版风格
bash
Rscript run_plot.R <input_file> [options]
参数说明默认值<input_file>输入 CSV 文件路径必填--output-dir输出目录output``--dpi图片分辨率150``--width图片宽度 (英寸)8``--height图片高度 (英寸)6
bash
# 使用默认设置
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
只需要 x 和 y 两列即可生成散点图:
csv
x,y
2.3,5.1
3.1,4.8
1.8,6.2
csv
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
NA 表示YYYY-MM-DD可以通过配置文件自定义图表样式:
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分组着色
成功运行后会显示:
text
=== 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 个图表文件
===============================
bash
# Linux/macOS
./build_docker.sh
# Windows
docker build -t r-ggplot-quickplot .
bash
# 设置用户名
export DOCKER_USERNAME=your_username
# 构建并推送
./build_docker.sh latest
如果镜像已发布,用户可以直接使用:
bash
docker pull your_username/r-ggplot-quickplot:latest
适用于高校、科研机构等共享服务器环境。
联系管理员在服务器上安装 Singularity,或在本地构建镜像后上传。
bash
# 在有 Singularity 的环境中
singularity build r-ggplot-quickplot.sif Singularity.def
# 或使用构建脚本
./build_singularity.sh
bash
# 使用示例数据
./run_singularity.sh input/sample_data.csv
# 使用自定义数据
./run_singularity.sh input/my_data.csv output/
bash
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 包会自动安装:
r
install.packages('ggplot2')
如需额外功能,可手动安装:
r
install.packages('ggpubr') # 出版级图表
install.packages('patchwork') # 多图组合
install.packages('ggthemes') # 主题风格
bash
Rscript -e "install.packages('ggplot2')"
bash
# 检查文件路径
ls -la input/sample_data.csv
确保 CSV 文件包含所需列,或检查列名是否拼写正确。