Products · Product
Matplotlib
Raised as a usability problem by 67 people on Hacker News over 14 years (2013–2026), in 53 threads.
No issue was raised by at least 3 people in 3 threads this year.
No issue was raised by at least 3 people in 3 threads in the last 5 years.
Every issue, all time, most people first
Making good plots takes lots of trial and errorUnreviewed
20132026- Spending 20 minutes trying to work out how to make plots from the docs2023-02-15
- Creating good plots is cumbersome and needs lots of trial and error2022-09-17
- Trivial plotting tasks need deep internal understanding and confusing boilerplate2017-06-30
Plots with large data take extremely long to appearUnreviewed
20132026- 3D plotting is slow and basically unusable2025-03-11
- Plots take 30+ seconds to render, making analysis painfully slow2019-06-11
- Plots with large data take extremely long to appear2018-11-17
Viewing plots from a terminal needs many clunky steps and windowsUnreviewed
20132026- Interactive plots are slow and their controls are not intuitive for zooming and panning2024-02-01
- Viewing plots from a terminal session needs many clunky steps and extra windows2023-07-27
- Spent hours trying to get plots to show on screen on OSX without success2017-06-30
Plotting code is clunky and verbose compared to ggplotUnreviewed
20132026- Plotting code feels clunky and verbose compared to ggplot2026-06-19
- Plotting with it is an absolute pain compared to ggplot2019-12-28
- Plotting API feels unintuitive compared to ggplot22018-07-20
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 50 complaints
- Plotting code feels clunky and verbose compared to ggplot2026-06-19
- Too much boilerplate and hard to remember for a simple scatterplot2026-04-20
- Hours of fiddling with system fonts, webfonts and font settings2025-09-14
- Awful API and documentation made styling charts hard, requiring constant lookups2025-07-01
- API is hard to reason about, forcing constant documentation lookups2025-05-27
- Making a broken x-axis plot requires a non-trivial amount of hacking2025-04-01
- Drawing a broken axis with unequal panel widths needs hacky manual code and an extra non-built-in package2025-04-01
- Cannot create a broken axis out of the box; requires writing a custom wrapper function2025-04-01
- Duplicating an axis with different labels and limits took over 30 minutes and was abandoned2025-03-12
- API is hard to use and performance is poor2025-03-12
- Inconsistent interface; customizing beyond defaults becomes time-consuming and frustrating2025-03-12
- Waiting seconds for plots to regenerate after each small tweak breaks the workflow2025-03-11
- 3D plotting is slow and basically unusable2025-03-11
- Scatter has an inconsistent interface versus other plotting methods, and colour bars are difficult to format nicely2024-04-16
- API is clunky; must set font size twice, global state overrides confuse users2024-04-16
- Multiple incompatible ways to do the same thing, and hard-to-decipher subplot code2024-02-25
- Simple plots require creating subplots and axes, so casual users must relearn it each time2024-02-01
- Interactive plots are slow and their controls are not intuitive for zooming and panning2024-02-01
- API is unintuitive and inconsistent for non-Matlab users2024-02-01
- Multi-plot grid layout is tedious, needs redundant typing, and margins take trial and error2023-11-13
- Viewing plots from a terminal session needs many clunky steps and extra windows2023-07-27
- Python user finds the Matplotlib API baffling and avoids it2023-02-15
- Spending 20 minutes trying to work out how to make plots from the docs2023-02-15
- Has to look up the API for anything slightly non-standard in plots2023-02-15
- Formatting plots is counterintuitive, needs remembering many graphical parameter names and syntax2023-02-15
- Commenter finds the plotting library infuriating to use2023-01-27
- 3D plots make the computer crawl when rotating and are not very interactive2023-01-21
- Inconsistent methods for the same plotting tasks, so users must constantly search how to do things2023-01-18
- API is horrible and confusing because it copies MATLAB's global state2023-01-03
- Creating good plots is cumbersome and needs lots of trial and error2022-09-17
- Two overlapping APIs make the library confusing and documentation jump between them2022-09-17
- Poor interactivity when using the plotting library2022-03-26
- Two incompatible interfaces with different function names make examples hard to apply2021-07-18
- Interface is sometimes clunky to work with2021-07-18
- API feels unintuitive and patched together, hard to work out2021-07-18
- Keeps having to re-google the same basic operations like setting log scales2021-07-03
- Default subplots yield overlapping labels or excess whitespace, requiring manual spacing tweaks2021-05-15
- Hits a wall combining chart types without a good mental model of the API2021-05-15
- Basic styling like rotating axis labels requires googling to get legible plots2020-12-31
- Sprawling interface with many options hidden behind keyword arguments is annoying2020-10-29
- Can't tell what functions expect or return, even from docs2020-09-27
- Shifting legend and margins requires hunting for obscure incantations and boilerplate2020-09-09
- Installing and importing matplotlib often fails with obscure compiler and backend errors2020-07-23
- Setting a colourblind-friendly palette needs juggling ScalarMap, Normalize and cmap objects; defaults need manual tweaking2020-06-04
- API is so hard to use that people rely on StackOverflow to get anything done2020-06-04
- Plotting with it is an absolute pain compared to ggplot2019-12-28
- Feels clunky to work with compared to MATLAB's interactive figure hierarchy2019-11-16
- Hard to learn; takes a slow, hard trial-and-error process to understand2019-11-16
- Commenter often searches for answers instead of navigating the API docs, and finds matplotlib hard to use2019-11-16
- Examples use the state-machine interface, forcing users to guess the OO equivalents2019-11-16