Unpopular opinion: Matplotlib is a bad library

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

Judoscale - Save 47% on cloud hosting with autoscaling that just works
Judoscale integrates with Django, FastAPI, Celery, and RQ to make autoscaling easy and reliable. Save big, and say goodbye to request timeouts and backed-up task queues.
judoscale.com
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
  1. 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.

  2. Judoscale

    Save 47% on cloud hosting with autoscaling that just works. Judoscale integrates with Django, FastAPI, Celery, and RQ to make autoscaling easy and reliable. Save big, and say goodbye to request timeouts and backed-up task queues.

    Judoscale logo
  3. 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.

  4. siuba

    Python library for using dplyr like syntax with pandas and SQL

  5. mplsel

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

  6. PyQtGraph

    Fast data visualization and GUI tools for scientific / engineering applications

  7. 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

  • Top 10 growing data visualization libraries in Python in 2023

    10 projects | dev.to | 11 Oct 2023
  • When would you use R instead of Python?

    1 project | /r/bioinformatics | 8 Jun 2023
  • [P] Easily make complex plots using ChatGPT [open source]

    1 project | /r/MachineLearning | 23 Apr 2023
  • Is R or Python an EASIER option for non-CS/SE grads?

    1 project | /r/datascience | 12 Dec 2022
  • Every modeler is supposed to be a great Python programmer

    2 projects | news.ycombinator.com | 8 Dec 2022