{"library":"mplfinance","title":"Matplotlib Finance (mplfinance)","description":"mplfinance is a Python library built on Matplotlib and Pandas for the visualization and visual analysis of financial data. It specializes in generating highly customizable candlestick, OHLC, and Renko charts, often with integrated volume, moving averages, and other technical indicators. It is currently in active development, releasing frequent beta versions (latest is 0.12.10b0) with ongoing feature enhancements and bug fixes.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install mplfinance","pip install --pre mplfinance"],"cli":null},"imports":["import mplfinance as mpf"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import mplfinance as mpf\nimport pandas as pd\nimport numpy as np\n\n# Create dummy OHLCV data with DatetimeIndex\ndates = pd.date_range('2023-01-01', periods=50, freq='D')\nnp.random.seed(42)\nopen_price = np.random.rand(50) * 100 + 100\nclose_price = open_price + np.random.randn(50) * 5\nhigh_price = np.maximum(open_price, close_price) + np.random.rand(50) * 2\nlow_price = np.minimum(open_price, close_price) - np.random.rand(50) * 2\nvolume = np.random.rand(50) * 1000000\n\ndf = pd.DataFrame({\n    'Open': open_price,\n    'High': high_price,\n    'Low': low_price,\n    'Close': close_price,\n    'Volume': volume\n}, index=dates)\n\n# Plot a basic candlestick chart with volume\nfig, axes = mpf.plot(df, \n                     type='candle', \n                     style='yahoo', \n                     volume=True, \n                     title='Sample Candlestick Chart',\n                     ylabel='Price',\n                     ylabel_lower='Volume',\n                     returnfig=True\n                    )\n\n# To display the plot in a non-interactive environment or save it\n# fig.savefig('candlestick_chart.png')\n# import matplotlib.pyplot as plt\n# plt.show() # Uncomment for interactive display","lang":"python","description":"This quickstart generates dummy OHLCV data using Pandas and NumPy, then plots a basic candlestick chart with volume using `mpf.plot()`. It demonstrates the required DataFrame format (DatetimeIndex, specific column names) and common plotting parameters like `type`, `style`, and `volume`. The `returnfig=True` argument allows access to the underlying Matplotlib Figure and Axes objects for further customization or saving.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"0.12.10b0","pypi_latest":"0.12.10b0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":11.4,"avg_import_s":3.15,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"--pre","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.85,"mem_mb":48.3,"disk_size":"252.6M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"mplfinance","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.94,"mem_mb":48.3,"disk_size":"252.6M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"--pre","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":11.2,"import_time_s":2.31,"mem_mb":48.3,"disk_size":"241M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"mplfinance","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":11,"import_time_s":2.2,"mem_mb":48.3,"disk_size":"241M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"--pre","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":4.21,"mem_mb":57.8,"disk_size":"276.9M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"mplfinance","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":3.81,"mem_mb":55.3,"disk_size":"273.1M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"--pre","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":10.7,"import_time_s":3.81,"mem_mb":57.8,"disk_size":"264M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"mplfinance","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":10.4,"import_time_s":3.55,"mem_mb":55.2,"disk_size":"260M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"--pre","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":3.42,"mem_mb":55.6,"disk_size":"260.6M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"mplfinance","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":3.33,"mem_mb":53.7,"disk_size":"256.9M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"--pre","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":11.3,"import_time_s":3.64,"mem_mb":55.6,"disk_size":"247M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"mplfinance","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":10.5,"import_time_s":3.48,"mem_mb":53.7,"disk_size":"244M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"--pre","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":3.14,"mem_mb":57,"disk_size":"259.3M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"mplfinance","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.96,"mem_mb":55.2,"disk_size":"255.6M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"--pre","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":11.1,"import_time_s":3.29,"mem_mb":57,"disk_size":"246M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"mplfinance","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":11,"import_time_s":3.24,"mem_mb":55.2,"disk_size":"242M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"--pre","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":2.76,"mem_mb":47.9,"disk_size":"256.4M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"mplfinance","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":2.71,"mem_mb":47.9,"disk_size":"256.4M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"--pre","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":13.5,"import_time_s":2.6,"mem_mb":47.9,"disk_size":"248M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"mplfinance","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":13,"import_time_s":2.67,"mem_mb":47.9,"disk_size":"248M"}]}}