Description
Plotly's FigureWidget
does not appear to be compatible with the upcoming ipywidgets release.
python -m venv .venv
. ./.venv/bin/activate
pip install plotly jupyterlab ipywidgets==8.0.0rc0
jupyer-lab
If using directly the FigureWidget as the output of the cell, the figure is shown by with the following error:
import plotly.graph_objects as go
go.FigureWidget(go.Scatter(x=[1, 2, 3], y=[1, 4, 9]))
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
File /tmp/josh/bug-report/.venv/lib/python3.10/site-packages/IPython/core/formatters.py:921, in IPythonDisplayFormatter.__call__(self, obj)
919 method = get_real_method(obj, self.print_method)
920 if method is not None:
--> 921 method()
922 return True
File /tmp/josh/bug-report/.venv/lib/python3.10/site-packages/plotly/basewidget.py:741, in BaseFigureWidget._ipython_display_(self)
737 """
738 Handle rich display of figures in ipython contexts
739 """
740 # Override BaseFigure's display to make sure we display the widget version
--> 741 widgets.DOMWidget._ipython_display_(self)
AttributeError: type object 'DOMWidget' has no attribute '_ipython_display_'
On the other hand, if the FigureWidget is used within other widgets, the figure does not appear at all (though there isn't any error message):
import plotly.graph_objects as go
from ipywidgets import widgets
widgets.VBox([
widgets.HTML("<p>Start</p>"),
go.FigureWidget(go.Scatter(x=[1, 2, 3], y=[1, 4, 9])),
widgets.HTML("<p>End</p>"),
])
This was generated using Plotly 5.7.0
and ipywidgets 8.0.0rc0
all within JupyterLab 3.3.4
.
Metadata
Metadata
Assignees
Labels
No labels