mplcursors
Interactive data selection cursors for Matplotlib.
Decision gist · record as of 2026-08-14
Yes, if you work with Matplotlib and need simple interactive point selection. The package is lightweight, actively maintained, has no vulnerabilities, and solves a common exploratory data analysis task. The only caveat is that the license status is unclear in the metadata, so verify the repository license before using it in a restricted context.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Matplotlib ≥3.1 and Python ≥3.7; interactive cursor features depend on a working display and Matplotlib backend that supports mouse events.
- Low friction install with only two runtime dependencies (matplotlib and importlib-metadata).
- Actively maintained with a recent release and no known vulnerabilities.
License · maintenance · safety
(unclear) — License status is unclear from the package metadata, so you may want to check the repository directly before adopting it in a commercial or restricted context.
last release 2026-03-18 (149 days) · last repo commit 2026-03-18 · 129 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,491,144 downloads/mo, #3,842 on PyPI
Alternatives
Verify before relying
pip install mplcursors
import matplotlib.pyplot as plt
import mplcursors
plt.plot([1, 2, 3])
mplcursors.cursor()
plt.show()- Whether the package works with all Matplotlib backends or only interactive ones (e.g., whether it functions in headless or notebook environments).
- Specific behavior when used with large datasets or whether there are performance considerations for plots with many points.
What it is and what it does
mplcursors is a Matplotlib extension that lets you add interactive cursors to your plots. When you enable it, you can click on data points in a live plot window and the cursor will display the coordinates and values of that point. It's designed as a simpler alternative with a streamlined API.
The package depends only on matplotlib and importlib-metadata, making it lightweight to add to existing visualization workflows. It's actively maintained, has no known security vulnerabilities, and ranks in the top 5000 PyPI packages by download volume, suggesting it's used in real data exploration and analysis pipelines.
Use it for
- Exploring scatter plots or line plots interactively to read exact values without manually hovering or zooming.
- Building interactive data analysis tools where users need to identify and annotate specific data points in real time.
- Debugging or validating data by clicking on plot points to confirm their coordinates match expectations.
- Creating Jupyter notebooks or scripts where interactive point selection enhances exploratory data analysis without complex UI code.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with Matplotlib and need simple interactive point selection.
The package is lightweight, actively maintained, has no vulnerabilities, and solves a common exploratory data analysis task. The only caveat is that the license status is unclear in the metadata, so verify the repository license before using it in a restricted context.
Install
mplcursors on PyPI
Before you install
Low friction install with only two runtime dependencies (matplotlib and importlib-metadata). Actively maintained with a recent release and no known vulnerabilities.
Requires Matplotlib ≥3.1 and Python ≥3.7; interactive cursor features depend on a working display and Matplotlib backend that supports mouse events.
License in practice
License status is unclear from the package metadata, so you may want to check the repository directly before adopting it in a commercial or restricted context.
Quickstart
pip install mplcursors
import matplotlib.pyplot as plt
import mplcursors
plt.plot([1, 2, 3])
mplcursors.cursor()
plt.show()
Verify before relying
- Whether the package works with all Matplotlib backends or only interactive ones (e.g., whether it functions in headless or notebook environments).
- Specific behavior when used with large datasets or whether there are performance considerations for plots with many points.
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesmatplotlibimportlib-metadata |
| Maintenance | Actively maintained 149 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,491,144 / month, #3,842 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Framework :: Matplotlib |
Evidence: mplcursors-0.7.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “interactive matplotlib cursor”
- mplcursorsAdds interactive point-selection cursors to Matplotlib plots,…
- ipymplipympl enables interactive matplotlib plots in Jupyter notebooks and…
- mpld3Converts matplotlib plots to interactive D3.js visualizations in the…
Give your agent the search over MCP, or paste the wish link into any chat.
More Graphics packages
Pillow adds image processing capabilities to Python, providing file format support, efficient pixel data handling, and image manipulation operations.
Install it if you need to work with images in Python—it is the de facto standard for this task.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Enables matplotlib figures to display inline directly within Jupyter notebooks and IPython environments instead of in separate windows.
PyMuPDF extracts, renders, converts, and manipulates PDF and other document formats (XPS, EPUB, images, Office files via Pro) with high performance, providing text, tables, images, and metadata with precise layout information.
The AGPL license requires careful review if you are building proprietary software—commercial licensing is available from Artifex.
pypdfium2 is a Python binding to PDFium that enables PDF rendering, inspection, manipulation, and creation through a ctypes interface to Google's PDFium library.
Install it if you need PDF rendering, inspection, or manipulation in Python; the medium install friction is offset by comprehensive platform support.
Altair is a declarative Python library for creating interactive statistical visualizations by writing simple, readable code that compiles to Vega-Lite specifications.
See also mpld3 · mplfinance · matplotlib · MouseInfo · timple · lovelyplots · hvplot · palettable · basemap · colorcet