NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #418 most downloaded on PyPI
An open-source interactive data visualization library for Python
Last release 19 days ago
15 Sep 2026
Ships fairly regularly
a new release about every 5 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
13 years old
321 releases · first in 2013
Update maplibre-gl to v6 to address CVE-2026-85061 [ #8035 ]
marginal_x/marginal_y="heatmap" in density_heatmap, drawing a single-row/column heatmap strip in the margin colored by the same z/histfunc aggregate as the main plot and sharing its color scale [#5706], with thanks to @lucasjamar for the contribution!mpl_to_plotly when the matplotlib tick positions don't follow an arithmetic progression, including custom tick labels and tick values on date axes [#5262], with thanks to @robertoffmoura for the contribution!uint8, uint16, uint32, uint64) in pandas DataFrames as categorical, which caused px.bar and other functions to pick the wrong orientation and render unexpected plots [#4291, #4344], with thanks to @Belagum for the contribution!mpl_to_plotly not setting paper_bgcolor and plot_bgcolor from the matplotlib figure and axes backgrounds, so converted figures match the source figure's background colors [#5285], with thanks to @robertoffmoura for the contribution!Figure.show() in Google Colab [#5718]fig.show() or displayed as the last expression of a code block [#5701], with thanks to @larsoner for the contribution!
legend.groupdoubleclick to set the group behavior for a legend double-click [#7997]scattergl, quiver traces [#8027]maplibre-gl to v6 to address CVE-2026-85061 [#8035]
hex_to_rgb function to raise error for invalid-length hex codes, and emit warning for hex codes containing alpha [#5729], with thanks to @dylanpulver for the contribution!One column per quarter.
Remove the deprecated Figure Factory functions create_2d_density , create_annotated_heatmap , create_bullet , create_candlestick , create_choropleth ,…
hex_to_rgb parsing of 3-digit shorthand hexadecimal colors such as #FFF [#5662], with thanks to @genrichez for the contribution!px.*_map() auto-fitting behavior when zoom and center are not specified [#5686]<!doctype html> to the to_html() template to comply with modern web standards [#5693], with thanks to @mishrakushal for the contribution!histfunc/z aggregation to marginal_x/marginal_y="histogram" subplots in density_heatmap/density_contour, instead of always showing raw bin counts [#3521], with thanks to @lucasjamar for the contribution!mpl_to_plotly silently dropping matplotlib path collections in data coordinates (such as violin plots, pcolor, event plots, stack plots, fill_between, and stem plots) by rendering them as filled polygons or lines [#5702], with thanks to @robertoffmoura for the contribution!create_2d_density, create_annotated_heatmap, create_bullet, create_candlestick, create_choropleth, create_distplot, create_facet_grid, create_gantt, create_hexbin_mapbox, create_ohlc, create_scatterplotmatrix, and create_violin [#5627]engine argument from functions fig.write_image(),fig.to_image(), pio.write_image(), pio.write_images(), pio.to_image(), pio.full_figure_for_development(), and from renderer constructors [#5677]quiver trace type to visualize vector fields using arrows [#7710, #7945]scattermapbox, choroplethmapbox, densitymapbox trace types, the mapbox subplot, and the mapboxAccessToken config option [#7860]. Use the equivalent *map traces instead.
graph_objects and Plotly Express functions have also been removed in plotly.py; use the map versions insteadrgb()/rgba() strings with decimal 0–1 fractions are no longer supportedhsv() color strings are no longer supportedhsl(120, 50% 50%) are no longer supported'#ff0000aa', '#f00a', 'rgb(255 0 0)', 'rgba(255 0 0 / 0.5)', 'hsl(0 100% 50% / 0.5)', 'hsla(0, 100%, 50%, 0.5)', 'hwb(0, 0%, 0%)', lab(), lch(), oklab(), oklch(), color(), hsl(0.5turn 60% 40%), hsl(none 60% 40%)country-regex with country-iso-search to search for country names in choropleth, scattergeo traces [#7856]. Most country names are handled exactly the same; a small number of legacy entries have been removed.layout.geo.fitbounds default from false to 'locations' [#7895]. geo subplots will now auto-fit the initial view to the trace data by default.center and zoom values for scattermap and densitymap traces. The initial map view will now auto-fit to the trace data by default. Add layout.map.fitbounds attribute (default 'locations') to enable or disable auto-fitting behavior [#7884, #7913]choropleth and scattergeo traces whose geometry crosses the antimeridian [#7891]Remove the deprecated Figure Factory functions create_2d_density , create_annotated_heatmap , create_bullet , create_candlestick , create_choropleth ,…
create_2d_density, create_annotated_heatmap, create_bullet, create_candlestick, create_choropleth, create_distplot, create_facet_grid, create_gantt, create_hexbin_mapbox, create_ohlc, create_scatterplotmatrix, and create_violin [#5627]engine argument from functions fig.write_image(),fig.to_image(), pio.write_image(), pio.write_images(), pio.to_image(), pio.full_figure_for_development(), and from renderer constructors [#5677]ValueError when an unsupported marginal plot type is passed to Plotly Express, instead of failing later with a cryptic 'NoneType' object has no attribute 'constructor' message [#5625], with thanks to @eugen-goebel for the contribution!quiver trace type to visualize vector fields using arrows [#7710], with thanks to @degzhaus for the contribution!scattermapbox, choroplethmapbox, densitymapbox trace types, the mapbox subplot, and the mapboxAccessToken config option [#7860]. Use the equivalent *map traces instead.
graph_objects and Plotly Express functions have also been removed in plotly.py; use the map versions insteadrgb()/rgba() strings with decimal 0–1 fractions are no longer supportedhsv() color strings are no longer supported'#ff0000aa', '#f00a', 'rgb(255 0 0)', 'rgba(255 0 0 / 0.5)', 'hsl(0 100% 50% / 0.5)', 'hsla(0, 100%, 50%, 0.5)', 'hwb(0, 0%, 0%)'country-regex with country-iso-search to search for country names in choropleth, scattergeo traces [#7856]. Most country names are handled exactly the same; a small number of legacy entries have been removed.layout.geo.fitbounds default from false to 'locations' [#7895]. geo subplots will now auto-fit the initial view to the trace data by default.center and zoom values for scattermap and densitymap traces. The initial map view will now auto-fit to the trace data by default. Add layout.map.fitbounds attribute (default 'locations') to enable or disable auto-fitting behavior [#7884, #7913], with thanks to @palmerusaf and @DhruvGarg111 for the contributions!choropleth and scattergeo traces whose geometry crosses the antimeridian [#7891]Raise a clear ValueError when an unsupported marginal plot type is passed to Plotly Express, instead of failing later with a cryptic 'NoneType' object
ValueError when an unsupported marginal plot type is passed to Plotly Express, instead of failing later with a cryptic 'NoneType' object has no attribute 'constructor' message [#5625], with thanks to @eugen-goebel for the contribution!sendDataToCloud modebar button to sendChartToCloud, and update to upload chart to Plotly Cloud [#7802, #7852, #7854]. NOTE: The Plotly Cloud endpoint for receiving charts is not yet functional, so this button won't complete the upload.scattergl error bars after toggling traces with mixed error bar visibility [#7773], with thanks to @JulienIcon for the contribution!fitbounds to choose a compact longitude range when point data straddles the antimeridian [#7837], with thanks to @SharadhNaidu for the contribution!Full Changelog: v6.8.0...v6.9.0
ValueError when an unsupported marginal plot type is passed to Plotly Express, instead of failing later with a cryptic 'NoneType' object has no attribute 'constructor' message [#5625], with thanks to @eugen-goebel for the contribution!read_json/write_json so figures containing non-ASCII text are handled correctly on platforms whose default encoding is not UTF-8 (e.g. cp1252 on Windows) [#5633]sendDataToCloud modebar button to sendChartToCloud, and update to upload chart to Plotly Cloud [#7802, #7852, #7854]scattergl error bars after toggling traces with mixed error bar visibility [#7773]fitbounds to choose a compact longitude range when point data straddles the antimeridian [#7837]Add optional font parameter for make_subplots [ #5393 ], with thanks to @Zomtir for the contribution!
color_continuous_scale was ignored when template had autocolorscale=True [#5439], with thanks to @antonymilne for the contribution!COLAB_NOTEBOOK_ID env var to enable Colab renderer instead of testing import of google.colab [#5473], with thanks to @kevineger for the contribution!add_vline, add_hline, add_vrect, and add_hrect on datetime axes [#5508], with thanks to @mosh3eb for the contribution!js/ directory was unintentionally installed as a top-level Python package when installing plotly [#5587]default_height/default_width to the outer wrapper div produced by to_html so that responsive (percentage) dimensions inherit from a sized parent container instead of collapsing to the plotly.js 450px fallback [#5591], with thanks to @SharadhNaidu for the contribution!__eq__ method for graph_objects classes now returns NotImplemented to give the other operand an opportunity to handle the comparison [#5547], with thanks to @RazerM for the contribution!Update numpy.percentile syntax to stop using deprecated alias [ #5483 ], with thanks to @Mr-Neutr0n for the contribution!
facet_row support to px.imshow for creating subplots along an additional dimension [#5445], with thanks to @FBumann for the contribution!numpy.percentile syntax to stop using deprecated alias [#5483], with thanks to @Mr-Neutr0n for the contribution!
numpy with a version less than 1.22 is no longer supported.px.histogram by skipping None label in hover template [#5535], with thanks to @tysoncung for the contribution!hoveranywhere and clickanywhere layout attributes to enable emitting hover and click events anywhere in the plot area, not just over traces [#7707]displayNotifier configuration property to set the display of notifier in the top right area of the viewport [#7730]scattergeo and choropleth traces to use both location names and abbreviations [#7731]Fix spurious engine deprecation warning in write_image [ #5517 ], with thanks to @mosh3eb for the contribution!
type="text/javascript" attribute from <style> tag [#5454], with thanks to @hannob for the contribution!Full Changelog: v6.5.2...v6.6.0
Fix issue where pie trace legend , showlegend attributes don't accept array values [ #5464 and #5465 ], with thanks to @my-tien for the contribution!
Fix issue where Plotly Express ignored trace-specific color sequences defined in templates via template.data.<trace_type> [ #5437 ], with thanks to @a
template.data.<trace_type> [#5437], with thanks to @antonymilne for the contribution!validate_gantt function [#5386], with thanks to @misrasaurabh1 for the contribution!showlegend and legend, so that these can be configured per slice. [#7580]Update plotly.js from version 3.2.0 to version 3.3.0. See the plotly.js release notes for more information. [ #5421 ]. Notable changes include:
hovertemplate for candlestick and ohlc traces [#7619]Full Changelog: v6.4.0...v6.5.0
Deprecate create_hexbin_mapbox in favor of create_hexbin_map , update related function calls [ 5358 ], with thanks to @ajlien for the contribution!
Update Plotly.js from version 3.1.0 to version 3.1.1. See the Plotly.js release notes for more information. [ #5357 ]. Notable changes include:
shared_yaxes to work with secondary axes [#5180], with thanks to @gmjw for the contribution!_ternary_contour.py [#5315], with thanks to @Lexachoc for the contribution!fig.show() behavior when ipython is installed [#5258]Full Changelog: v6.3.0...v6.3.1
Resolved issue causing extraneous engine deprecation warnings [#5287], with thanks to @jdbeel for the contribution!
plotly.io.get_chrome() as a function which can be called from within a Python script. [#5282]Add deprecation warnings when using Kaleido v0 or deprecated image export features [#5177]
Fix type checking and code highlighting for graph_objects classes [#5199]
graph_objects classes [#5199]Prevent swallowing of ValueError when creating a figure with subplots [#3888]
Add support for Kaleido>=v1.0.0 for image generation [#5062, #5177]
jupyterlab or notebook is not installed [#5104]Add support for Kaleido>=v1.0.0 for image generation, and deprecate support for Kaleido<1 and Orca [#5062]
jupyterlab or notebook is not installed [#5104]Nothing published for this version
Fix incorrect DeprecationWarning shown when creating a px chart [#5080, #5086]
Drop deprecated pointcloud and heatmapgl traces from the API [#4815]
plotly[express] extra for easily installing Plotly Express dependencies [#4644]subtitle attribute to all Plotly Express traces [#4830].pointcloud and heatmapgl traces from the API [#4815]tenacity dependency [#4831]plotly.graph_objects module. Notable changes include:
titlefont, titleposition, titleside, and titleoffset [#7212].bardir attribute (use orientation instead) [#7214]annotation.ref attribute (use annotation.xref and annotation.yref instead) [#7215]opacity attribute (use alpha channel of error bar color attribute instead) [#7214]gl3d.cameraposition (use gl3d.camera instead) [#7217]plot3dPixelRatio from config [#7231]zauto, zmin and zmax from the surface trace [#7234]autotick attributes from cartesian axes [#7236]transforms from the API [#7240, #7254]go.FigureWidget to use anywidget [#4823]Drop deprecated pointcloud and heatmapgl traces from the API [#4815]
plotly[express] extra for easily installing Plotly Express dependencies [#4644]subtitle attribute to all Plotly Express traces [#4830].pointcloud and heatmapgl traces from the API [#4815]tenacity dependency [#4831]go.FigureWidget to use anywidget [#4823]plotly.graph_objects module. Notable changes include:
titlefont, titleposition, titleside, and titleoffset [#7212].bardir attribute (use orientation instead) [#7214]annotation.ref attribute (use annotation.xref and annotation.yref instead) [#7215]opacity attribute (use alpha channel of error bar color attribute instead) [#7214]gl3d.cameraposition (use gl3d.camera instead) [#7217]plot3dPixelRatio from config [#7231]zauto, zmin and zmax from the surface trace [#7234]autotick attributes from cartesian axes [#7236]transforms from the API [#7240, #7254]Updated Plotly.js from version 2.35.0 to version 2.35.2. See the plotly.js CHANGELOG for more information.
Deprecate mapbox traces and mapbox subplot [#7087]
px functions for maps: scatter_map, line_map, choropleth_map, and density_map.plotly.graph_objects module. Notable changes include:
Updated Plotly.js from version 2.32.0 to version 2.34.0. See the plotly.js CHANGELOG for more information. These changes are reflected in the auto-gen
plotly.graph_objects module. Notable changes include:
subtitle attribute to layout.title to enable adding subtitles to plots [#7012]category_order on cartesian axes [#6223],
with thanks to @acxz and @prabhathc for the contribution!ticklabelindex for drawing the label for each minor tick n positions away from a major tick,
with thanks to @my-tien for the contribution! [#7036]ticklabelstandoff and ticklabelshift to cartesian axes to adjust positioning of tick labels,
with thanks to @my-tien for the contribution! [#7006]x0shift, x1shift, y0shift, y1shift to shapes to add control over positioning of shape vertices on (multi-)category axes,
with thanks to @my-tien for the contribution! [#7005]plotly.graph_objects module. Notable changes include:
subtitle attribute to layout.title to enable adding subtitles to plots [#7012]category_order on cartesian axes [#6223],
with thanks to @acxz and @prabhathc for the contribution!ticklabelindex for drawing the label for each minor tick n positions away from a major tick,
with thanks to @my-tien for the contribution! [#7036]ticklabelstandoff and ticklabelshift to cartesian axes to adjust positioning of tick labels,
with thanks to @my-tien for the contribution! [#7006]x0shift, x1shift, y0shift, y1shift to shapes to add control over positioning of shape vertices on (multi-)category axes,
with thanks to @my-tien for the contribution! [#7005]pytest at version 8.1.1 to match.IntegerValidator to handle extras option to allow supporting additional keyword values. For example, 'bold' and 'normal' as well as integers as used in font weights [#4612].Updated Plotly.js from version 2.31.1 to version 2.32.0. See the plotly.js CHANGELOG for more information. These changes are reflected in the auto-gen
plotly.graph_objects module. Notable changes include:
Updated Plotly.js from version 2.30.0 to version 2.31.1. See the plotly.js CHANGELOG for more information. These changes are reflected in the auto-gen
plotly.graph_objects module. Notable changes include:
zorder attribute to various cartesian traces for controlling stacking order of SVG traces drawn into a subplot [#6918, #6953],
This feature was anonymously sponsored: thank you to our sponsor!sizemode to cone trace [#6938]layout.hoversubplots to enable hover effects across multiple cartesian suplots sharing one axis [#6947, #6950]orjson loading issue [#4562]Updated Plotly.js from version 2.29.1 to version 2.30.0. See the plotly.js CHANGELOG for more information. These changes are reflected in the auto-gen
plotly.graph_objects module. Notable changes include:
Updated Plotly.js from version 2.27.0 to version 2.29.1. See the plotly.js CHANGELOG for more information. These changes are reflected in the auto-gen
plotly.graph_objects module. Notable changes include:
layout.barcornerradius and trace.marker.cornerradius properties to support rounding the corners of bar traces [#6761],
with thanks to Displayr for sponsoring development!autotickangles to cartesian and radial axes [#6790], with thanks to @my-tien for the contribution!align option to sankey nodes to control horizontal alignment [#6800],
with thanks to @adamreeve for the contribution!bdata) and shape (for 2 dimensional arrays) to declare various typed arrays i.e. dtype=(float64|float32|int32|int16|int8|uint32|uint16|uint8) [#5230]stadiamaps.com, the users may also need to provide their own API_KEY via config.mapboxAccessToken [#6776, #6778]mode is deterministic from px [#4429]pd.Categorical dtype with unobserved categories [#4437]column_names returns an unmaterialized object: generator, iterator, etc. [#4442]FutureWarning being displayed when setting the color argument in plotly.express [#4519]Handle deprecation of pandas.Series.dt.to_pydatetime() calls and suppress the FutureWarning they currently emit. [#4379]
plotly.graph_objects module. Notable changes include:
insiderange to cartesian axes to help avoid overlap between visible grid lines and tick labels of the counter axis when they are positioned inside [#6735], this feature was anonymously sponsored: thank you to our sponsor!candlestick using react [#6757]Improved json docstrings, added BasePlotlyType.to_json() method [#4301]
BasePlotlyType.to_json() method [#4301]plotly.graph_objects module. Notable changes include:
autorangeoptions (clipmin, clipmax, minallowed, maxallowed, include) as well as minallowed and maxallowed to cartesian, gl3d and radial axes [#6547]scaleanchor to allow removing a constraint that is set by default [#6712], with thanks to @lvlte for the contribution!Fixed issue with necessary columns from complex arguments dropped when interchanging dataframes [#4324]
Updated Plotly.js from version 2.24.1 to version 2.25.2. See the plotly.js CHANGELOG for more information. These changes are reflected in the auto-gen
plotly.graph_objects module. Notable changes include:
px methods now accept data-frame-like objects that support a dataframe interchange protocol, such as polars, vaex, modin etc. This protocol has priority on to_pandas call, but will only be used if pandas>=2.0.2 is installed in the environment.px methods now accept data-frame-like objects that support a toPandas() method, such as Spark DataFrames, or a to_pandas_df() method, such as Vaex DataFrames.frame.insert [#4246]Updated Plotly.js from version 2.20.0 to version 2.24.1. See the plotly.js CHANGELOG for more information. Notable changes include:
texttemplate to shape.label for parametric shapes i.e. line, rect and circle [#6527],
with thanks to the Volkswagen Center of Excellence for Battery Systems for sponsoring development!legend references to traces and legend2, legend3, etc. to layout,
also add visible to legend i.e. to allow positioning multiple legends on a graph [#6535],
this feature was anonymously sponsored: thank you to our sponsor!legend.xref and legend.yref to enable container-referenced positioning of legends [#6589], with thanks to Gamma Technologies for sponsoring the related development.colorbar.xref and colorbar.yref to enable container-referenced positioning of colorbars [#6593], with thanks to Gamma Technologies for sponsoring the related development.px methods now accept data-frame-like objects that support a to_pandas() method, such as polars, cudf, vaex etcpx.*(line_close=True) [#4190]make_subplots function to handle situations where the user-input specs cause the domain to exceed 1 by small amounts [#4153]yref parameter [#4177]use_2to3 setuptools arg, which is invalid in the latest Python and setuptools versions [#4206]colors.n_colors where generated RGB color values were not being constrained to stay between 0 and 255 [#4110]Fixed compatibility issue with Pandas 2.0 [#4103]
Updated Plotly.js from version 2.18.2 to version 2.20.0. See the plotly.js CHANGELOG for more information. Notable changes include:
title.automargin to enable automatic top and bottom margining for both container and paper referenced titles [#6428],
with thanks to Gamma Technologies for sponsoring the related development.label attribute to shapes [#6454], with thanks to the Volkswagen Center of Excellence for Battery Systems for sponsoring development!labelalias to various axes namely cartesian, gl3d, polar, smith, ternary, carpet,
indicator and colorbar [#6481],
this feature was anonymously sponsored: thank you to our sponsor!charset="utf-8" to scripts in to_html [#4114]packaging to install requirements, fixing a No module named 'packaging error on Python 3.6 [#4113]str in hover_data and custom_data in plotly.express [4083]Updated Plotly.js to from version 2.18.0 to version 2.18.2. See the plotly.js CHANGELOG for more information. These changes are reflected in the auto-
plotly.graph_objects module.See the full release announcement with graphical examples on the forum: https://community.plotly.com/t/announcing-plotly-py-5-13-0-grouped-scatter-new
See the full release announcement with graphical examples on the forum: https://community.plotly.com/t/announcing-plotly-py-5-13-0-grouped-scatter-new-markers-and-marker-angles-sankey-links-with-arrows/72205
Fixed the usage of some deprecated NumPy types which were removed in NumPy 1.24 [#3997]
shift and autoshift to cartesian y axes to help avoid overlapping of multiple axes [#6334],
with thanks to Gamma Technologies for sponsoring the related development!scatter trace i.e. alignmentgroup, offsetgroup, scattermode and scattergap [#6381],
this feature was anonymously sponsored: thank you to our sponsor!marker.cornerradius attribute to treemap trace [#6351]marker.angle attribute now accepts iterables where appropriate [#4013]selector=0 now correctly returns the first trace in .select_traces() and related methods [#3817]Updated Plotly.js to from version 2.14.0 to version 2.16.1. See the plotly.js CHANGELOG for more information. Notable changes include:
scattermapbox [#5827],
with thanks to @elben10 for the contribution!angle, angleref and standoff to marker and add backoff to line; also introduce new arrow symbols to facilitate drawing networks [#6297]minreducedwidth and minreducedheight to layout for increasing control over automargin [#6307]entrywidth and entrywidthmode to legend [#6202, #6324]Updated Plotly.js to from version 2.12.1 to version 2.14.0. See the plotly.js CHANGELOG for more information. Notable changes include:
sankey links with arrowsselections, newselection and activeselection layout attributes to have persistent and editable selections over cartesian subplotsunselected.line.color and unselected.line.opacity options to parcoords tracepattern_shape options now available in px.timeline() #3774
pattern_shape options now available in px.timeline() #3774facet_* and category_orders now available in px.pie() #3775px methods no longer call groupby on the input dataframe when the result would be a single group, and no longer groups by a lambda, for significant speedups #3765 with thanks to @jvddflaglist attributes, to support upcoming changes to ax.automargin in plotly.js plotly.js#6193, #3749Fixed a syntax error that caused rendering issues in Databricks notebooks and likely elsewhere. #3763 with thanks to @fwetdb
(no changes in this release due a build-process error, please see https://github.com/plotly/plotly.py/releases/tag/v5.8.2 for the changes that were in
(no changes in this release due a build-process error, please see https://github.com/plotly/plotly.py/releases/tag/v5.8.2 for the changes that were initially reported to be in this build)
Resolved various deprecation warning messages and compatibility issues with upstream dependencies and Python 3.11, plus removed dependency on six, wit…
See the full release announcement on the forum at https://community.plotly.com/t/announcing-plotly-py-5-8-0-better-autocompletions-with-type-hints-minor-ticks/64002 !
10px 2px are accepted #3722six, with thanks to @maresb, @hugovk, @tirkarthi, @martinRenou, and @BjoernLudwigPTBgo.Figure methods, for better IDE auto-completion #3708minor ticks to cartesian axesgriddash option to most axesSee the full release announcement here: https://community.plotly.com/t/announcing-plotly-py-5-7-0-text-on-histograms-and-heatmaps-patterns-on-areas-pl
See the full release announcement here: https://community.plotly.com/t/announcing-plotly-py-5-7-0-text-on-histograms-and-heatmaps-patterns-on-areas-plotly-js-version-number-access-smith-charts/62735
pattern_shape options to px.area() #3668fillpattern options to scatter traceUpdated Plotly.js to from version 2.8.3 to version 2.9.0. See the plotly.js CHANGELOG for more information. Notable changes include:
ticklabelstep to reduce labels on cartesian axes and colorbarsDeprecated ff.create_annotated_heatmap, ff.create_county_choropleth, ff.create_gantt #3518
text_auto argument to px.bar, px.histogram, px.density_heatmap, px.imshow #3518ff.create_annotated_heatmap, ff.create_county_choropleth, ff.create_gantt #3518div_id argument to pio.to_html, pio.write_html, fig.to_html and fig.write_html to optionally make its IDs deterministic #3487 with thanks to @Skn0ttff.create_annotated_heatmap passes rgba() colors into to_rgb_color_list #3478 with thanks to @janoshtexttemplate for histogram-like and heatmap-like tracesFixed error when serializing dict with mix of string and non-string keys #3380
smith that supports scattersmith trace types for visualizing data in the complex domainUpdated Plotly.js to from version 2.4.1 to version 2.4.2. See the plotly.js CHANGELOG for more information. These changes are reflected in the auto-ge
Updated Plotly.js to from version 2.4.1 to version 2.4.2. See the plotly.js CHANGELOG for more information. These changes are reflected in the auto-generated plotly.graph_objects module. Notable changes include:
Updated Plotly.js to from version 2.3.1 to version 2.4.1. See the plotly.js CHANGELOG for more information. These changes are reflected in the auto-ge
plotly.graph_objects module. Notable changes include:
legend.groupclick optionsFixed error when using the orjson engine with non-string keys #3351
See the full release announcement here: https://community.plotly.com/t/announcing-plotly-py-5-2-1-trendlines-ecdf-plots-markers-on-lines-sharper-webgl
See the full release announcement here: https://community.plotly.com/t/announcing-plotly-py-5-2-1-trendlines-ecdf-plots-markers-on-lines-sharper-webgl-legend-group-titles/55681
plotly.graph_objects module. Notable changes include:
geo subplots from a more recent version of d3-geod3-formatscattergl, splom and parcoords by implementing plotGlPixelRatio for those tracesgapminder and stocks dataset to facilitate testing, documentation and demos #3305markers argument to display markers, and all but line_mapbox accept symbol to map a field to the symbol attribute, similar to scatter-like functions #3326px.scatter and px.density_contours now support new trendline types 'rolling', 'expanding' and 'ewm' #2997px.scatter and px.density_contours now support new trendline_options argument to parameterize trendlines, with support for constant control and log-scaling in 'ols' and specification of the fraction used for 'lowess', as well as pass-through to Pandas for 'rolling', 'expanding' and 'ewm' #2997px.scatter and px.density_contours now support new trendline_scope argument that accepts the value 'overall' to request a single trendline for all traces, including across facets and animation frames #2997px.ecdf() function for Empirical Cumulative Distribution Functions #3330dtype of Object were being converted to list values when added to a Figure (#3292, #3293)Nothing published for this version
Updated Plotly.js from version 2.1.0 to version 2.2.0. See the plotly.js CHANGELOG for more information. These changes are reflected in the auto-gener
plotly.graph_objects module. Notable changes include:
<trace>.legendgrouptitle attribute for legend group titles%h text formatting directive for half-yearsdropped support for long-deprecated graph_objects like area traces and scatter.(t|r) and layout.(radial|angular)axis attributes
See the full release announcement here: https://community.plotly.com/t/introducing-plotly-py-5-0-0-a-new-federated-jupyter-extension-icicle-charts-and-bar-chart-patterns/54039
Items in this section may be considered backwards-incompatible changes for the purposes of Semantic Versioning but we expect the vast majority of users to be able to upgrade to version 5.0 without encountering any issues.
plotly.graph_objects module. Notable changes include:
graph_objects like area traces and scatter.(t|r) and layout.(radial|angular)axis attributesfig.update_layout(modebar_add=["v1hovermode", "toggleSpikeLines"]))mode="text"bar traces, textposition now defaults to "auto"heatmapgl, pointcloud traces as well as all transform attributesplotlywidget into jupyterlab-plotly and packaged them as a federated extension #3142 with massive thanks to @fcollonval for the contribution
include_plotlyjs='cdn' and for "connected" renderers. #2961 with thanks to @adehad for the contributionretrying dependency with tenacity #2911 with thanks to @jmsmdy for the contributioncategory_orders when computing discrete mappings (color, symbol, line-dash, pattern-shapes) as well as facets, even those values which are absent in the data #3247icicle trace type, with thanks to @Kully and @mtwichan of Zyphr for their contribution!marker.pattern options for bar-like trace types with thanks to @s417-lama for the contribution!legendrank attribute to control rank of traces within legendspx.bar(), px.histogram() and px.bar_polar() now support the pattern_shape argument #3252px.icicle() function, with thanks to @Kully and @mtwichan of Zyphr for their contribution! #3256plotly.colors: get_colorscale() and sample_colorscale() #3136 and #3186 with thanks to @CarlAndersson for the contributionsorjson is present #2955layout.(width|height)#3240plotly.tools.mpl_to_plotly() with thanks to @fdion #3143dropped support for long-deprecated graph_objects like area traces and scatter.(t|r) and layout.(radial|angular)axis attributes
Find out more about the RC process on our Forum: https://community.plotly.com/t/plotly-py-5-0-is-coming-soon-try-the-release-candidate-today/53470
plotly.graph_objects module. Notable changes include:
marker.pattern options for bar-like trace typesgraph_objects like area traces and scatter.(t|r) and layout.(radial|angular)axis attributesheatmapgl, pointcloud traces as well as all transform attributesplotlywidget into jupyterlab-plotly and packaged them as a federated extension #3142 with massive thanks to @fcollonval for the contributioninclude_plotlyjs='cdn' and for "connected" renderers. #2961 with thanks to @adehad for the contributionretrying dependency with tenacity #2911 with thanks to @jmsmdy for the contributionplotly.colors: get_colorscale() and sample_colorscale() #3136 and #3186 with thanks to @CarlAndersson for the contributionsorjson is present #2955dropped support for long-deprecated graph_objects like area traces and scatter.(t|r) and layout.(radial|angular)axis attributes
Find out more about the RC process on our Forum: https://community.plotly.com/t/plotly-py-5-0-is-coming-soon-try-the-release-candidate-today/53470
plotly.graph_objects module. Notable changes include:
marker.pattern options for bar-like trace typesgraph_objects like area traces and scatter.(t|r) and layout.(radial|angular)axis attributesheatmapgl, pointcloud traces as well as all transform attributesplotlywidget into jupyterlab-plotly and packaged them as a federated extension #3142 with massive thanks to @fcollonval for the contributioninclude_plotlyjs='cdn' and for "connected" renderers. #2961 with thanks to @adehad for the contributionretrying dependency with tenacity #2911 with thanks to @jmsmdy for the contributionplotly.colors: get_colorscale() and sample_colorscale() #3136 and #3186 with thanks to @CarlAndersson for the contributionsorjson is present #2955px.timeline() now allows hover_data formatting of start and end times 3018
JupyterLab extensions now compatible with JupyterLab 3.x 3016
plotly.graph_objects module. Notable changes include:
Your coding agent can read these notes before it upgrades. Set up the MCP server →