Skip to main content

Grandscatter

Interactive multidimensional scatterplot widget for Jupyter notebooks. Rotate projection axes by dragging to explore high-dimensional point clouds with correct linear projections at all times.

Built on anywidget and WebGL.

Installation

pip install grandscatter

Quick start

from grandscatter import Scatter
import pandas as pd

df = pd.read_csv("my_data.csv")

widget = Scatter(
    df,
    axis_fields=["x1", "x2", "x3", "x4", "x5"],
    label_field="category",
    label_colors={"A": "#e23838", "B": "#2196f3", "C": "#4caf50"},
)
widget

Features

  • Interactive axis rotation -- drag axis handles to rotate the projection and explore your data from any angle.
  • Orthogonal projections -- the projection matrix is always kept orthonormal, ensuring geometrically correct linear projections.
  • Perspective and orthographic modes -- switch between projection types on the fly.
  • WebGL rendering -- fast, anti-aliased point rendering with depth sorting.
  • Categorical legend -- click legend items to highlight categories.
  • Live trait sync -- update properties like projection, axis_length, view_angle, and base_point_size from Python and see changes reflected immediately.

API

Scatter(df, axis_fields, label_field, label_colors, **kwargs)

Parameter Type Description
df pd.DataFrame Input data
axis_fields list[str] Column names to use as projection dimensions
label_field str Column name for categorical labels
label_colors dict[str, str] or list[str] Mapping of category names to hex colors, or a list of colors in category order
projection str "orthographic" (default) or "perspective"
axis_length float or None Length of axis lines (None for auto)
camera_z float or None Camera z-position for perspective mode
view_angle float Field of view in degrees (default 45)
base_point_size float Point radius in pixels (default 6)

All keyword parameters are traitlets and can be updated after creation:

widget.projection = "perspective"
widget.base_point_size = 4
widget.view_angle = 90

License

MIT

Metadata

Release files for grandscatter 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for grandscatter 0.3.1
File Size Uploaded
grandscatter-0.3.1.tar.gz 70.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for grandscatter 0.3.1
File Interpreter ABI Platform
grandscatter-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 140.6 kB

Release files / grandscatter-0.3.1.tar.gz

Download URL grandscatter-0.3.1.tar.gz
Size 70.0 kB
Tags Source
SHA-256 checksum
How to use checksums
f4d5480f6b61b5e141ac7fd084e5b7c4e5ff8458ec8199dd481cf8a01d9a9e4f
BLAKE2b-256 checksum
How to use checksums
1ea6c8125a2a566f167a3bc30b1d9d3b8305728a80055a09358948879782b975
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 27, 2026.

Transparency log

Release files / grandscatter-0.3.1-py3-none-any.whl

Download URL grandscatter-0.3.1-py3-none-any.whl
Size 70.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c48e20598685693a4870f6309872d2d87a9efe7f13b445612585a03b4abda270
BLAKE2b-256 checksum
How to use checksums
18ef99bbfaab3b0fb40c5ff16eefe8c30b13ffd2bd5fa8462808949382d8e24b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page