Commit a3dee6a
authored
spec: add scatter-brush-zoom specification (#3297)
## New Specification: `scatter-brush-zoom`
Related to #3295
---
### specification.md
# scatter-brush-zoom: Interactive Scatter Plot with Brush Selection and
Zoom
## Description
An interactive scatter plot enabling brush selection (click and drag to
select a rectangular region) and zoom functionality. Users can draw
selection boxes to highlight or filter data points, zoom into specific
areas for detailed analysis, and use the selection to trigger downstream
actions like filtering or linked views. This interaction pattern is
fundamental for exploratory data analysis and brushing-and-linking
visualizations.
## Applications
- Exploratory data analysis where users need to select outliers or
clusters for further investigation
- Linked-view dashboards where brushing on a scatter plot filters data
in other charts
- Financial analysis selecting specific time periods and value ranges
from large datasets
- Scientific data exploration identifying regions of interest in
multi-dimensional datasets
## Data
- `x` (numeric) - Values for the horizontal axis
- `y` (numeric) - Values for the vertical axis
- `color` (categorical, optional) - Category for color-coding different
groups
- `label` (string, optional) - Point labels for identification
- Size: 50-1000 points (interactivity handles larger datasets well)
- Example: Simulated 2D data with multiple clusters or real dataset with
continuous variables
## Notes
- Brush selection should draw a visible rectangle while dragging
- Selected points should be visually highlighted (color change, opacity,
or border)
- Zoom can be triggered via mouse wheel, double-click, or toolbar
buttons
- Include a reset/clear selection button to deselect all points
- For libraries supporting linked selections, demonstrate how selection
state can be accessed
- Pan functionality should be available when zoomed in
- Consider showing count of selected points in a status area
---
**Next:** Add `approved` label to the issue to merge this PR.
---
:robot: *[spec-create
workflow](https://github.com/MarkusNeusinger/pyplots/actions/runs/20822857372)*
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>1 parent 031c089 commit a3dee6a
2 files changed
Lines changed: 58 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
0 commit comments