mplfinance
Utilities for the visualization, and visual analysis, of financial data
What it is and what it does
mplfinance is a matplotlib wrapper that simplifies financial chart creation by automating the matplotlib boilerplate typically required for candlestick, OHLC, and price-movement plots. It accepts pandas DataFrames with Open, High, Low, Close data indexed by date and generates publication-ready financial visualizations with minimal code.
The package handles common financial charting tasks: rendering multiple plot types (candlestick, OHLC, Renko, Point & Figure), overlaying technical indicators like moving averages, displaying volume bars, and managing non-trading day gaps. It integrates tightly with pandas, making it natural for workflows that already use DataFrames for market data manipulation.
Use it for:
- Plot daily or intraday candlestick charts with volume for stock or futures data stored in pandas.
- Generate technical analysis charts with moving averages, support/resistance lines, and fill-between overlays.
- Create Renko or Point & Figure charts for alternative price-movement analysis without manual matplotlib configuration.
- Build chart exports for trading dashboards or financial reports with custom styling.
- Visualize market data with non-trading day handling for weekend and holiday gaps.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
mplfinance provides matplotlib-based visualization for financial market data, enabling candlestick charts, OHLC plots, and technical analysis overlays from pandas DataFrames.
Yes, if you need quick financial charting from pandas DataFrames and accept dormant maintenance. The package is stable, has no known vulnerabilities, and low install friction. However, do not rely on it for active bug fixes or new features—test compatibility with your matplotlib and pandas versions before production use, and consider it a mature but no-longer-developed tool.
Install
mplfinance on PyPI
pip
pip install mplfinanceuv
uv add mplfinancepoetry
poetry add mplfinanceInstalling mplfinance
Before you install
Low install friction with only two runtime dependencies (matplotlib and pandas). Maintenance is dormant—last release was 2023-08-02, over a year ago, and no commits since 2024-08-08—so expect no active bug fixes or feature development.
License in practice
BSD-style permissive license allows commercial and private use with minimal restrictions, making it suitable for most projects without legal friction.
Quickstart
import pandas as pd
import mplfinance as mpf
# Load OHLC data into a DataFrame with DatetimeIndex
data = pd.read_csv('data.csv', index_col=0, parse_dates=True)
# Plot candlestick chart with volume
mpf.plot(data, type='candle', volume=True)
Data must be a pandas DataFrame with DatetimeIndex and Open, High, Low, Close columns; matplotlib and pandas must be installed.
Verify before relying
- Whether dormant maintenance status affects compatibility with recent matplotlib or pandas versions.
- Current state of the beta release (0.12.10b0) and whether it is production-ready or still experimental.
- Actual download volume and user base size to validate stability claims.
Package facts
| License | BSD-style (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — matplotlib, pandas |
| Maintenance | dormant — 1,108 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 810,548/month — #5,007 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: mplfinance-0.12.10b0-py3-none-any.whl
Keywords: finance, candlestick, ohlc, market, investing, technical analysis
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
backtestingBacktesting.py lets you define and test trading…
agpl · top 15,000 on PyPI
pandas-taProvides over 150 technical analysis indicators…
unclear · top 5,000 on PyPI
smartmoneyconceptsComputes technical indicators for financial…
unclear · top 15,000 on PyPI
ft-pandas-taProvides 130+ technical analysis indicators and…
permissive · top 15,000 on PyPI
mplcursorsAdds interactive point-selection cursors to…
unclear · top 5,000 on PyPI
timpleTimple extends Matplotlib with locators and…
permissive · top 15,000 on PyPI
mpld3Converts matplotlib plots to interactive D3.js…
permissive · top 15,000 on PyPI
stockstatsAdds technical analysis indicators and…
permissive · top 15,000 on PyPI
taComputes technical analysis indicators (volume,…
permissive · top 5,000 on PyPI
palettablePalettable provides a library of color palettes…
permissive · top 5,000 on PyPI