-
-
Notifications
You must be signed in to change notification settings - Fork 28
Open
Labels
enhancementNew feature or requestNew feature or request
Description
In the issue that I'm encountering, two things go wrong:
pw.load_ggplot()called on a ggplot object produces the following:
AttributeError: 'ggplot' object has no attribute '_create_figure'
- If, after attempting this, a different cell is run to display a ggplot object, the same error appears. However, ggplot objects have no problem being displayed before attempting to run
pw.load_ggplot().
So it seems that the problem is a side-effect of the functionpw.load_ggplot.
Code blocks to reproduce problem
from plotnine import ggplot, aes, geom_point, scale_color_gradient
from plotnine.data import mpg
p = ggplot(aes(x="displ", y="cty"), mpg)
P = p + geom_point()
P
This displays the plot as expected.
import patchworklib as pw
No problems at import.
pw_P = pw.load_ggplot(P, figsize=(1,1))
This gives the aforementioned attribute error, with the following traceback:
----> 1 pw.load_ggplot(P, figsize=(1,1))
File [python3.10/site-packages/patchworklib/patchworklib.py:479](python3.10/site-packages/patchworklib/patchworklib.py#line=478), in load_ggplot(ggplot, figsize)
477 matplotlib.rcParams["figure.subplot.wspace"] = figure_subplot_wspace_ori [/](workspace) figsize[0]
478 matplotlib.rcParams["figure.subplot.hspace"] = figure_subplot_hspace_ori [/](workspace) figsize[1]
--> 479 fig, gcp = gcp.draw(return_ggplot=True)
481 else:
482 fig, gcp = gcp.draw(return_ggplot=True)
File [/opt/venv/lib/python3.10/site-packages/patchworklib/modified_plotnine.py:37](python3.10/site-packages/patchworklib/modified_plotnine.py#line=36), in draw(self, return_ggplot, show)
34 self._build()
36 # setup
---> 37 figure, axs = self._create_figure()
38 self._setup_parameters()
39 self.theme.setup()
AttributeError: 'ggplot' object has no attribute '_create_figure'
After this, plotnine.ggplot objects start producing the same error. E.g., the following cell produces the same error
P
New ggplot objects suffer the same fate, eg.:
q = ggplot(aes(x="displ", y="cty"), mpg)
Q = q + geom_point()
Q
--> [...] AttributeError: 'ggplot' object has no attribute '_create_figure'
This was tested on a jupyterhub server. The problem only goes away if I restart the jupyterhub kernel.
Ubadub, HelgeS, welyt, marcus1487, lmorgan95 and 7 more
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request