You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It looks like there are some changes required in Plotly.py that aren't covered by the codegen as after running codegen against plotly.js master branch, all plotly.express examples throw this error:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[1], line 4
1 import plotly.express as px
2 df = px.data.tips()
----> 4 fig = px.density_contour(df, x="total_bill", y="tip")
5 fig.show()
File ~/Desktop/plotly.py/packages/python/plotly/plotly/express/_chart_types.py:117, in density_contour(data_frame, x, y, z, color, facet_row, facet_col, facet_col_wrap, facet_row_spacing, facet_col_spacing, hover_name, hover_data, animation_frame, animation_group, category_orders, labels, orientation, color_discrete_sequence, color_discrete_map, marginal_x, marginal_y, trendline, trendline_options, trendline_color_override, trendline_scope, log_x, log_y, range_x, range_y, histfunc, histnorm, nbinsx, nbinsy, text_auto, title, template, width, height)
72 def density_contour(
73 data_frame=None,
74 x=None,
(...)
110 height=None,
111 ) -> go.Figure:
112 """
113 In a density contour plot, rows of `data_frame` are grouped together
114 into contour marks to visualize the 2D distribution of an aggregate
115 function `histfunc` (e.g. the count or sum) of the value `z`.
116 """
--> 117 return make_figure(
118 args=locals(),
119 constructor=go.Histogram2dContour,
120 trace_patch=dict(
121 contours=dict(coloring="none"),
122 histfunc=histfunc,
123 histnorm=histnorm,
124 nbinsx=nbinsx,
125 nbinsy=nbinsy,
126 xbingroup="x",
127 ybingroup="y",
128 ),
129 )
File ~/Desktop/plotly.py/packages/python/plotly/plotly/express/_core.py:2383, in make_figure(args, constructor, trace_patch, layout_patch)
2381 fig.update_layout(layout_patch)
2382 if "template" in args and args["template"] is not None:
-> 2383 fig.update_layout(template=args["template"], overwrite=True)
2384 for f in frame_list:
2385 f["name"] = str(f["name"])
File ~/Desktop/plotly.py/packages/python/plotly/plotly/graph_objs/_figure.py:787, in Figure.update_layout(self, dict1, overwrite, **kwargs)
761 def update_layout(self, dict1=None, overwrite=False, **kwargs) -> "Figure":
762 """
763
764 Update the properties of the figure's layout with a dict and/or with
(...)
785
786 """
--> 787 return super(Figure, self).update_layout(dict1, overwrite, **kwargs)
File ~/Desktop/plotly.py/packages/python/plotly/plotly/basedatatypes.py:1391, in BaseFigure.update_layout(self, dict1, overwrite, **kwargs)
1367 def update_layout(self, dict1=None, overwrite=False, **kwargs):
1368 """
1369 Update the properties of the figure's layout with a dict and/or with
1370 keyword arguments.
(...)
1389 The Figure object that the update_layout method was called on
1390 """
-> 1391 self.layout.update(dict1, overwrite=overwrite, **kwargs)
1392 return self
File ~/Desktop/plotly.py/packages/python/plotly/plotly/basedatatypes.py:5119, in BasePlotlyType.update(self, dict1, overwrite, **kwargs)
5117 with self.figure.batch_update():
5118 BaseFigure._perform_update(self, dict1, overwrite=overwrite)
-> 5119 BaseFigure._perform_update(self, kwargs, overwrite=overwrite)
5120 else:
5121 BaseFigure._perform_update(self, dict1, overwrite=overwrite)
File ~/Desktop/plotly.py/packages/python/plotly/plotly/basedatatypes.py:3892, in BaseFigure._perform_update(plotly_obj, update_obj, overwrite)
3888 val = update_obj[key]
3890 if overwrite:
3891 # Don't recurse and assign property as-is
-> 3892 plotly_obj[key] = val
3893 continue
3895 validator = plotly_obj._get_prop_validator(key)
File ~/Desktop/plotly.py/packages/python/plotly/plotly/basedatatypes.py:5894, in BaseLayoutType.__setitem__(self, prop, value)
5891 match = self._subplot_re_match(prop)
5892 if match is None:
5893 # Set as ordinary property
-> 5894 super(BaseLayoutHierarchyType, self).__setitem__(prop, value)
5895 else:
5896 # Set as subplotid property
5897 self._set_subplotid_prop(prop, value)
File ~/Desktop/plotly.py/packages/python/plotly/plotly/basedatatypes.py:4848, in BasePlotlyType.__setitem__(self, prop, value)
4846 # ### Handle compound property ###
4847 if isinstance(validator, CompoundValidator):
-> 4848 self._set_compound_prop(prop, value)
4850 # ### Handle compound array property ###
4851 elif isinstance(validator, (CompoundArrayValidator, BaseDataValidator)):
File ~/Desktop/plotly.py/packages/python/plotly/plotly/basedatatypes.py:5259, in BasePlotlyType._set_compound_prop(self, prop, val)
5256 # Import value
5257 # ------------
5258 validator = self._get_validator(prop)
-> 5259 val = validator.validate_coerce(val, skip_invalid=self._skip_invalid)
5261 # Save deep copies of current and new states
5262 # ------------------------------------------
5263 curr_val = self._compound_props.get(prop, None)
File ~/Desktop/plotly.py/packages/python/plotly/_plotly_utils/basevalidators.py:2805, in BaseTemplateValidator.validate_coerce(self, v, skip_invalid)
2799 if v == {} or isinstance(v, self.data_class) and v.to_plotly_json() == {}:
2800 # Replace empty template with {'data': {'scatter': [{}]}} so that we can
2801 # tell the difference between an un-initialized template and a template
2802 # explicitly set to empty.
2803 return self.data_class(data_scatter=[{}])
-> 2805 return super(BaseTemplateValidator, self).validate_coerce(
2806 v, skip_invalid=skip_invalid
2807 )
File ~/Desktop/plotly.py/packages/python/plotly/_plotly_utils/basevalidators.py:2516, in CompoundValidator.validate_coerce(self, v, skip_invalid, _validate)
2512 v = self.data_class(v, skip_invalid=skip_invalid, _validate=_validate)
2514 elif isinstance(v, self.data_class):
2515 # Copy object
-> 2516 v = self.data_class(v)
2517 else:
2518 if skip_invalid:
File ~/Desktop/plotly.py/packages/python/plotly/plotly/graph_objs/layout/_template.py:327, in Template.__init__(self, arg, data, layout, **kwargs)
325 _v = data if data is not None else _v
326 if _v is not None:
--> 327 self["data"] = _v
328 _v = arg.pop("layout", None)
329 _v = layout if layout is not None else _v
File ~/Desktop/plotly.py/packages/python/plotly/plotly/basedatatypes.py:4848, in BasePlotlyType.__setitem__(self, prop, value)
4846 # ### Handle compound property ###
4847 if isinstance(validator, CompoundValidator):
-> 4848 self._set_compound_prop(prop, value)
4850 # ### Handle compound array property ###
4851 elif isinstance(validator, (CompoundArrayValidator, BaseDataValidator)):
File ~/Desktop/plotly.py/packages/python/plotly/plotly/basedatatypes.py:5259, in BasePlotlyType._set_compound_prop(self, prop, val)
5256 # Import value
5257 # ------------
5258 validator = self._get_validator(prop)
-> 5259 val = validator.validate_coerce(val, skip_invalid=self._skip_invalid)
5261 # Save deep copies of current and new states
5262 # ------------------------------------------
5263 curr_val = self._compound_props.get(prop, None)
File ~/Desktop/plotly.py/packages/python/plotly/_plotly_utils/basevalidators.py:2512, in CompoundValidator.validate_coerce(self, v, skip_invalid, _validate)
2509 v = self.data_class()
2511 elif isinstance(v, dict):
-> 2512 v = self.data_class(v, skip_invalid=skip_invalid, _validate=_validate)
2514 elif isinstance(v, self.data_class):
2515 # Copy object
2516 v = self.data_class(v)
File ~/Desktop/plotly.py/packages/python/plotly/plotly/graph_objs/layout/template/_data.py:1791, in Data.__init__(self, arg, barpolar, bar, box, candlestick, carpet, choroplethmapbox, choroplethmap, choropleth, cone, contourcarpet, contour, densitymapbox, densitymap, funnelarea, funnel, heatmap, histogram2dcontour, histogram2d, histogram, icicle, image, indicator, isosurface, mesh3d, ohlc, parcats, parcoords, pie, sankey, scatter3d, scattercarpet, scattergeo, scattergl, scattermapbox, scattermap, scatterpolargl, scatterpolar, scatter, scattersmith, scatterternary, splom, streamtube, sunburst, surface, table, treemap, violin, volume, waterfall, **kwargs)
1787 self["waterfall"] = _v
1789 # Process unknown kwargs
1790 # ----------------------
-> 1791 self._process_kwargs(**dict(arg, **kwargs))
1793 # Reset skip_invalid
1794 # ------------------
1795 self._skip_invalid = False
File ~/Desktop/plotly.py/packages/python/plotly/plotly/basedatatypes.py:4374, in BasePlotlyType._process_kwargs(self, **kwargs)
4372 self[k] = v
4373 elif not self._skip_invalid:
-> 4374 raise err
ValueError: Invalid property specified for object of type plotly.graph_objs.layout.template.Data: 'heatmapgl'
Did you mean "heatmap"?
Valid properties:
barpolar
A tuple of :class:`plotly.graph_objects.Barpolar`
instances or dicts with compatible properties
bar
A tuple of :class:`plotly.graph_objects.Bar` instances
or dicts with compatible properties
box
A tuple of :class:`plotly.graph_objects.Box` instances
or dicts with compatible properties
candlestick
A tuple of :class:`plotly.graph_objects.Candlestick`
instances or dicts with compatible properties
carpet
A tuple of :class:`plotly.graph_objects.Carpet`
instances or dicts with compatible properties
choroplethmapbox
A tuple of
:class:`plotly.graph_objects.Choroplethmapbox`
instances or dicts with compatible properties
choroplethmap
A tuple of :class:`plotly.graph_objects.Choroplethmap`
instances or dicts with compatible properties
choropleth
A tuple of :class:`plotly.graph_objects.Choropleth`
instances or dicts with compatible properties
cone
A tuple of :class:`plotly.graph_objects.Cone` instances
or dicts with compatible properties
contourcarpet
A tuple of :class:`plotly.graph_objects.Contourcarpet`
instances or dicts with compatible properties
contour
A tuple of :class:`plotly.graph_objects.Contour`
instances or dicts with compatible properties
densitymapbox
A tuple of :class:`plotly.graph_objects.Densitymapbox`
instances or dicts with compatible properties
densitymap
A tuple of :class:`plotly.graph_objects.Densitymap`
instances or dicts with compatible properties
funnelarea
A tuple of :class:`plotly.graph_objects.Funnelarea`
instances or dicts with compatible properties
funnel
A tuple of :class:`plotly.graph_objects.Funnel`
instances or dicts with compatible properties
heatmap
A tuple of :class:`plotly.graph_objects.Heatmap`
instances or dicts with compatible properties
histogram2dcontour
A tuple of
:class:`plotly.graph_objects.Histogram2dContour`
instances or dicts with compatible properties
histogram2d
A tuple of :class:`plotly.graph_objects.Histogram2d`
instances or dicts with compatible properties
histogram
A tuple of :class:`plotly.graph_objects.Histogram`
instances or dicts with compatible properties
icicle
A tuple of :class:`plotly.graph_objects.Icicle`
instances or dicts with compatible properties
image
A tuple of :class:`plotly.graph_objects.Image`
instances or dicts with compatible properties
indicator
A tuple of :class:`plotly.graph_objects.Indicator`
instances or dicts with compatible properties
isosurface
A tuple of :class:`plotly.graph_objects.Isosurface`
instances or dicts with compatible properties
mesh3d
A tuple of :class:`plotly.graph_objects.Mesh3d`
instances or dicts with compatible properties
ohlc
A tuple of :class:`plotly.graph_objects.Ohlc` instances
or dicts with compatible properties
parcats
A tuple of :class:`plotly.graph_objects.Parcats`
instances or dicts with compatible properties
parcoords
A tuple of :class:`plotly.graph_objects.Parcoords`
instances or dicts with compatible properties
pie
A tuple of :class:`plotly.graph_objects.Pie` instances
or dicts with compatible properties
sankey
A tuple of :class:`plotly.graph_objects.Sankey`
instances or dicts with compatible properties
scatter3d
A tuple of :class:`plotly.graph_objects.Scatter3d`
instances or dicts with compatible properties
scattercarpet
A tuple of :class:`plotly.graph_objects.Scattercarpet`
instances or dicts with compatible properties
scattergeo
A tuple of :class:`plotly.graph_objects.Scattergeo`
instances or dicts with compatible properties
scattergl
A tuple of :class:`plotly.graph_objects.Scattergl`
instances or dicts with compatible properties
scattermapbox
A tuple of :class:`plotly.graph_objects.Scattermapbox`
instances or dicts with compatible properties
scattermap
A tuple of :class:`plotly.graph_objects.Scattermap`
instances or dicts with compatible properties
scatterpolargl
A tuple of :class:`plotly.graph_objects.Scatterpolargl`
instances or dicts with compatible properties
scatterpolar
A tuple of :class:`plotly.graph_objects.Scatterpolar`
instances or dicts with compatible properties
scatter
A tuple of :class:`plotly.graph_objects.Scatter`
instances or dicts with compatible properties
scattersmith
A tuple of :class:`plotly.graph_objects.Scattersmith`
instances or dicts with compatible properties
scatterternary
A tuple of :class:`plotly.graph_objects.Scatterternary`
instances or dicts with compatible properties
splom
A tuple of :class:`plotly.graph_objects.Splom`
instances or dicts with compatible properties
streamtube
A tuple of :class:`plotly.graph_objects.Streamtube`
instances or dicts with compatible properties
sunburst
A tuple of :class:`plotly.graph_objects.Sunburst`
instances or dicts with compatible properties
surface
A tuple of :class:`plotly.graph_objects.Surface`
instances or dicts with compatible properties
table
A tuple of :class:`plotly.graph_objects.Table`
instances or dicts with compatible properties
treemap
A tuple of :class:`plotly.graph_objects.Treemap`
instances or dicts with compatible properties
violin
A tuple of :class:`plotly.graph_objects.Violin`
instances or dicts with compatible properties
volume
A tuple of :class:`plotly.graph_objects.Volume`
instances or dicts with compatible properties
waterfall
A tuple of :class:`plotly.graph_objects.Waterfall`
instances or dicts with compatible properties
Did you mean "heatmap"?
Bad property path:
heatmapgl
^^^^^^^^^
The text was updated successfully, but these errors were encountered:
heatmapgl
was removed in Plotly.js here plotly/plotly.js#7213It looks like there are some changes required in Plotly.py that aren't covered by the codegen as after running codegen against plotly.js master branch, all
plotly.express
examples throw this error:The text was updated successfully, but these errors were encountered: