Skip to content
Back to skills

Visualization And Ui

ASecurity

"Route plotting, display, UI controls, and scene-backed scalar

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
toolspythonbashapibackend

Works with

  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill visualization-and-ui --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Visualization And Ui?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Visualization And Ui
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-visualization-and-ui/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-visualization-and-ui)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: visualization-and-ui
description: "Route plotting, display, UI controls, and scene-backed scalar
  visualization through the current phi.vis public APIs."
metadata:
  disco-role: operating
disable-model-invocation: true
license: MIT
---

# Visualization and UI

Use this sub-skill when a task involves rendering fields, tensors, geometries, histograms, animations, scalar training logs, or interactive display/control surfaces through `phi.vis`.

## First decisions

1. **Use the current public surface.** Prefer `import phi.vis as vis`. `from phi.flow import *` gives `show`, `plot`, and `control`, but not `vis.close`, `load_scalars`, `plot_scalars`, `show_hist`, `overlay`, or `write_image`; import `phi.vis` explicitly whenever you need the figure closer or scalar-log helpers.
2. **Do not call `view()`.** Current `phi.flow` and `phi.vis` do not export a public `view` symbol. Older visualization, Dash, and console docs still contain `view(...)` examples; translate those to `vis.show(...)` or `vis.plot(...)` and keep any `control(...)` calls as script-level assignment declarations.
3. **Choose a renderer deliberately.** Use Matplotlib for stable static/headless 1D and 2D plots, Plotly for browser/notebook-friendly and 3D plots, and treat console/ascii plotting as unavailable for verification-critical workflows in this version.
4. **Close figures in scripts and tests.** Store the result of `vis.plot(...)`, save or inspect it, then call `vis.close(fig)`. For `vis.show(...)`, expect a display side effect; avoid it in headless automation unless `MPLBACKEND=Agg` is set.
5. **Use scene scalars through `load_scalars()`.** Prefer `curve = vis.load_scalars(scene, "loss")` followed by `vis.plot(curve, ...)`. `plot_scalars()` remains available but is deprecated and Matplotlib-only.

## Verified public entry points

- `vis.show(*fields, lib=None, row_dims=None, col_dims=batch, animate=None, overlay="overlay", title=None, size=None, same_scale=True, log_dims="", show_color_bar=True, color=None, alpha=1.0, err=0.0, frame_time=100, repeat=True, plt_params=None, max_subfigures=20)`
- `vis.plot(...)` has the same live signature family as `show(...)` and returns a native figure object or animation instead of immediately displaying it.
- `vis.close(figure=None)` closes a figure created by `vis.plot()`; without an argument, it closes the most recent `phi.vis` figure.
- `vis.show_hist(data, bins=math.instance(bins=20), weights=1, same_bins=None)` builds a histogram and displays it through `show()`.
- `vis.control(value, range=None, description="", **kwargs)` only accepts primitive `int`, `float`, `bool`, or `str` values and must be used in a variable assignment statement.
- `vis.load_scalars(scene, name, prefix="log_", suffix=".txt", x="steps", entries_dim=(iterationˢ), batch_dim=(batchᵇ))` reads `log_<name>.txt` curves from a single scene path or `Scene`.
- `vis.plot_scalars(*args, **kwargs)` delegates to the Matplotlib scalar plot helper and emits a deprecation warning; use `load_scalars()` plus `plot()` for new code.

## Route by task

- **Static field/tensor/geometry figure:** read [workflows.md](references/workflows.md#static-field-tensor-and-geometry-plots), then use `vis.plot(..., lib="matplotlib")` or `lib="plotly"`.
- **Quick human display:** use `vis.show(field_or_tensor, lib="matplotlib" | "plotly")`; for an existing figure, call `vis.show(lib=...)` only after a previous `vis.plot()`.
- **Animations:** pass `animate="time"` or another dimension to `vis.plot()` / `vis.show()` and set `frame_time`; prefer Plotly or notebook display for interactive review, Matplotlib for script-side objects.
- **Subplots / batches:** use `row_dims`, `col_dims`, `overlay`, `title`, `same_scale`, `max_subfigures`, and `size`; for many batches, slice or raise `max_subfigures` deliberately.
- **Scalar logs from scenes:** read [workflows.md](references/workflows.md#scene-backed-scalar-curves); keep log files named `log_<name>.txt`.
- **Controls:** keep `learning_rate = vis.control(...)` near the top-level script scope; do not rely on `control()` alone to launch a GUI.
- **Problems or stale examples:** read [troubleshooting.md](references/troubleshooting.md).

## Smoke check

Run the bundled smoke helper in an environment where `phiflow` is installed:

```bash
python sub-skills/visualization-and-ui/scripts/plot_smoke.py
```

The helper verifies the `show`/`plot` signature family, absence of public `view()`, Matplotlib and Plotly figure creation, `control()` assignment semantics, histogram display path, scene scalar loading, deprecated `plot_scalars()`, and figure cleanup.

Files in this skill

  • SKILL.md4.5 KB
  • references/troubleshooting.md2 KB
  • references/workflows.md5.6 KB
  • scripts/plot_smoke.py3.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.