-
Notifications
You must be signed in to change notification settings - Fork 274
Open
Labels
Description
Describe the bug
See below
To Reproduce
Put the following in a jupyter lab notebook with matplotlib 3.10.7, ipympl 0.9.8
import numpy as np
import astropy.units as u
import matplotlib.pyplot as plt
from ctapipe.visualization import CameraDisplay
%matplotlib widget
fig, ax = plt.subplots(layout="constrained", figsize=(6, 5))
display = CameraDisplay(geometry_eng_frame)
display.add_colorbar()This raises the following error:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
Cell In[10], line 3
1 fig, ax = plt.subplots(layout="constrained", figsize=(6, 5))
----> 3 display = CameraDisplay(geometry_eng_frame)
4 display.add_colorbar()
File [/fefs/aswg/workspace/maximilian.linhoff/.conda/envs/check_dl0/lib/python3.12/site-packages/ctapipe/visualization/mpl_camera.py:185](http://127.0.0.1:8888/fefs/aswg/workspace/maximilian.linhoff/.conda/envs/check_dl0/lib/python3.12/site-packages/ctapipe/visualization/mpl_camera.py#line=184), in CameraDisplay.__init__(self, geometry, image, cmap, norm, autoscale, title, allow_pick, autoupdate, show_frame, ax)
183 self.image = image
184 else:
--> 185 self.image = np.zeros_like(self.geom.pix_id, dtype=np.float64)
187 self.norm = norm
188 self.auto_set_axes_labels()
File [/fefs/aswg/workspace/maximilian.linhoff/.conda/envs/check_dl0/lib/python3.12/site-packages/ctapipe/visualization/mpl_camera.py:380](http://127.0.0.1:8888/fefs/aswg/workspace/maximilian.linhoff/.conda/envs/check_dl0/lib/python3.12/site-packages/ctapipe/visualization/mpl_camera.py#line=379), in CameraDisplay.image(self, image)
378 if self.autoscale:
379 self.pixels.autoscale()
--> 380 self._update()
File [/fefs/aswg/workspace/maximilian.linhoff/.conda/envs/check_dl0/lib/python3.12/site-packages/ctapipe/visualization/mpl_camera.py:385](http://127.0.0.1:8888/fefs/aswg/workspace/maximilian.linhoff/.conda/envs/check_dl0/lib/python3.12/site-packages/ctapipe/visualization/mpl_camera.py#line=384), in CameraDisplay._update(self)
383 """signal a redraw if autoupdate is turned on"""
384 if self.autoupdate:
--> 385 self.update()
File [/fefs/aswg/workspace/maximilian.linhoff/.conda/envs/check_dl0/lib/python3.12/site-packages/ctapipe/visualization/mpl_camera.py:390](http://127.0.0.1:8888/fefs/aswg/workspace/maximilian.linhoff/.conda/envs/check_dl0/lib/python3.12/site-packages/ctapipe/visualization/mpl_camera.py#line=389), in CameraDisplay.update(self)
388 """redraw the display now"""
389 fig = self.axes.figure
--> 390 fig.canvas.draw()
391 if self.colorbar is not None:
392 from matplotlib.figure import SubFigure
File [/fefs/aswg/workspace/maximilian.linhoff/.conda/envs/check_dl0/lib/python3.12/site-packages/matplotlib/backends/backend_webagg_core.py:191](http://127.0.0.1:8888/fefs/aswg/workspace/maximilian.linhoff/.conda/envs/check_dl0/lib/python3.12/site-packages/matplotlib/backends/backend_webagg_core.py#line=190), in FigureCanvasWebAggCore.draw(self)
189 super().draw()
190 finally:
--> 191 self.manager.refresh_all()
AttributeError: 'NoneType' object has no attribute 'refresh_all'
Expected behavior
Camera Display appears with colorbar.