"Create Vaex histograms, heatmaps, scatter plots, expression plots,
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill visualization-jupyter --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Visualization Jupyter?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-visualization-jupyter)More formats (shields.io, HTML) on the badges page.
---
name: visualization-jupyter
description: "Create Vaex histograms, heatmaps, scatter plots, expression plots,
saved Matplotlib outputs, and high-level Jupyter widget workflows."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# visualization-jupyter
Use this sub-skill when the task is to plot or explore Vaex data with `df.viz` / `expression.viz`, save Matplotlib output, or work with Vaex's Jupyter widget layer. If the task still needs DataFrame creation, inspection, filtering, or basic lazy semantics before plotting, route that part to `../dataframe-core/SKILL.md`. Keep plotting and display separate: if the user needs custom counts, means, correlations, binning, groupby grids, or other precomputed statistics behind a plot, route that work to `../expressions-analytics/SKILL.md`; if the user needs REST plot endpoints or remote plot serving, route it to `../serving-remote/SKILL.md`.
## Load these references
- [references/visualization-workflows.md](references/visualization-workflows.md)
- [references/jupyter-widgets.md](references/jupyter-widgets.md)
- [references/troubleshooting.md](references/troubleshooting.md)
- [scripts/plot_smoke.py](scripts/plot_smoke.py)
## Core operating rules
1. Use `df.viz.histogram`, `df.viz.heatmap`, `df.viz.scatter`, and `expression.viz.histogram` for plotting. Treat `df.plot1d` and direct `df.scatter` / `df.plot` aliases as compatibility shims that may warn; prefer the `df.viz` namespace in new guidance.
2. Keep analytics separate from presentation. If the task asks for custom counts, means, correlations, binning, groupby grids, or other precomputed statistics behind a plot, send that part to `../expressions-analytics/SKILL.md` and use this sub-skill only for rendering or display choices.
3. For saved figures or CI/server smoke checks, use Matplotlib with the `Agg` backend and `show=False`. Use `hardcopy=` on histogram/heatmap when possible; for scatter, save the current figure explicitly after plotting. Do not require a notebook frontend for terminal checks.
4. Use `selection`, `limits`, `shape`, `what`, `f`, `normalize_axis`, and facet-style syntax as plotting controls. Treat `what` as a small expression language such as `count(*)`, `mean(x)`, `sum(x)`, `std(x)`, or `correlation(a, b)`; if the syntax does not parse, fall back to the troubleshooting reference.
5. Use `df.viz.scatter` only for small DataFrames or explicitly bounded selections. If the row count is large, choose histogram/heatmap with aggregated grids instead of eager scatter plotting.
6. For Jupyter, use `df.widget` accessors at a high level: `histogram`, `heatmap`, `data_array`, `expression`, `column`, `selection_expression`, and progress widgets. Treat `bqplot`, `ipyvolume`, `ipyleaflet`, `ipympl`, `ipyvuetify`, `ipywidgets`, and `xarray` as frontend dependencies that may be present or absent.
7. For progress feedback, prefer simple progress, `progress='widget'` in notebook contexts, or rich tree progress when you need nested task detail. Keep the choice consistent with the execution environment.
## Reference map
- `references/visualization-workflows.md`: plotting recipes, expression plots, `hardcopy`/`show`, facets, and display-vs-computation guidance.
- `references/jupyter-widgets.md`: `df.widget` concepts, widget stack, interactive plot patterns, and frontend behavior.
- `references/troubleshooting.md`: deprecation warnings, invalid `what`/facet syntax, scatter row limits, headless display errors, missing Matplotlib or frontend packages, and progressbar mismatches.
## Bundled check
Run the bundled smoke check after editing this sub-skill or when diagnosing an environment:
```bash
python scripts/plot_smoke.py --help
python scripts/plot_smoke.py
```
The script creates tiny in-memory data only, uses public Vaex APIs, writes noninteractive Matplotlib PNGs with the `Agg` backend, and asserts that each saved file is non-empty.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!