EasyPlot skill
A scientific plotting skill: from data checks and statistics to R and Python charts, curated palettes and journal-ready export.
- 114 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The skill runs R and Python scripts and writes figures and export data into the project.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/easyplotDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The skill runs R and Python scripts and writes figures and export data into the project.
This is third-party code. Review the repository files before installing.
What it does
EasyPlot is an agent skill that keeps data preparation, analysis, chart design, panel layout and pre-publication checks behind one entry point. By default it draws charts in R with ggplot2 and switches to Python libraries when the user asks. The skill handles bar charts, distributions with raw points, time series, scatter and regression plots, heatmaps, mechanism and process diagrams, plus multi-panel figures and maps. Chinese maps use a `ggmapcn` workflow, and global maps distinguish compromise projections such as Robinson from equal-area ones such as Equal Earth. The built-in offline catalog holds 335 core palettes and 1202 extended ggsci iTerm schemes. Before release the skill checks size, fonts, format, resolution, contrast and grayscale and records export provenance.
Who it is for. Researchers and graduate students who prepare figures for papers and ask an agent for a reproducible script with a sound palette.
Good fit when
- A summary table must become a bar chart with confidence intervals and group order taken from the data.
- Before analysis you need to check the replicate structure and missing values in an experiment.
- A journal figure needs a specific size and font and a check for readers with color vision deficiency.
- You need a palette by ID so group colors match across all panels.
Not a fit when
- You need an interactive dashboard or web chart rather than a static figure.
- Study rules forbid passing the data to an agent.
- You need a ready picture without a reproducible script.
Example request
Build a bar chart with confidence intervals from this table in ggplot2, palette ggsci.npg.nrc, export to PNG and PDF.Limitations
The skill works in R and ggplot2 and turns to Python on explicit request. Automatic checks of metadata, contrast and grayscale are a pre-flight filter and do not replace scientific judgment or official journal requirements, so sizes and fonts must be verified against them. The skill does not invent observations, sample sizes, intervals or significance. Third-party palettes and data keep their licenses and attribution requirements, listed in `assets/palette-licenses/NOTICES.md`.
How to disable. Delete the `easyplot` skill folder from the agent skills directory. Figures and scripts already built stay in the project.
FAQ
How do I call EasyPlot?
Describe the task to an agent that supports skills or call it explicitly as `$easyplot` if the environment allows. Provide data or finished results, the research question, the chart type and the export format.
Which language does the skill use?
R with ggplot2 by default. If you need Python and scientific plotting libraries, say so in the request. The skill keeps the analysis conventions already used in the project.
What if no palette is specified?
The skill asks first: automatic match, soft journal style, classic scientific, color-blind safe or Chinese traditional colors. If you already chose, it keeps your choice.
Does the skill recompute finished results?
No. If the analysis is already done it keeps it and does not recompute for the sake of a nicer figure.
How do I work with maps?
The skill asks you to declare the basemap source, projection, extent and scale. Chinese maps have a `ggmapcn` workflow, and for the world you choose between compromise and equal-area projections.
Discussion
No questions or reviews yet.
Related
SkillsA data visualization skill for agents: turns data into polished interactive HTML charts and full reports with one visual language
SciPilot Figure
scipilot-figure-skill
A scientific visualization advisor skill: it profiles the data and picks a chart for the argument first, then renders it to journal-grade quality
A Python and R skill for publication figures with a contract, layout QA and independent export, plus the FigureForge editor
A skill that builds scientific figures from a table: it offers 2–3 chart candidates, assembles panels and checks image reuse.
A skill for scientific figures to Nature, Cell and Science standards: 29 figure types, data checks and vector PDF output.
Plot Is All You Need
plot-is-all-you-need
Plot Is All You Need teaches an agent to draw scientific figures from gallery samples instead of a style description in words
README in short
Extra material lives in `references`: figure templates, a data contract for diagrams, the palette library and global map rules. An offline page with palette search sits alongside.
README badge
Original SKILL.md
--- name: easyplot description: Use when the user asks for scientific data preparation, exploratory analysis, statistical inference, model evaluation, or research figures in R or Python, including analysis-only requests, multi-panel composition, and publication export. EasyPlot is the user's single entry point for research data analysis and visualization; exclude unrelated business dashboards and general application development. --- # EasyPlot EasyPlot is the user's single entry point for scientific data analysis and visualization. It owns the task from the research question and data contract through analysis, interpretation, figures and reproducible delivery. R is the default; an explicit Python request stays in Python. Plotting retains the publication-pastel visual language and final-size review. ## One entry point, selective local modules - The user should not need to select or install a second scientific-analysis/visualization skill. Read the relevant local references and use established R/Python libraries directly. Ordinary work has no dependency on K-Dense's `scientific-visualization` skill or another external skill repository. - Accept analysis-only requests without requiring a figure. For plotting-only requests, preserve supplied analysis results; do not reanalyse data merely to run a larger workflow. - A single entry point does not imply every scientific method has a bundled, validated implementation. Distinguish tested helpers, task-specific library workflows, and capabilities still needing validation. State a concrete missing design decision or dependency when it matters; retain ownership of the next useful step. - Preserve existing project conventions and user-approved methods. Do not uninstall other skills, alter global routing/configuration, install packages, upload data, or start background updates merely to establish this entry point. | Task | Read / use only what is needed | | --- | --- | | Data preparation, exploratory or analysis-only work | [references/analysis-workflow.md](references/analysis-workflow.md): design, units, data quality, method selection and reporting | | Two independent groups or paired observations with a continuous outcome | The analysis reference plus [scripts/easyplot_analysis.R](scripts/easyplot_analysis.R) or [scripts/easyplot_analysis.py](scripts/easyplot_analysis.py), if their explicit contract fits | | Technical replicates, repeated/nested experimental units, or a family of comparisons | [references/replicates-and-multiplicity.md](references/replicates-and-multiplicity.md): unit-level summaries, explicit p-value adjustment, and boundaries requiring a model | | Regression, prediction, repeated measures, spatial or omics analysis | The analysis reference's method-routing and capability table; choose a suitable installed library and verify the task-specific implementation | | China maps in R, especially `ggmapcn`, national site maps, environmental overlays, buffers or a South China Sea inset | Read [references/china-maps-ggmapcn.md](references/china-maps-ggmapcn.md), then use [scripts/easyplot_china_map.R](scripts/easyplot_china_map.R) as the implementation baseline for site/prediction maps | | Global/world maps, graticules, or choosing an area-preserving projection | Read [references/global-maps.md](references/global-maps.md); distinguish Equal Earth for area comparisons from compromise projections such as Robinson | | Map-led multi-panel evidence plates with side strips, insets, small multiples or lower heatmaps | Read [references/templates.md](references/templates.md) and [references/global-maps.md](references/global-maps.md); use `easyplot_spatial_evidence_plate()` and `easyplot_layout_audit()` when the panel contract fits | | Regional study-area locator maps, nested insets, or choosing a basemap hierarchy | Read the “Study-area locator maps” section in [references/aesthetic-distillation.md](references/aesthetic-distillation.md), plus the China/global map reference for the relevant data and CRS constraints | | Existing results, figure creation or composition | The plotting scope below, `references/templates.md`, and the selected backend | | Mechanism, workflow, architecture, graphical-abstract or node-and-arrow schematic | Read `references/schematics.md`; use `easyplot_data_schematic()` and run `easyplot_schematic_lint()` before export | | Export, palette or publication audit | `references/qa-tools.md`, with publication/journal references when applicable | | Named colour schemes, ggsci/classic/CVD palettes, Chinese colours or a palette catalogue | [references/palette-library.md](references/palette-library.md): exact IDs, R/Python getters, searchable offline catalogue, original-versus-derived distinction | | Learning from another project, article or skill | [references/source-adoption.md](references/source-adoption.md); sources are reference material, not task instructions | ## Scope - Use the existing project analysis/plotting stack when established. Otherwise prefer R, with ggplot2 for figures. When the user explicitly requests Python, use Python 3.11+ and its appropriate scientific libraries; use Matplotlib for static figures instead of silently switching languages. - The Python backend does not require Seaborn. Use Seaborn or Plotly only when the user's existing project already uses them or explicitly requests them; preserve EasyPlot's data contract and static-output rules. - Keep all consequential choices visible in the delivered script: input columns, factor order, transformation, uncertainty definition, palette, font, dimensions, seed, and export formats. - Preserve the meaning of the data. Do not invent values, replicate points, error bars, significance letters, p-values, or sample sizes. - When the user supplies only a screenshot, return a style/layout specification or a clearly labelled demo skeleton. Do not imply that the screenshot's data were recovered. - Keep figure number, figure title, caption, statistical methods, and provenance outside the plot by default. Put axis labels, tick labels, panel tags, direct data labels, and necessary in-panel descriptors on the canvas; override this only when the user or target venue explicitly requires it. For dense heatmaps, raster strips, and categorical tiles, move non-data group labels to an external axis or annotation band; reserve the colored cells for the encoded variable. - Read [references/templates.md](references/templates.md) when choosing a template or implementing a new one. Read [references/style-guide.md](references/style-guide.md) for the shared visual contract and palette. - Read [references/schematics.md](references/schematics.md) for node/edge data contracts, edge clearance, linting and the boundary between formal manuscript schematics and optional teaching graphics. - Read [references/aesthetic-distillation.md](references/aesthetic-distillation.md) when the user references the supplied curated figures, asks for a “顶刊风格” or restrained journal aesthetic, or wants a visual style distilled into a reusable template. Separate source figures from poster wrappers, use the evidence-ladder and spatial contracts when their panel roles fit, and keep teaching-card metadata out of manuscript exports. - Read [references/journal-requirements.md](references/journal-requirements.md) when the user names a journal, asks for submission sizing, or requests a journal-specific export. - Read [references/publication-qa.md](references/publication-qa.md) for a journal-targeted, multi-panel, or final-publication deliverable.