Matplotlib Website Feedback

This is a space to let us know what works for you on the site, what’s frustrating, and what you’d like to see. While we can’t accommodate every request, constructive feedback is much appreciated.

Doubt this should be top level, but an easier way to find the What’s New section would probably be a good way to make new features more discoverable.

I would love it, if the “Release” field here: https://matplotlib.org/contents.html would be a dropdown menu to select docs for the different releases of matplotlib

2 Likes

@maxnoe Thanks for the feedback. I’m not sure we will go with that exact solution, but making it easy to both tell what version of the docs you are looking at and to switch versions is something that we are aware we need to do!

One slightly interesting problem that comes with this is that we sometimes rename examples which changes their url. Some automated way of sorting out the “correct” redirect (and applying it retroactively) would be an interesting data science problem that someone should work on :wink: .

The documentation search page fails to load results when viewed from the Jupyterlab Matplotlib reference pane (a cross-site iframe).

The issue is that matplotlib[.]org responds to the CORS preflight OPTIONS request with a 405 Method Not Allowed, even though a GET request would return the correct Access-Control-Allow-Origin: * header.

To fix this, the web server should be configured to respond to an OPTIONS request with 200 OK (or similar) and the headers Access-Control-Allow-Origin: * and Access-Control-Allow-Methods: POST, GET, OPTIONS (or similar). See also https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Preflighted_requests.

The issue was also exacerbated by a bug in the search page, that prevented the searchindex.js from loading using an alternative method with a <script> tag. I have submitted a Pull Request for that. It does however not fix loading the snippets under each search result, which also uses cross-site XHR.

See also PR #15649: “Fix searchindex.js loading when ajax fails (because e.g. CORS in embedded iframes)”

I would like to see some showcase figures directly on main landing page.

What do you mean by “showcase”? On one hand that may mean an expanded gallery of the “basic” plots or on the other may mean some plots the exploit the full flexibility / power of Matplotlib.

Hi!

Today I was trying install matplotlib in Python on Windows using the instructions on the website:
https://matplotlib.org/users/installing.html#building-on-windows

On this webpage, there is a very helpful build script mentioned (paragraph on website = “Since there is no canonical Windows package manager, the methods for building FreeType, zlib, and libpng from source code are documented as a build script at matplotlib-winbuild.”). The link in this paragraph refers to jbmohler/matplotlib-winbuild on github (cannot add full link, since this forum limits me to two links per message)

However, the matplotlib-winbuild version under the link has not been updated since 2014 and has no support for Python 3.5 or higher. One github user (fivethreeo) has already provided a pull request for an updated version in 2016 (fivethreeo/matplotlib-winbuild on github), but up till today it has been ignored. Today I created an updated version which has support added for Python 3.5 and higher and includes the latest versions of the dependencies (https://github.com/MaxvandenBoom/matplotlib-winbuild).

It would be really helpfull for windows users of matplotlib to update the website page mentioned above to instead link to either fivethreeo or my repository (since we are both forking, it is definitely clear that it orginated from jbmohler, giving him due credit).

Best regards,
Max

Thanks! We are in a bit of a funny state with Windows build right now as on the master branch (which will become mpl3.3) we have greatly simplified the build process (default to building our own freetype and use pillow for our png work (rather than wrapping libpng directly ourselves)). With those changes, I think the only non-python dependency you need is visual studio (see https://matplotlib.org/devdocs/users/installing.html#building-on-windows for the instructions on installing from master).

It may be worth both updating the version of these instructions currently published and add a note about the changes on the master branch. @maximoes would you be willing to open a PR against the v3.2.1-doc branch making those changes?

That sounds like a great improvement of the build process!

Sure I could open a PR against V3.2.1-doc. So if I understand correctly, you would like me to update the paragraph on matplotlib-winbuild and add a note that the master branch currently downloads and builds own versions of freetype and qhull?

@maximoes Yes, that is a good summary.

Done, hope it is ok like this

1 Like

Hi @tacaswell

Do you still need the PR (https://github.com/matplotlib/matplotlib/pull/17064) you requested?
If not, no problem, but I would like to remove the fork from my github.

Best, Max

Yes, it would still be good to get it in, however it looks like the docs are not building on CI. If the failures do not look related to your changes could you try rebasing?

Hi @tacaswell,

I missed your message here because I thought it was moved to the github issue system.

The PR was in the milestone, but now someone closed it without merging or comments. I understand you guys have a lot going on, but please don’t ask someone to make an effort of forking, editing and making a pull request when you are just not going to do anything with it :confused:

@maximoes Sorry about that! We deleted the branch you were targeting which automatically closed your PR. Thank you for letting us know that happened, we are working on sorting it out.

@tacaswell Ah, I see. Thank you sorting it out and using it in the end :slight_smile: