Academic plotting
/SKILLGenerates publication-quality figures for ML papers from research context. Given a paper section or description, extracts system components and relationships to generate architecture diagrams via Gemi
--- name: academic-plotting description: Generates publication-quality figures for ML papers based on the research context. Given a paper section or description, it extracts system components and relationships to generate architecture diagrams using Gemini. Given experiment results or data, it automatically selects the chart type and generates data-driven figures using matplotlib/seaborn. Use when creating any figure for a conference paper. version: 1.0.0 author: Orchestra Research license: MIT tags: [Academic Writing, Visualization, Matplotlib, Seaborn, Plotting, Figures, Diagrams, NeurIPS, ICML, ICLR, LaTeX] dependencies: [matplotlib>=3.8.0, seaborn>=0.13.0, numpy, google-genai>=1.0.0] --- # Academic Plotting for ML Papers Generate publication-quality figures for ML/AI conference papers. Two distinct workflows: 1. Diagram figures (architecture, system design, workflows, pipelines) : AI image generation via Gemini 2. Data figures (line charts, bar charts, scatter plots, heatmaps, ablations) : matplotlib/seaborn ## When to Use Which Workflow | Figure Type | Tool | Why | |-------------|------|-----| | Architecture / system diagram | Gemini (Workflow 1) | Complex spatial layouts with boxes, arrows, labels | | Workflow / pipeline / lifecycle | Gemini (Workflow 1) | Multi-step processes with connections | | Bar chart, line plot, scatter plot | matplotlib (Workflow 2) | Precise numerical data, reproducible | | Heatmap, confusion matrix | matplotlib/seaborn (Workflow 2) | Structured grid data | | Ablation table as a chart | matplotlib (Workflow 2) | Grouped bars or line comparisons | | Pie / donut chart | matplotlib (Workflow 2) | Proportional data (use sparingly in ML papers) | | Training curves | matplotlib (Workflow 2) | Loss/accuracy over steps/epochs | Rule of thumb: If the figure has numerical axes, use matplotlib. If the figure has boxes and arrows, use Gemini. --- ## Step 0: Context Analysis & Extraction The user will typically provide one of these inputs:not a ready-made specification: | Input Type | Example | What to Extract | |-----------|---------|-----------------| | Full paper / section draft | "Here's our method section..." | System components, their relationships, data flow | | Description paragraph | "Our system has three layers that..." | Key entities, hierarchy, connections | | Raw results/data table | "MMLU: 85.2, HumanEval: 72.1..." | Metrics, methods, comparison structure | | CSV/JSONal data | Experiment log files | Variables, trends, grouping dimensions | | Vague request | "Create a figure for the overview" | Read the surrounding paper context to infer content | ### Extraction Workflow For diagrams (research context → architecture figure): 1. Read the provided context : paper section, abstract, or description paragraph 2. Identify visual entities : What are the main components/modules/stages? - Look for: nouns that represent system parts, named modules, layers, stages - Count them: if >8 top-level entities, consider grouping into sections 3. Identify relationships : How do components connect? - Look for: verbs describing data flow (“sends to,” “queries,” “feeds into”) - Classify: data flow (solid arrow), control flow (gray), error path (dashed red) 4. Determine layout pattern: - Sequential pipeline → left-to-right flow - Layered architecture → horizontal bands stacked vertically - Hub-and-spoke → central node with radiating connections - Hierarchical → top-down tree 5. Assign colors : One accent color per logical group/layer 6. Write every label exactly : Extract exact terminology from the paper text For data charts (results → figure): 1. Read the provided data : table, paragraph with numbers, CSV, or JSON 2. Identify dimensions: - What is being compared? (methods, models, configurations) → categorical axis - What is the metric? (accuracy, loss, latency, F1) → value axis - Is there a time/step dimension? → line plot - Are there multiple metrics? → multi-panel or grouped bar chart 3. Choose chart type automatically using this priority: - Has a step/time axis → line chart - Comparing N methods on M benchmarks → grouped bar chart -