Skip to content

Correct error bar cap orientation in polar plots #28905

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 77 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
52bc873
In examples, prefer named locations rather than location numbers.
anntzer Sep 19, 2024
4946315
Move some checks from RendererAgg wrapper into itself
QuLogic Oct 6, 2023
9bc4b7c
Port Agg wrapper to pybind11
QuLogic Oct 6, 2023
6476f78
Add a pybind11 type caster for agg::rgba
QuLogic Oct 6, 2023
013511b
Add a pybind11 type caster for GCAgg and its requirements
QuLogic Oct 6, 2023
2aa75fd
Inline convert_face type converter
QuLogic Sep 11, 2024
9d94d72
Convert some Agg array_view to pybind11
QuLogic Sep 13, 2024
9ef24a2
Support unhashable callbacks in CallbackRegistry (#26013)
anntzer Sep 19, 2024
6fd79a8
Make onselect argument to selector widget optional
thiagoluisbecker May 29, 2023
e6a7f05
DOC: Mark subfigures as no longer provisional
QuLogic Sep 20, 2024
2b37621
Fix flaky labelcolor tests
QuLogic Sep 21, 2024
483a25c
Fix scaling in Tk on non-Windows systems
rnhmjoj Jul 17, 2024
f4bac00
DOC: Add illustration to Figure.subplots_adjust
timhoffm Sep 19, 2024
de327f6
Improve pie chart error messages
costaparas Sep 22, 2024
a749a46
Add unit tests
costaparas Sep 23, 2024
2a8c457
DOC: Fix non-working code object references
timhoffm Sep 16, 2024
7b9de22
DOC: Fix documentation of hist() kwarg lists
timhoffm Sep 24, 2024
9fe440e
Remove 'in' from removal substitution for deprecation messages (#28880)
QuLogic Sep 25, 2024
eaf0d1f
Only check X11 when running Tkinter tests
QuLogic Sep 25, 2024
a29bf9f
DOC: Cross-link Axes attributes
timhoffm Sep 25, 2024
74ff2f8
Fix issue with sketch not working on PathCollection in Agg
oscargus Apr 7, 2023
e31b76f
doc: add pandas and xarray fixtures to testing API docs (#28879)
story645 Sep 26, 2024
2e1a47b
MNT: Warn if fixed aspect overwrites explicitly set data limits (#28683)
timhoffm Sep 26, 2024
f4062bb
MNT: Cleanup FontProperties __init__ API (#28843)
timhoffm Sep 26, 2024
6d44439
doc: closes #28892 by replacing toc with link out to minimal dependen…
story645 Sep 26, 2024
c04aaf3
DOC: Better visualization for the default color cycle example
timhoffm Sep 25, 2024
b355a3a
Fix `axline` for slopes <= 1E-8. Closes #28386 (#28881)
kyracho Sep 27, 2024
4639528
Don't cache exception with traceback reference loop in dviread.
anntzer Sep 27, 2024
07733fe
ci: Correct stubtest allow list format
QuLogic Sep 27, 2024
5b150e4
ci: Skip adding a stubtest exception when already allowed
QuLogic Sep 27, 2024
ca04ba3
MNT: Cleanup docstring substitution mechanisms (#28795)
timhoffm Sep 30, 2024
b9ec4a2
TST: Fix minor issues in interactive backend test (#28838)
QuLogic Sep 30, 2024
fa6c171
MNT: Check the input sizes of regular X,Y in pcolorfast (#28853)
timhoffm Sep 30, 2024
ef38f68
MNT: Prevent users from erroneously using legend label API on Axis (#…
timhoffm Sep 30, 2024
479b446
Bump the actions group across 1 directory with 5 updates
dependabot[bot] Sep 30, 2024
1af1f74
MNT: Fix double evaluation of _LazyTickList
timhoffm Sep 30, 2024
7bb99c3
DOC: Fix Axis.set_label reference
timhoffm Oct 1, 2024
64a03f2
Correct error bar cap orientation in polar plots
kyracho Sep 28, 2024
b438e12
Implement dynamic clipping to axes box for 3D plots
scottshambaugh Sep 24, 2023
f8e742b
Extend 3D axlim_clip to fill_between
scottshambaugh Jul 24, 2024
32722d9
Code review comments on 3D axlim clipping
scottshambaugh Aug 10, 2024
ab38222
Fix docs
scottshambaugh Aug 24, 2024
afa3229
Re-fix exception caching in dviread.
anntzer Sep 29, 2024
d527bd9
ci: Bump build image on AppVeyor to MSVC 2019 (#28869)
QuLogic Oct 2, 2024
8919b38
Switch AxLine.set_xy{1,2} to take a single argument.
anntzer Oct 3, 2024
aa953b9
DOC: Improve fancybox demo
timhoffm Sep 27, 2024
7aee09c
Add OffsetRotation class, adjust _axes.py, and include both call orde…
kyracho Oct 5, 2024
f7aeee4
In colorbar docs, add ref from 'boundaries' doc to 'spacing' doc.
anntzer Oct 7, 2024
2095354
DOC: Fix invalid rcParam references
QuLogic Oct 3, 2024
74d3e4f
DOC: Clarify the returned line of axhline()/axvline()
timhoffm Oct 7, 2024
25e68e6
TST: handle change in pytest.importorskip behavior
tacaswell Oct 2, 2024
69338f1
TST: Increase test_axes3d_primary_views tolerance on all macOS
QuLogic Oct 3, 2024
ae65dd6
Remove 3.8 deprecations in toolkits
QuLogic Sep 24, 2024
ba24f99
Remove 3.8 deprecations in backends
QuLogic Sep 25, 2024
16da5db
Remove 3.8 cbook deprecations
QuLogic Sep 25, 2024
7b5f477
Remove remaining 3.8 deprecations
QuLogic Sep 25, 2024
3e88fb2
Check ndim in check_trailing_shape helpers
QuLogic Sep 11, 2024
ea90270
Port py_adaptors to pybind11
QuLogic Sep 13, 2024
6655b3a
Don't enforce trailing shape on empty arrays
QuLogic Sep 21, 2024
99af313
Convert remaining `array_view` to pybind11 `array_t`
QuLogic Sep 13, 2024
353f230
Use pybind11 type caster for GCAgg.clippath
QuLogic Sep 21, 2024
590788a
Move type casters into files that define their types
QuLogic Sep 21, 2024
269cea6
Convert _path.is_sorted_and_has_non_nan to pybind11
QuLogic Sep 21, 2024
f973677
Clean up some pybind11 Agg type casters
QuLogic Oct 2, 2024
a8000a6
Agg: Use 32-bit scan line classes
QuLogic Sep 28, 2024
7ef5dac
Agg: Fix overflow when splitting large lines
QuLogic Oct 2, 2024
9d6f58b
Agg: Increase maximum size to 2**23
QuLogic Oct 2, 2024
e88883d
BLD: update trove metadata to support py3.13
tacaswell Oct 8, 2024
b1c0104
Bump the actions group with 2 updates (#28950)
dependabot[bot] Oct 9, 2024
430062d
[pre-commit.ci] pre-commit autoupdate (#28949)
pre-commit-ci[bot] Oct 9, 2024
69e2bcd
Remove old-style Python-C++ converters
QuLogic Sep 21, 2024
9f79779
Remove NumPy from extensions entirely
QuLogic Sep 21, 2024
e1ffe1e
Remove more direct use of the Python C API
QuLogic Sep 21, 2024
c97d32e
Raise ValueError for RGB values outside the [0, 1] range in rgb_to_hs…
PedroBittarBarao Oct 10, 2024
2daf85e
Remove refs to outdated writers in animation.py.
anntzer Oct 10, 2024
4e599d8
FIX macos: Use the agg buffer_rgba rather than private attribute
greglucas Oct 10, 2024
4970470
rename OffsetRotation to ScaledRotation
kyracho Oct 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ skip_commits:

clone_depth: 50

image: Visual Studio 2017
image: Visual Studio 2019

environment:

Expand Down Expand Up @@ -45,8 +45,9 @@ cache:

init:
- ps:
# Pinned due to https://github.com/mamba-org/mamba/issues/3467
Invoke-Webrequest
-URI https://micro.mamba.pm/api/micromamba/win-64/latest
-URI https://github.com/mamba-org/micromamba-releases/releases/download/1.5.10-0/micromamba-win-64.tar.bz2
-OutFile C:\projects\micromamba.tar.bz2
- ps: C:\PROGRA~1\7-Zip\7z.exe x C:\projects\micromamba.tar.bz2 -aoa -oC:\projects\
- ps: C:\PROGRA~1\7-Zip\7z.exe x C:\projects\micromamba.tar -ttar -aoa -oC:\projects\
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/cibuildwheel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ jobs:
path: dist/

- name: Build wheels for CPython 3.13
uses: pypa/cibuildwheel@bd033a44476646b606efccdd5eed92d5ea1d77ad # v2.20.0
uses: pypa/cibuildwheel@f1859528322d7b29d4493ee241a167807661dfb4 # v2.21.2
with:
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
env:
Expand All @@ -163,31 +163,31 @@ jobs:
CIBW_ARCHS: ${{ matrix.cibw_archs }}

- name: Build wheels for CPython 3.12
uses: pypa/cibuildwheel@bd033a44476646b606efccdd5eed92d5ea1d77ad # v2.20.0
uses: pypa/cibuildwheel@f1859528322d7b29d4493ee241a167807661dfb4 # v2.21.2
with:
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
env:
CIBW_BUILD: "cp312-*"
CIBW_ARCHS: ${{ matrix.cibw_archs }}

- name: Build wheels for CPython 3.11
uses: pypa/cibuildwheel@bd033a44476646b606efccdd5eed92d5ea1d77ad # v2.20.0
uses: pypa/cibuildwheel@f1859528322d7b29d4493ee241a167807661dfb4 # v2.21.2
with:
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
env:
CIBW_BUILD: "cp311-*"
CIBW_ARCHS: ${{ matrix.cibw_archs }}

- name: Build wheels for CPython 3.10
uses: pypa/cibuildwheel@bd033a44476646b606efccdd5eed92d5ea1d77ad # v2.20.0
uses: pypa/cibuildwheel@f1859528322d7b29d4493ee241a167807661dfb4 # v2.21.2
with:
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
env:
CIBW_BUILD: "cp310-*"
CIBW_ARCHS: ${{ matrix.cibw_archs }}

- name: Build wheels for PyPy
uses: pypa/cibuildwheel@bd033a44476646b606efccdd5eed92d5ea1d77ad # v2.20.0
uses: pypa/cibuildwheel@f1859528322d7b29d4493ee241a167807661dfb4 # v2.21.2
with:
package-dir: dist/${{ needs.build_sdist.outputs.SDIST_NAME }}
env:
Expand Down Expand Up @@ -231,9 +231,9 @@ jobs:
run: ls dist

- name: Generate artifact attestation for sdist and wheel
uses: actions/attest-build-provenance@310b0a4a3b0b78ef57ecda988ee04b132db73ef8 # v1.4.1
uses: actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c # v1.4.3
with:
subject-path: dist/matplotlib-*

- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@ec4db0b4ddc65acdf4bff5fa45ac92d78b56bdf0 # v1.9.0
uses: pypa/gh-action-pypi-publish@f7600683efdcb7656dec5b29656edb7bc586e597 # v1.10.3
1 change: 0 additions & 1 deletion .github/workflows/cygwin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ on:
# 5:47 UTC on Saturdays
- cron: "47 5 * * 6"
workflow_dispatch:
workflow: "*"

permissions:
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nightlies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:
ls -l dist/

- name: Upload wheels to Anaconda Cloud as nightlies
uses: scientific-python/upload-nightly-action@b67d7fcc0396e1128a474d1ab2b48aa94680f9fc # 0.5.0
uses: scientific-python/upload-nightly-action@82396a2ed4269ba06c6b2988bb4fd568ef3c3d6b # 0.6.1
with:
artifacts_path: dist
anaconda_nightly_upload_token: ${{ secrets.ANACONDA_ORG_UPLOAD_TOKEN }}
5 changes: 2 additions & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ on:
# 5:47 UTC on Saturdays
- cron: "47 5 * * 6"
workflow_dispatch:
workflow: "*"

env:
NO_AT_BRIDGE: 1 # Necessary for GTK3 interactive test.
Expand Down Expand Up @@ -124,7 +123,7 @@ jobs:
allow-prereleases: true

- name: Set up Python ${{ matrix.python-version }}
uses: deadsnakes/action@6c8b9b82fe0b4344f4b98f2775fcc395df45e494 # v3.1.0
uses: deadsnakes/action@e640ac8743173a67cca4d7d77cd837e514bf98e8 # v3.2.0
if: matrix.python-version == '3.13t'
with:
python-version: '3.13'
Expand Down Expand Up @@ -261,7 +260,7 @@ jobs:
# Preinstall build requirements to enable no-build-isolation builds.
python -m pip install --upgrade $PRE \
'contourpy>=1.0.1' cycler fonttools kiwisolver importlib_resources \
numpy packaging pillow 'pyparsing!=3.1.0' python-dateutil setuptools-scm \
packaging pillow 'pyparsing!=3.1.0' python-dateutil setuptools-scm \
'meson-python>=0.13.1' 'pybind11>=2.6' \
-r requirements/testing/all.txt \
${{ matrix.extra-requirements }}
Expand Down
10 changes: 5 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ exclude: |
)
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v5.0.0
hooks:
- id: check-added-large-files
- id: check-docstring-first
Expand All @@ -28,7 +28,7 @@ repos:
- id: trailing-whitespace
exclude_types: [svg]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.10.1
rev: v1.11.2
hooks:
- id: mypy
additional_dependencies:
Expand All @@ -42,7 +42,7 @@ repos:
files: lib/matplotlib # Only run when files in lib/matplotlib are changed.
pass_filenames: false
- repo: https://github.com/pycqa/flake8
rev: 7.1.0
rev: 7.1.1
hooks:
- id: flake8
additional_dependencies:
Expand All @@ -67,7 +67,7 @@ repos:
name: isort (python)
files: ^galleries/tutorials/|^galleries/examples/|^galleries/plot_types/
- repo: https://github.com/rstcheck/rstcheck
rev: v6.2.0
rev: v6.2.4
hooks:
- id: rstcheck
additional_dependencies:
Expand All @@ -79,7 +79,7 @@ repos:
- id: yamllint
args: ["--strict", "--config-file=.yamllint.yml"]
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.6
rev: 0.29.3
hooks:
# TODO: Re-enable this when https://github.com/microsoft/azure-pipelines-vscode/issues/567 is fixed.
# - id: check-azure-pipelines
Expand Down
56 changes: 28 additions & 28 deletions ci/mypy-stubtest-allowlist.txt
Original file line number Diff line number Diff line change
@@ -1,51 +1,51 @@
# Non-typed (and private) modules/functions
matplotlib.backends.*
matplotlib.tests.*
matplotlib.pylab.*
matplotlib._.*
matplotlib.rcsetup._listify_validator
matplotlib.rcsetup._validate_linestyle
matplotlib.ft2font.Glyph
matplotlib.testing.jpl_units.*
matplotlib.sphinxext.*
matplotlib\.backends\..*
matplotlib\.tests(\..*)?
matplotlib\.pylab\..*
matplotlib\._.*
matplotlib\.rcsetup\._listify_validator
matplotlib\.rcsetup\._validate_linestyle
matplotlib\.ft2font\.Glyph
matplotlib\.testing\.jpl_units\..*
matplotlib\.sphinxext(\..*)?

# set methods have heavy dynamic usage of **kwargs, with differences for subclasses
# which results in technically inconsistent signatures, but not actually a problem
matplotlib.*\.set$
matplotlib\..*\.set$

# Typed inline, inconsistencies largely due to imports
matplotlib.pyplot.*
matplotlib.typing.*
matplotlib\.pyplot\..*
matplotlib\.typing\..*

# Other decorator modifying signature
# Backcompat decorator which does not modify runtime reported signature
matplotlib.offsetbox.*Offset[Bb]ox.get_offset
matplotlib\.offsetbox\..*Offset[Bb]ox\.get_offset

# Inconsistent super/sub class parameter name (maybe rename for consistency)
matplotlib.projections.polar.RadialLocator.nonsingular
matplotlib.ticker.LogLocator.nonsingular
matplotlib.ticker.LogitLocator.nonsingular
matplotlib\.projections\.polar\.RadialLocator\.nonsingular
matplotlib\.ticker\.LogLocator\.nonsingular
matplotlib\.ticker\.LogitLocator\.nonsingular

# Stdlib/Enum considered inconsistent (no fault of ours, I don't think)
matplotlib.backend_bases._Mode.__new__
matplotlib.units.Number.__hash__
matplotlib\.backend_bases\._Mode\.__new__
matplotlib\.units\.Number\.__hash__

# 3.6 Pending deprecations
matplotlib.figure.Figure.set_constrained_layout
matplotlib.figure.Figure.set_constrained_layout_pads
matplotlib.figure.Figure.set_tight_layout
matplotlib\.figure\.Figure\.set_constrained_layout
matplotlib\.figure\.Figure\.set_constrained_layout_pads
matplotlib\.figure\.Figure\.set_tight_layout

# Maybe should be abstractmethods, required for subclasses, stubs define once
matplotlib.tri.*TriInterpolator.__call__
matplotlib.tri.*TriInterpolator.gradient
matplotlib\.tri\..*TriInterpolator\.__call__
matplotlib\.tri\..*TriInterpolator\.gradient

# TypeVar used only in type hints
matplotlib.backend_bases.FigureCanvasBase._T
matplotlib.backend_managers.ToolManager._T
matplotlib.spines.Spine._T
matplotlib\.backend_bases\.FigureCanvasBase\._T
matplotlib\.backend_managers\.ToolManager\._T
matplotlib\.spines\.Spine\._T

# Parameter inconsistency due to 3.10 deprecation
matplotlib.figure.FigureBase.get_figure
matplotlib\.figure\.FigureBase\.get_figure

# getitem method only exists for 3.10 deprecation backcompatability
matplotlib.inset.InsetIndicator.__getitem__
matplotlib\.inset\.InsetIndicator\.__getitem__
28 changes: 28 additions & 0 deletions doc/_embedded_plots/figure_subplots_adjust.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import matplotlib.pyplot as plt


def arrow(p1, p2, **props):
axs[0, 0].annotate(
"", p1, p2, xycoords='figure fraction',
arrowprops=dict(arrowstyle="<->", shrinkA=0, shrinkB=0, **props))


fig, axs = plt.subplots(2, 2, figsize=(6.5, 4))
fig.set_facecolor('lightblue')
fig.subplots_adjust(0.1, 0.1, 0.9, 0.9, 0.4, 0.4)
for ax in axs.flat:
ax.set(xticks=[], yticks=[])

arrow((0, 0.75), (0.1, 0.75)) # left
arrow((0.435, 0.75), (0.565, 0.75)) # wspace
arrow((0.9, 0.75), (1, 0.75)) # right
fig.text(0.05, 0.7, "left", ha="center")
fig.text(0.5, 0.7, "wspace", ha="center")
fig.text(0.95, 0.7, "right", ha="center")

arrow((0.25, 0), (0.25, 0.1)) # bottom
arrow((0.25, 0.435), (0.25, 0.565)) # hspace
arrow((0.25, 0.9), (0.25, 1)) # top
fig.text(0.28, 0.05, "bottom", va="center")
fig.text(0.28, 0.5, "hspace", va="center")
fig.text(0.28, 0.95, "top", va="center")
11 changes: 11 additions & 0 deletions doc/api/axes_api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,17 @@ The Axes class

Axes

Attributes
----------

.. autosummary::
:toctree: _as_gen
:template: autosummary.rst
:nosignatures:

Axes.viewLim
Axes.dataLim

Plotting
========

Expand Down
4 changes: 3 additions & 1 deletion doc/api/axis_api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,10 @@ Axis Label
:template: autosummary.rst
:nosignatures:

Axis.label
Axis.set_label_coords
Axis.set_label_position
Axis.set_label_text
Axis.get_label
Axis.get_label_position
Axis.get_label_text

Expand Down Expand Up @@ -235,6 +235,8 @@ specify a matching series of labels. Calling ``set_ticks`` makes a
:template: autosummary.rst
:nosignatures:

Axis.get_label
Axis.set_label
Axis.set_ticks
Axis.set_ticklabels

Expand Down
5 changes: 5 additions & 0 deletions doc/api/next_api_changes/behavior/26000-t.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
onselect argument to selector widgets made optional
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The *onselect* argument to `.EllipseSelector`, `.LassoSelector`, `.PolygonSelector`, and
`.RectangleSelector` is no longer required.
9 changes: 9 additions & 0 deletions doc/api/next_api_changes/deprecations/28843-TH.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FontProperties initialization
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`.FontProperties` initialization is limited to the two call patterns:

- single positional parameter, interpreted as fontconfig pattern
- only keyword parameters for setting individual properties

All other previously supported call patterns are deprecated.
5 changes: 5 additions & 0 deletions doc/api/next_api_changes/deprecations/28933-AL.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
``AxLine`` ``xy1`` and ``xy2`` setters
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
These setters now each take a single argument, ``xy1`` or ``xy2`` as a tuple.
The old form, where ``x`` and ``y`` were passed as separate arguments, is
deprecated.
Loading
Loading