Unpopular opinion: Matplotlib is a bad library

This page summarizes the projects mentioned and recommended in the original post on /r/Python

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • plotnine

    A Grammar of Graphics for Python

  • I think plotnine is one solution. It is implemented based on matplotlib, but it provides an almost complete ggplot syntax for matplotlib. The other solution is a next-generation seaborn interface. It is also `build on matplotlib and still in progress; however, the API would be really useful! And I have personally also developed a few libraries to solve the complex syntax of matplotlib. As an example, patchworkllib allows dynamic subplot layout on Jupyter-lab. Maybe the library can support handling matplotlib and seaborn plots.

  • patchworklib

    Patchwork for matplotlib: A subplot manager for intuitive layouts in matplotlib, seaborn, and plotnine.

  • I think plotnine is one solution. It is implemented based on matplotlib, but it provides an almost complete ggplot syntax for matplotlib. The other solution is a next-generation seaborn interface. It is also `build on matplotlib and still in progress; however, the API would be really useful! And I have personally also developed a few libraries to solve the complex syntax of matplotlib. As an example, patchworkllib allows dynamic subplot layout on Jupyter-lab. Maybe the library can support handling matplotlib and seaborn plots.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • siuba

    Python library for using dplyr like syntax with pandas and SQL

  • mplsel

    A Matplotlib utility class to enable easier selection, interaction, modification and duplication of Line2D-based plots

  • PyQtGraph

    Fast data visualization and GUI tools for scientific / engineering applications

  • K3D-jupyter

    K3D lets you create 3D plots backed by WebGL with high-level API (surfaces, isosurfaces, voxels, mesh, cloud points, vtk objects, volume renderer, colormaps, etc). The primary aim of K3D-jupyter is to be easy for use as stand alone package like matplotlib, but also to allow interoperation with existing libraries as VTK.

  • Yes, 3D performance is crap. That's because MPL is a 2D library. If you want 3d, use a 3d API. I quite like https://github.com/K3D-tools/K3D-jupyter . As far as 2d plotting goes, MPL performance is actually rather good. Anti-aliased 2d rendering is more-or-less impossible to hardware accelerate (many people have tried).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts