ggplotAgent: A Self-Debugging Multi-Modal Agent for Robust and Reproducible Scientific Visualization
ggplotAgent translates your natural language prompts into publication-quality scientific visualizations. Describe the plot you need, and the agent generates it for you.
Here are several examples of plots generated by ggplotAgent using different datasets and prompts.
Dataset: examples/volcano_example.csv
Prompt: Generate a publication-quality volcano plot with the x-axis representing log2 Fold Change and the y-axis representing -log10 FDR. Color points red for significantly upregulated features (log2FC > 1 and FDR < 0.05), blue for significantly downregulated features (log2FC < -1 and FDR < 0.05), and grey for all others. Add a horizontal dashed line indicating the significance threshold at FDR = 0.05, and vertical dashed lines at log2FC = 1 and -1. Ensure the plot has a clean white background with no grid lines.
Dataset: examples/heatmap_test.csv
Prompt: Generate a publication-quality heatmap.
Dataset: examples/corr_scatter.csv
Prompt: Generate a publication-quality correlation plot with points.
Dataset: examples/heatmap_test.csv
Prompt: Generate a publication-quality violin plot with beautiful colors, use test names as categories.
Dataset: examples/go_bubble_example.csv
Prompt: Generate a publication-quality dot plot, y axis is godesc, x axis is gene_ratio, point color map with fdr and point size with gene number.
Note: These visualizations are powered by the backend ggplotAgent API. The complete source code for this FastAPI service is provided in the backend directory, allowing you to run, inspect, and modify it yourself.