Skip to content

Support PYQ6 backends #21399

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 478 commits into from
Closed

Conversation

egormartiniuc
Copy link

PR Summary

Backends for PYQT6 works on version 3.4.3

PR Checklist

Tested on Windows

deep-jkl and others added 30 commits September 21, 2021 23:37
Apply suggestion from @timhoffm, update lib/matplotlib/markers.py

Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
Fix clim handling for pcolor{,mesh}.
Fix format_cursor_data with nans.
Fix DATA_PARAMETER_PLACEHOLDER interpolation for quiver&contour{,f}.
... and small local cleanups.
- Use finite differences to estimate derivative rather than splines
  (which are conceptually much more complicated).
- Include a "constant error" case, which shows that the band does have
  constant width in that case.
- Force the axes aspect to 1 (so that constant width actually appears
  constant).
- Use np.full() to set up the codes array.
The pixel-sized marker previously use (",") was so small that it looked
more like a rendering artefact than an actual data point.
The error messages now provide better instruction on how to fix the
problem.

There are some paths we can not split (one with hatching, fills, or
that claim they can not be simplified) so tell user that.

If we could have otherwise split up the path if the chunksize is set
to less than 100, which disables the feature, ask user to make it
bigger or make the path simplification more aggressive.

If the chunksize is bigger than the data, ask user to make it smaller
or make the path simplification more aggressive.

If the chunksize is smaller than the data, but still too big ask user
to make it smaller or make the path simplification more aggressive.

closes matplotlib#19325

Co-authored-by: Antony Lee <anntzer.lee@gmail.com>
This allows longer, more textured, paths to be drawn with the default
settings at the risk of very long run times.
- Make sure values are be big enough / small enough
- make long path test more pathological (Random data will sometimes go in the
  same direction)
This prevents them accidentally breaking the test runner itself,
depending on platform.
DOC: Increase marker size in double_pendulum example.
DOC: Improve curve_error_band example.
DOC: Docstring cleanups around DATA_PARAMETER_PLACEHOLDER.
MNT: Simplify argument parsing in stem().
Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
timhoffm and others added 24 commits October 14, 2021 21:45
ENH: Add support to save images in WebP format
Simplify wording of allowed errorbar() error values
Add GHA testing whether files were added and deleted in the same PR.
The exception message is clearer for end users than downstream callers
failing to `open()` a file named `""`.

Also update the function's docstring.

_tfmfile now never returns None (an exception would have been raised
earlier by find_tex_file), so remove the corresponding branch.
Raise an exception when find_tex_file fails to find a file.
Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
Describe possible need for loading the 'lmodern' package when using PGF files
Currently, the scatter_hist example needs to force the main axes to be
square by carefully adjusting the figure size -- shared axes and fixed
aspects don't work well together (and manually resizing the figure shows
that the aspect is indeed not fixed).  In fact, the
scatter_hist_locatable_axes example explicitly states that the advantage
of using axes_grid1 is to allow the aspect to be fixed.

I realized that one can also use inset_axes to position the marginals
axes relative to the main axes *and* support a fixed aspect ratio for
the main axes.  Perhaps this can be considered as a slight API abuse,
but I think this is a solution for a real limitation; the question is
whether we want to promote this use?
Demonstrate inset_axes in scatter_hist example.
We don't need to drop the alpha channel for jpeg anymore as imsave
handles that.

In imsave, also clarify that `sm` is not going to be used in the
already-usable-rgba case.

Also, spliting out pil_kwargs under "other parameters" seems overkill
for an effectively internal method (`savefig` is the user-facing API).
…tests

Enable tests for text path based markers
Document what indexing a GridSpec returns
Factor common parts of saving to different formats using pillow.
Log pixel coordinates in event_handling coords_demo example on terminal/console
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for opening your first PR into Matplotlib!

If you have not heard from us in a while, please feel free to ping @matplotlib/developers or anyone who has commented on the PR. Most of our reviewers are volunteers and sometimes things fall through the cracks.

You can also join us on gitter for real-time discussion.

For details on testing, writing docs, and our review process, please see the developer guide

We strive to be a welcoming and open project. Please follow our Code of Conduct.

@tacaswell
Copy link
Member

Thank you for this, however we already have support for pyqt6 on the default branch (and it should be release with mpl 3.5, see #19255).

You can either source install from github or install the pre-release candidate (pip install --pre --upgrade matplotlib) to test.

@tacaswell
Copy link
Member

This PR is affected by a re-writing of our history to remove a large number of accidentally committed files see discourse for details.

To recover this PR it will need be rebased onto the new default branch (main). There are several ways to accomplish this, but we recommend (assuming that you call the matplotlib/matplotlib remote "upstream"

git remote update
git checkout main
git merge --ff-only upstream/main
git checkout YOUR_BRANCH
git rebase --onto=main upstream/old_master
# git rebase -i main # if you prefer
git push --force-with-lease   # assuming you are tracking your branch

If you do not feel comfortable doing this or need any help please reach out to any of the Matplotlib developers. We can either help you with the process or do it for you.

Thank you for your contributions to Matplotlib and sorry for the inconvenience.

@jklymak
Copy link
Member

jklymak commented Nov 8, 2021

I'm ging to close this as already covered on master

@jklymak jklymak closed this Nov 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.