Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[Bug]: Setting norm with existing colorbar fails with 3.6.3 #25077

Closed
@maxnoe

Description

@maxnoe

Bug summary

Setting the norm to aLogNorm after the colorbar has been created (e.g. in interactive code) fails with anInvalid vmin value in matplotlib 3.6.3.

The same code worked in previous matplotlib versions.

Not that vmin and vmax are explicitly set to values valid forLogNorm and no negative values (or values == 0) exist in the input data.

Code for reproduction

importmatplotlib.pyplotaspltfrommatplotlib.colorsimportLogNormimportnumpyasnp# create some random data to fill a 2d plotrng=np.random.default_rng(0)img=rng.uniform(1,5, (25,25))# plot itfig,ax=plt.subplots(layout="constrained")plot=ax.pcolormesh(img)cbar=fig.colorbar(plot,ax=ax)vmin=1vmax=5plt.ion()fig.show()plt.pause(0.5)plot.norm=LogNorm(vmin,vmax)plot.autoscale()plt.pause(0.5)

Actual outcome

Traceback (most recent call last):  File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/matplotlib/backends/backend_qt.py", line 454, in _draw_idle    self.draw()  File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/matplotlib/backends/backend_agg.py", line 405, in draw    self.figure.draw(self.renderer)  File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/matplotlib/artist.py", line 74, in draw_wrapper    result = draw(artist, renderer, *args, **kwargs)  File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/matplotlib/artist.py", line 51, in draw_wrapper    return draw(artist, renderer)  File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/matplotlib/figure.py", line 3082, in draw    mimage._draw_list_compositing_images(  File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/matplotlib/image.py", line 131, in _draw_list_compositing_images    a.draw(renderer)  File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/matplotlib/artist.py", line 51, in draw_wrapper    return draw(artist, renderer)  File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/matplotlib/axes/_base.py", line 3100, in draw    mimage._draw_list_compositing_images(  File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/matplotlib/image.py", line 131, in _draw_list_compositing_images    a.draw(renderer)  File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/matplotlib/artist.py", line 51, in draw_wrapper    return draw(artist, renderer)  File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/matplotlib/collections.py", line 2148, in draw    self.update_scalarmappable()  File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/matplotlib/collections.py", line 891, in update_scalarmappable    self._mapped_colors = self.to_rgba(self._A, self._alpha)  File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/matplotlib/cm.py", line 511, in to_rgba    x = self.norm(x)  File "/home/mnoethe/.local/conda/envs/cta-dev/lib/python3.9/site-packages/matplotlib/colors.py", line 1694, in __call__    raise ValueError("Invalid vmin or vmax")ValueError: Invalid vmin or vmax

Expected outcome

Works, colorbar and mappable are updated with new norm.

Additional information

No response

Operating system

Linux

Matplotlib Version

3.6.3 (works with 3.6.2)

Matplotlib Backend

Multpiple backends tested, same error in all (Qt5Agg, TkAgg, agg, ...)

Python version

3.9.15

Jupyter version

not in jupyter

Installation

conda

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


      [8]ページ先頭

      ©2009-2025 Movatter.jp