The wiggle display is a visualization methodology for two-dimensional scalar fields on a horizontal plane. Originally developed by the geophysical community, wiggle plots provide visual analysis of seismic, seismological, or any other vibration data — helping identify events through the coherent alignment of lobes that relate to geological features and physical rock properties.
Inspired by the MATLAB wiggle function, this Python package offers a similar interface for plotting seismic section data with control over colour, amplitude, and axis orientation.
Given an M × N ndarray, wiggle decomposes it into N traces of
length M (column-major, vertical mode by default).
pip install wigglegit clone https://github.com/lijunzh/wiggle.git
cd wiggle
uv sync --all-extras --devBuild a distribution:
uv buildimport numpy as np
from wiggle import wiggle
data = np.random.default_rng(42).standard_normal((200, 20))
ax = wiggle(data, sf=0.15)Linting and formatting are handled by Ruff:
uv run ruff check src tests
uv run ruff format src testsRun tests:
uv run pytestPre-commit hooks are available:
uv run pre-commit installFor issues, please open a GitHub issue or contact gatechzhu@gmail.com.