Plotly.py Versions Save

The interactive graphing library for Python :sparkles: This project now includes Plotly Express!

v5.21.0

1 week ago

Updated

  • 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-generated plotly.graph_objects module. Notable changes include:
    • Add 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!
    • Add "between" option to shape layer for placing them above grid lines and below traces [#6927], with thanks to @my-tien for the contribution!
    • Add "raw" sizemode to cone trace [#6938]
    • Add layout.hoversubplots to enable hover effects across multiple cartesian suplots sharing one axis [#6947, #6950]

Fixed

  • Fixed orjson loading issue [#4562]

v5.20.0

1 month ago

Updated

  • 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-generated plotly.graph_objects module. Notable changes include:
    • Add fill gradients for scatter traces [#6905], with thanks to @lumip for the contribution!
    • Add indentation to legend [#6874], with thanks to @my-tien for the contribution!

v5.19.0

2 months ago

Updated

  • 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-generated plotly.graph_objects module. Notable changes include:
    • Add layout.barcornerradius and trace.marker.cornerradius properties to support rounding the corners of bar traces [#6761], with thanks to Displayr for sponsoring development!
    • Add autotickangles to cartesian and radial axes [#6790], with thanks to @my-tien for the contribution!
    • Add align option to sankey nodes to control horizontal alignment [#6800], with thanks to @adamreeve for the contribution!
    • Add the possibility of loading "virtual-webgl" script for WebGL 1 to help display several WebGL contexts on a page [#6784], with thanks to @greggman for the contribution!
    • Add options to use base64 encoding (bdata) and shape (for 2 dimensional arrays) to declare various typed arrays i.e. dtype=(float64|float32|int32|int16|int8|uint32|uint16|uint8) [#5230]
    • Adjust stamen styles to point to stadiamaps.com, the users may also need to provide their own API_KEY via config.mapboxAccessToken [#6776, #6778]
  • Removed Python 3.6 and Python 3.7 support [#4492]

Fixed

  • Ensure scatter mode is deterministic from px [#4429]
  • Fix issue with creating dendrogram in subplots [#4411],
  • Fix issue with px.line not accepting "spline" line shape [#2812]
  • Fix KeyError when using column of pd.Categorical dtype with unobserved categories [#4437]
  • Fix dataframe interchange in case column_names returns an unmaterialized object: generator, iterator, etc. [#4442]
  • Fix issue with FutureWarning being displayed when setting the color argument in plotly.express [#4519]

v5.18.0

6 months ago

Updated

  • Updated Plotly.js from version 2.26.0 to version 2.27.0. See the plotly.js CHANGELOG for more information. These changes are reflected in the auto-generated plotly.graph_objects module. Notable changes include:
    • Add 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!
    • Fix column order changes on hover [#6718], with thanks to @bhavinpatel1109 for the contribution!
    • Fix hover at timestamp '1970-01-01 00:00:00' [#6752], with thanks to @adamjhawley for the contribution!
    • Fix clearing empty candlestick using react [#6757]

Fixed

  • Repair crash on Matplotlib 3.8 related to get_offset_position [#4372],
  • Handle deprecation of pandas.Series.dt.to_pydatetime() calls and suppress the FutureWarning they currently emit. [#4379]

v5.17.0

7 months ago

Updated

  • Improved json docstrings, added BasePlotlyType.to_json() method [#4301]
  • Updated Plotly.js from version 2.25.2 to version 2.26.0. See the plotly.js CHANGELOG for more information. These changes are reflected in the auto-generated plotly.graph_objects module. Notable changes include:
    • Add "min", "max", "min reversed" and "max reversed" autorange options and handle partial ranges (i.e. one end being null), add autorangeoptions (clipmin, clipmax, minallowed, maxallowed, include) as well as minallowed and maxallowed to cartesian, gl3d and radial axes [#6547]
    • Add [n]-sigma (std deviations) box plots as an alternative to quartiles [#6697], with thanks to @28raining for the contribution!
    • Add "top left" & "top center" side options to legend title [#6711], with thanks to @28raining for the contribution!
    • Add "false" option to scaleanchor to allow removing a constraint that is set by default [#6712], with thanks to @lvlte for the contribution!

Fixed

  • Fixed two issues with px.imshow: [#4330] when facet_col is an earlier dimension than animation_frame for xarrays and [#4329] when facet_col has string coordinates in xarrays [#4331]

v5.16.1

8 months ago

Fixed

  • Fixed issue with necessary columns from complex arguments dropped when interchanging dataframes [#4324]

v5.16.0

8 months ago

Updated

  • 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-generated plotly.graph_objects module. Notable changes include:
    • Add "Equal Earth" projection to geo subplots [#6670], with thanks to @apparebit for the contribution!
    • Add options to include legends for shapes and newshape [#6653]
  • 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.

Fixed

  • Fixed Pandas performance warning issue caused by multiple frame.insert [#4246]

v5.15.0

10 months ago

Updated

  • Updated Plotly.js from version 2.20.0 to version 2.24.1. See the plotly.js CHANGELOG for more information. Notable changes include:
    • Add pattern to pie, funnelarea, sunburst, icicle and treemap traces [#6601, #6619, #6622, #6626, #6627, #6628, #6629], with thanks to @thierryVergult for the contribution!
    • Add 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!
    • Add strict option to custom bundle command [#6557], with thanks to @CallumNZ for the contribution!
    • Add 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!
    • Add legend.xref and legend.yref to enable container-referenced positioning of legends [#6589], with thanks to Gamma Technologies for sponsoring the related development.
    • Add 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 etc

Fixed

  • Fixed another compatibility issue with Pandas 2.0, just affecting px.*(line_close=True) [#4190]
  • Empty pandas dataframe with facet row/column set no longer fails [#4038]
  • Added some rounding to the make_subplots function to handle situations where the user-input specs cause the domain to exceed 1 by small amounts [#4153]
  • Sanitize JSON output to prevent an XSS vector when graphs are inserted directly into HTML [#4196]
  • Fixed issue with shapes and annotations plotting on the wrong y axis when supplied with a specific axis in the yref parameter [#4177]
  • Remove use_2to3 setuptools arg, which is invalid in the latest Python and setuptools versions [#4206]
  • Fix #4066 JupyterLab v4 giving tiny default graph height [#4227]
  • Fixed issue with colors.n_colors where generated RGB color values were not being constrained to stay between 0 and 255 [#4110]
  • Fix streamline figure factory with recent versions of Numpy
  • Fix issue with shapes and annotations not drawing on correct axis [#4177]

v5.14.1

1 year ago

Fixed

  • Fixed compatibility issue with Pandas 2.0 [#4103]

v5.14.0

1 year ago

Updated

  • Updated Plotly.js from version 2.18.2 to version 2.20.0. See the plotly.js CHANGELOG for more information. Notable changes include:
    • Add 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.
    • Add label attribute to shapes [#6454], with thanks to the Volkswagen Center of Excellence for Battery Systems for sponsoring development!
    • Add 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!
  • Key errors no longer precalculated when performing updates on plots [#4101]

Fixed

  • Fixed an issue with characters displaying incorrectly, by adding charset="utf-8" to scripts in to_html [#4114]
  • Added packaging to install requirements, fixing a No module named 'packaging error on Python 3.6 [#4113]

Added

  • Added option to allow passing a column name as a str in hover_data and custom_data in plotly.express [4083]