Skip to main content

Draggable data windowing for matplotlib plots

Project description

matplotlib-window

PyPI - Python Version PyPI PyPI - License pre-commit.ci status

Draggable data windowing for matplotlib plots. Inspired by the adventures of past me and dragpy.

fixed window sample

Interface

For most use cases, interaction with this library is done via the helper wrappers in matplotlib_window.window. These functions will accept the user data and build the plots directly for windowing.

fixed_window

Plot the provided data & build a draggable fixed-width window to select bounds of interest; the x-locations of the edges of the window are returned once the figure window is closed.

Parameters

Parameter Description Type Default
x_data x data values to plot Sequence[int|float] Required
y_data y data values to plot Sequence[int|float] Required
position x-coordinate of the left edge of the window int|float Required
window_width Width, along the x-axis, of the draggable window int|float Required
snap_to_data Prevent dragging of the window beyond beyond the bounds of the plotted data bool True
axes_kwargs Optional kwargs to pass to the Axes constructor1 dict[str, Any] {"title": ...}
plot_kwargs Optional kwargs to pass to the plotting call2 dict[str, Any] {}
  1. kwargs are passed directly to the Axes constructor, see the matplotlib.axes.Axes documentation for supported arguments.
  2. kwargs are passed directly to the plotting call, see the matplotlib.pyplot.plot documentation for supported arguments.

flexible_window

Plot the provided data & build a flexible-width window to select bounds of interest; the x-locations of the edges of the window are returned once the figure window is closed.

Parameters

Parameter Description Type Default
x_data x data values to plot Sequence[int|float] Required
y_data y data values to plot Sequence[int|float] Required
position x-coordinate of the left edge of the window int|float Required
window_width Starting width, along the x-axis, of the flexible window int|float Required
snap_to_data Prevent dragging of the window beyond beyond the bounds of the plotted data bool True
allow_face_drag Allow dragging of the window using its face1 bool False
axes_kwargs Optional kwargs to pass to the Axes constructor2 dict[str, Any] {"title": ...}
plot_kwargs Optional kwargs to pass to the plotting call3 dict[str, Any] {}
  1. Currently not implemented
  2. kwargs are passed directly to the Axes constructor, see the matplotlib.axes.Axes documentation for supported arguments.
  3. kwargs are passed directly to the plotting call, see the matplotlib.pyplot.plot documentation for supported arguments.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

matplotlib_window-1.1.0.tar.gz (485.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

matplotlib_window-1.1.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file matplotlib_window-1.1.0.tar.gz.

File metadata

  • Download URL: matplotlib_window-1.1.0.tar.gz
  • Upload date:
  • Size: 485.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for matplotlib_window-1.1.0.tar.gz
Algorithm Hash digest
SHA256 ad9dccdcdef2696e616f25ee80dd2d5212f78dda651a70fddfa88a1c2739b848
MD5 3396206a84d82dd796dac497ec57cc91
BLAKE2b-256 7730b2e500f8abf000ef82eeedc5217204b7a0f8e7c8cc620ca5304527c9ccb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for matplotlib_window-1.1.0.tar.gz:

Publisher: pypi_release.yml on sco1/matplotlib-window

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file matplotlib_window-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for matplotlib_window-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d70930a5c3cb8640789f5479cdd4eb90c5ab293edf987d44645252c75e52ccb3
MD5 b9c5b40b7d30d5cb1d45ef149db45d59
BLAKE2b-256 b72b288ceaee43f24bae8f6d40d7783ac35900fb606a573abdef79d2fbc1c0e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for matplotlib_window-1.1.0-py3-none-any.whl:

Publisher: pypi_release.yml on sco1/matplotlib-window

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page