materialsintelligence / propnet

A knowledge graph for Materials Science.
Other
72 stars 23 forks source link

Update plotly to 5.20.0 #329

Closed pyup-bot closed 2 months ago

pyup-bot commented 3 months ago

This PR updates plotly from 4.1.0 to 5.20.0.

Changelog ### 5.20.0 ``` Updated - Updated Plotly.js from version 2.29.1 to version 2.30.0. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2300----2024-03-06) 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](https://github.com/plotly/plotly.js/pull/6905)], with thanks to lumip for the contribution! - Add `indentation` to legend [[6874](https://github.com/plotly/plotly.js/pull/6874)], with thanks to my-tien for the contribution! ``` ### 5.19.0 ``` Updated - Updated Plotly.js from version 2.27.0 to version 2.29.1. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2291----2024-02-12) 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](https://github.com/plotly/plotly.js/pull/6761)], with thanks to [Displayr](https://www.displayr.com) for sponsoring development! - Add `autotickangles` to cartesian and radial axes [[6790](https://github.com/plotly/plotly.js/pull/6790)], with thanks to my-tien for the contribution! - Add `align` option to sankey nodes to control horizontal alignment [[6800](https://github.com/plotly/plotly.js/pull/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](https://github.com/plotly/plotly.js/pull/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](https://github.com/plotly/plotly.js/pull/5230)] - Adjust stamen styles to point to `stadiamaps.com`, the users may also need to provide their own API_KEY via `config.mapboxAccessToken` [[6776](https://github.com/plotly/plotly.js/pull/6776), [#6778](https://github.com/plotly/plotly.js/pull/6778)] - Removed Python 3.6 and Python 3.7 support [[4492](https://github.com/plotly/plotly.py/pull/4492)] Fixed - Ensure scatter `mode` is deterministic from `px` [[4429](https://github.com/plotly/plotly.py/pull/4429)] - Fix issue with creating dendrogram in subplots [[4411](https://github.com/plotly/plotly.py/pull/4411)], - Fix issue with px.line not accepting "spline" line shape [[2812](https://github.com/plotly/plotly.py/issues/2812)] - Fix KeyError when using column of `pd.Categorical` dtype with unobserved categories [[4437](https://github.com/plotly/plotly.py/pull/4437)] - Fix dataframe interchange in case `column_names` returns an unmaterialized object: generator, iterator, etc. [[4442]](https://github.com/plotly/plotly.py/pull/4442) - Fix issue with `FutureWarning` being displayed when setting the `color` argument in `plotly.express` [[4519]](https://github.com/plotly/plotly.py/pull/4519) ``` ### 5.18.0 ``` Updated - Updated Plotly.js from version 2.26.0 to version 2.27.0. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2270----2023-10-20) 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](https://github.com/plotly/plotly.js/pull/6735)], this feature was anonymously sponsored: thank you to our sponsor! - Fix column order changes on hover [[6718](https://github.com/plotly/plotly.js/pull/6718)], with thanks to bhavinpatel1109 for the contribution! - Fix hover at timestamp '1970-01-01 00:00:00' [[6752](https://github.com/plotly/plotly.js/pull/6752)], with thanks to adamjhawley for the contribution! - Fix clearing empty `candlestick` using react [[6757](https://github.com/plotly/plotly.js/pull/6757)] Fixed - Repair crash on Matplotlib 3.8 related to get_offset_position [[4372](https://github.com/plotly/plotly.py/pull/4372)], - Handle deprecation of `pandas.Series.dt.to_pydatetime()` calls and suppress the `FutureWarning` they currently emit. [[4379](https://github.com/plotly/plotly.py/pull/4379)] ``` ### 5.17.0 ``` Updated - Improved json docstrings, added `BasePlotlyType.to_json()` method [[4301](https://github.com/plotly/plotly.py/pull/4301)] - Updated Plotly.js from version 2.25.2 to version 2.26.0. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2260----2023-08-24) 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](https://github.com/plotly/plotly.js/pull/6547)] - Add [n]-sigma (std deviations) box plots as an alternative to quartiles [[6697](https://github.com/plotly/plotly.js/issues/6697)], with thanks to 28raining for the contribution! - Add "top left" & "top center" side options to legend title [[6711](https://github.com/plotly/plotly.js/pull/6711)], with thanks to 28raining for the contribution! - Add "false" option to `scaleanchor` to allow removing a constraint that is set by default [[6712](https://github.com/plotly/plotly.js/pull/6712)], with thanks to lvlte for the contribution! Fixed - Fixed two issues with px.imshow: [[4330](https://github.com/plotly/plotly.py/issues/4330)] when facet_col is an earlier dimension than animation_frame for xarrays and [[#4329](https://github.com/plotly/plotly.py/issues/4329)] when facet_col has string coordinates in xarrays [[#4331](https://github.com/plotly/plotly.py/pull/4331)] ``` ### 5.16.1 ``` Fixed - Fixed issue with necessary columns from complex arguments dropped when interchanging dataframes [[4324](https://github.com/plotly/plotly.py/pull/4324)] ``` ### 5.16.0 ``` Updated - Updated Plotly.js from version 2.24.1 to version 2.25.2. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2252----2023-08-11) 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](https://github.com/plotly/plotly.js/pull/6670)], with thanks to apparebit for the contribution! - Add options to include legends for shapes and `newshape` [[6653](https://github.com/plotly/plotly.js/pull/6653)] - `px` methods now accept data-frame-like objects that support a [dataframe interchange protocol](https://data-apis.org/dataframe-protocol/latest/index.html), 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](https://github.com/plotly/plotly.py/pull/4246)] ``` ### 5.15.0 ``` Updated - Updated Plotly.js from version 2.20.0 to version 2.24.1. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2241----2023-06-07) for more information. Notable changes include: - Add pattern to pie, funnelarea, sunburst, icicle and treemap traces [[6601](https://github.com/plotly/plotly.js/pull/6601), [#6619](https://github.com/plotly/plotly.js/pull/6619), [#6622](https://github.com/plotly/plotly.js/pull/6622), [#6626](https://github.com/plotly/plotly.js/pull/6626), [#6627](https://github.com/plotly/plotly.js/pull/6627), [#6628](https://github.com/plotly/plotly.js/pull/6628), [#6629](https://github.com/plotly/plotly.js/pull/6629)], with thanks to thierryVergult for the contribution! - Add `texttemplate` to shape.label for parametric shapes i.e. line, rect and circle [[6527](https://github.com/plotly/plotly.js/pull/6527)], with thanks to the [Volkswagen](https://www.volkswagenag.com) Center of Excellence for Battery Systems for sponsoring development! - Add strict option to custom bundle command [[6557](https://github.com/plotly/plotly.js/pull/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](https://github.com/plotly/plotly.js/pull/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](https://github.com/plotly/plotly.js/pull/6589)], with thanks to [Gamma Technologies](https://www.gtisoft.com/) for sponsoring the related development. - Add `colorbar.xref` and `colorbar.yref` to enable container-referenced positioning of colorbars [[6593](https://github.com/plotly/plotly.js/pull/6593)], with thanks to [Gamma Technologies](https://www.gtisoft.com/) 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 [[4244](https://github.com/plotly/plotly.py/pull/4244)], [[#4286](https://github.com/plotly/plotly.py/pull/4286)] Fixed - Fixed another compatibility issue with Pandas 2.0, just affecting `px.*(line_close=True)` [[4190](https://github.com/plotly/plotly.py/pull/4190)] - Empty pandas dataframe with facet row/column set no longer fails [[4038](https://github.com/plotly/plotly.py/pull/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](https://github.com/plotly/plotly.py/pull/4153)] - Sanitize JSON output to prevent an XSS vector when graphs are inserted directly into HTML [[4196](https://github.com/plotly/plotly.py/pull/4196)] - Fixed issue with shapes and annotations plotting on the wrong y axis when supplied with a specific axis in the `yref` parameter [[4177](https://github.com/plotly/plotly.py/pull/4177)] - Remove `use_2to3` setuptools arg, which is invalid in the latest Python and setuptools versions [[4206](https://github.com/plotly/plotly.py/pull/4206)] - Fix [4066](https://github.com/plotly/plotly.py/issues/4066) JupyterLab v4 giving tiny default graph height [[#4227](https://github.com/plotly/plotly.py/pull/4227)] - Fixed issue with `colors.n_colors` where generated RGB color values were not being constrained to stay between 0 and 255 [[4110](https://github.com/plotly/plotly.py/pull/4110)] - Fix streamline figure factory with recent versions of Numpy - Fix issue with shapes and annotations not drawing on correct axis [[4177](https://github.com/plotly/plotly.py/pull/4177)] ``` ### 5.14.1 ``` Fixed - Fixed compatibility issue with Pandas 2.0 [[4103](https://github.com/plotly/plotly.py/pull/4103)] ``` ### 5.14.0 ``` Updated - Updated Plotly.js from version 2.18.2 to version 2.20.0. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2200----2023-03-15) for more information. Notable changes include: - Add `title.automargin` to enable automatic top and bottom margining for both container and paper referenced titles [[6428](https://github.com/plotly/plotly.js/pull/6428)], with thanks to [Gamma Technologies](https://www.gtisoft.com/) for sponsoring the related development. - Add `label` attribute to shapes [[6454](https://github.com/plotly/plotly.js/pull/6454)], with thanks to the [Volkswagen](https://www.volkswagenag.com) 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](https://github.com/plotly/plotly.js/pull/6481)], this feature was anonymously sponsored: thank you to our sponsor! - Key errors no longer precalculated when performing updates on plots [[4101](https://github.com/plotly/plotly.py/pull/4101)] Fixed - Fixed an issue with characters displaying incorrectly, by adding `charset="utf-8"` to scripts in `to_html` [[4114](https://github.com/plotly/plotly.py/pull/4114)] - Added `packaging` to install requirements, fixing a `No module named 'packaging` error on Python 3.6 [[4113](https://github.com/plotly/plotly.py/pull/4113)] Added - Added option to allow passing a column name as a `str` in `hover_data` and `custom_data` in `plotly.express` [[4083](https://github.com/plotly/plotly.py/pull/4083)] ``` ### 5.13.1 ``` Updated - Updated Plotly.js to from version 2.18.0 to version 2.18.2. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2182----2023-02-15) for more information. These changes are reflected in the auto-generated `plotly.graph_objects` module. - Updated distutils.Version to packaging.Version [3897](https://github.com/plotly/plotly.py/pull/3897)] and [#4055](https://github.com/plotly/plotly.py/pull/4055)] ``` ### 5.13.0 ``` Updated - Updated Plotly.js to from version 2.17.1 to version 2.18.0. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2180----2023-01-19) for more information. Notable changes include: - Add `sync` tickmode option [[6356](https://github.com/plotly/plotly.js/pull/6356), [#6443](https://github.com/plotly/plotly.js/pull/6443)], with thanks to filipesantiagoAM and VictorBezak for the contribution! - Build process now uses Node 18.x and version 2 lockfile (should be an invisible change for users) [[4034](https://github.com/plotly/plotly.py/pull/4034)] Fixed - `write_html()` now explicitly encodes output as UTF-8 because Plotly.js' bundle contains such characters [[4021](https://github.com/plotly/plotly.py/pull/4021)] and [[#4022](https://github.com/plotly/plotly.py/pull/4022)] - fixed `iframe` renderer regression from 5.12 and also fixed error when this renderer was used in the very first cell in a notebook [[4036](https://github.com/plotly/plotly.py/pull/4036)] ``` ### 5.12.0 ``` Updated - Support for ipywidgets 8 [[3930](https://github.com/plotly/plotly.py/pull/3930)] - Updated Plotly.js to from version 2.16.1 to version 2.17.1. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2170----2022-12-22) for more information. Notable changes include: - Add `shift` and `autoshift` to cartesian y axes to help avoid overlapping of multiple axes [[6334](https://github.com/plotly/plotly.js/pull/6334)], with thanks to [Gamma Technologies](https://www.gtisoft.com) for sponsoring the related development! - Introduce group attributes for `scatter` trace i.e. `alignmentgroup`, `offsetgroup`, `scattermode` and `scattergap` [[6381](https://github.com/plotly/plotly.js/pull/6381)], this feature was anonymously sponsored: thank you to our sponsor! - Add `marker.cornerradius` attribute to `treemap` trace [[6351](https://github.com/plotly/plotly.js/pull/6351)] Fixed - Fixed the usage of some deprecated NumPy types which were removed in NumPy 1.24 [[3997](https://github.com/plotly/plotly.py/pull/3997)] - Fixed bug for trendlines with datetime axes [[3683](https://github.com/plotly/plotly.py/issues/3683)] - `marker.angle` attribute now accepts iterables where appropriate [[4013](https://github.com/plotly/plotly.py/issues/4013)] - `selector=0` now correctly returns the first trace in `.select_traces()` and related methods [[3817](https://github.com/plotly/plotly.py/issues/3817)] ``` ### 5.11.0 ``` Updated - Updated Plotly.js to from version 2.14.0 to version 2.16.1. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2161----2022-10-21) for more information. Notable changes include: - Add clustering options to `scattermapbox` [[5827](https://github.com/plotly/plotly.js/pull/5827)], with thanks to elben10 for the contribution! - Add bounds to mapbox suplots [[6339](https://github.com/plotly/plotly.js/pull/6339)] - Add `angle`, `angleref` and `standoff` to `marker` and add `backoff` to `line`; also introduce new arrow symbols to facilitate drawing networks [[6297](https://github.com/plotly/plotly.js/pull/6297)] - Add `minreducedwidth` and `minreducedheight` to layout for increasing control over automargin [[6307](https://github.com/plotly/plotly.js/pull/6307)] - Add `entrywidth` and `entrywidthmode` to legend [[6202](https://github.com/plotly/plotly.js/pull/6202), [#6324](https://github.com/plotly/plotly.js/pull/6324)] ``` ### 5.10.0 ``` Updated - Updated Plotly.js to from version 2.12.1 to version 2.14.0. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2140----2022-08-10) for more information. Notable changes include: - Add support for `sankey` links with arrows - Add `selections`, `newselection` and `activeselection` layout attributes to have persistent and editable selections over cartesian subplots - Add `unselected.line.color` and `unselected.line.opacity` options to `parcoords` trace - Display Plotly's new logo in the modebar ``` ### 5.9.0 ``` Added - `pattern_shape` options now available in `px.timeline()` [3774](https://github.com/plotly/plotly.py/pull/3774) - `facet_*` and `category_orders` now available in `px.pie()` [3775](https://github.com/plotly/plotly.py/pull/3775) Performance - `px` 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](https://github.com/plotly/plotly.py/pull/3765) with thanks to [jvdd](https://github.com/jvdd) Updated - Allow non-string extras in `flaglist` attributes, to support upcoming changes to `ax.automargin` in plotly.js [plotly.js6193](https://github.com/plotly/plotly.js/pull/6193), [#3749](https://github.com/plotly/plotly.py/pull/3749) ``` ### 5.8.2 ``` Fixed - Fixed a syntax error that caused rendering issues in Databricks notebooks and likely elsewhere. [3763](https://github.com/plotly/plotly.py/pull/3763) with thanks to [fwetdb](https://github.com/fwetdb) ``` ### 5.8.1 ``` (no changes, due to a mixup with the build process!) ``` ### 5.8.0 ``` Fixed - Improve support for type checking and IDE auto-completion by bypassing lazy-loading when type checking. [3425](https://github.com/plotly/plotly.py/pull/3425) with thanks to [JP-Ellis](https://github.com/JP-Ellis) - line dash-style validators are now correctly used everywhere so that values like `10px 2px` are accepted [3722](https://github.com/plotly/plotly.py/pull/3722) - Resolved various deprecation warning messages and compatibility issues with upstream dependencies and Python 3.11, plus removed dependency on `six`, with thanks to [maresb](https://github.com/maresb), [hugovk](https://github.com/hugovk), [tirkarthi](https://github.com/tirkarthi), [martinRenou](https://github.com/martinRenou), and [BjoernLudwigPTB](https://github.com/BjoernLudwigPTB) - Better support for MathJax 3 [3706](https://github.com/plotly/plotly.py/pull/3706) Added - Type annotations for Plotly Express functions and chainable `go.Figure` methods, for better IDE auto-completion [3708](https://github.com/plotly/plotly.py/pull/3708) Updated - Updated Plotly.js to from version 2.11.1 to version 2.12.1. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/v2.12.1/CHANGELOG.md#2121----2022-05-09) for more information. Notable changes include: - Add `minor` ticks to cartesian axes - Add `griddash` option to most axes ``` ### 5.7.0 ``` Added - added `pattern_shape` options to `px.area()` [3668](https://github.com/plotly/plotly.py/issues/3668) Updated - Updated Plotly.js to from version 2.9.0 to version 2.11.1. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#2111----2022-03-15) for more information. Notable changes include: - Add `fillpattern` options to `scatter` trace - Various JS-specific improvements such as MathJax 3.0 support ``` ### 5.6.0 ``` Updated - Updated Plotly.js to from version 2.8.3 to version 2.9.0. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#290----2022-02-04) for more information. Notable changes include: - Implement `ticklabelstep` to reduce labels on cartesian axes and colorbars - Display the version of plotly.js when hovering over the modebar ``` ### 5.5.0 ``` Added - `text_auto` argument to `px.bar`, `px.histogram`, `px.density_heatmap`, `px.imshow` [3518](https://github.com/plotly/plotly.py/issues/3518) - Deprecated `ff.create_annotated_heatmap`, `ff.create_county_choropleth`, `ff.create_gantt` [3518](https://github.com/plotly/plotly.py/issues/3518) - `div_id` argument to `pio.to_html`, `pio.write_html`, `fig.to_html` and `fig.write_html` to optionally make its IDs deterministic [3487](https://github.com/plotly/plotly.py/issues/3487) with thanks to [Skn0tt](https://github.com/Skn0tt) Fixed - Fixed ValueError when `ff.create_annotated_heatmap` passes `rgba()` colors into `to_rgb_color_list` [3478](https://github.com/plotly/plotly.py/issues/3478) with thanks to [janosh](https://github.com/janosh) Updated - Updated Plotly.js to from version 2.6.3 to version 2.8.3. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#280----2021-12-10) for more information. Notable changes include: - Horizontal color bars - `texttemplate` for histogram-like and heatmap-like traces ``` ### 5.4.0 ``` Fixed - Fixed error when serializing dict with mix of string and non-string keys [3380](https://github.com/plotly/plotly.py/issues/3380) Updated - The JSON serialization engines no longer sort their keys [3380](https://github.com/plotly/plotly.py/issues/3380) - Updated Plotly.js to from version 2.4.2 to version 2.6.3. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#263----2021-11-12) for more information. Notable changes include: - New subplot type `smith` that supports `scattersmith` trace types for visualizing data in the complex domain - Changes to Plotly.js packaging ``` ### 5.3.1 ``` Updated - Updated Plotly.js to from version 2.4.1 to version 2.4.2. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#240----2021-08-27) for more information. These changes are reflected in the auto-generated `plotly.graph_objects` module. Notable changes include: - Bug fix for rendering unified hover labels in classic Jupyter Notebooks ``` ### 5.3.0 ``` Updated - Updated Plotly.js to from version 2.3.1 to version 2.4.1. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#240----2021-08-27) for more information. These changes are reflected in the auto-generated `plotly.graph_objects` module. Notable changes include: - Added `legend.groupclick` options - Provide bbox of hover items in event data ``` ### 5.2.2 ``` Fixed - Fixed error when using the orjson engine with non-string keys [3351](https://github.com/plotly/plotly.py/pull/3351) ``` ### 5.2.1 ``` Updated - Updated Plotly.js to from version 2.2.0 to version 2.3.1. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#231----2021-07-30) for more information. These changes are reflected in the auto-generated `plotly.graph_objects` module. Notable changes include: - new projections in `geo` subplots from a more recent version of `d3-geo` - new number-formatting directives from a more recent version of `d3-format` - Improve rendering of `scattergl`, `splom` and `parcoords` by implementing `plotGlPixelRatio` for those traces - performance improvements and bug fixes Added - Extra flags were added to the `gapminder` and `stocks` dataset to facilitate testing, documentation and demos [3305](https://github.com/plotly/plotly.py/issues/3305) - All line-like Plotly Express functions now accept `markers` argument to display markers, and all but `line_mapbox` accept `symbol` to map a field to the symbol attribute, similar to scatter-like functions [3326](https://github.com/plotly/plotly.py/issues/3326) - `px.scatter` and `px.density_contours` now support new `trendline` types `'rolling'`, `'expanding'` and `'ewm'` [2997](https://github.com/plotly/plotly.py/pull/2997) - `px.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'` [2997](https://github.com/plotly/plotly.py/pull/2997) - `px.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 [2997](https://github.com/plotly/plotly.py/pull/2997) - A new `px.ecdf()` function for Empirical Cumulative Distribution Functions [3330](https://github.com/plotly/plotly.py/pull/3330) Fixed - Fixed regression introduced in version 5.0.0 where pandas/numpy arrays with `dtype` of Object were being converted to `list` values when added to a Figure ([3292](https://github.com/plotly/plotly.py/issues/3292), [#3293](https://github.com/plotly/plotly.py/pull/3293)) - Better detection of Chrome and Chromium browsers in the Renderers framework, especially on Linux ([3278](https://github.com/plotly/plotly.py/pull/3278)) with thanks to [c-chaitanya](https://github.com/c-chaitanya) for the contribution ``` ### 5.1.0 ``` - Updated Plotly.js to from version 2.1.0 to version 2.2.0. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#220----2021-06-28) for more information. These changes are reflected in the auto-generated `plotly.graph_objects` module. Notable changes include: - new `<trace>.legendgrouptitle` attribute for legend group titles - new `%h` text formatting directive for half-years - performance improvements and bug fixes ``` ### 5.0.0 ``` Updated/Changed Items in this section may be considered backwards-incompatible changes for the purposes of [Semantic Versioning](http://semver.org/) but we expect the vast majority of users to be able to upgrade to version 5.0 without encountering any issues. - **Dropped support for Python older than 3.6** [3160](https://github.com/plotly/plotly.py/pull/3160) - Updated Plotly.js to from version 1.58.4 to version 2.1.0. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#210----2021-06-18) for more information. These changes are reflected in the auto-generated `plotly.graph_objects` module. Notable changes include: - dropped support for IE9 and IE10 - dropped support for long-deprecated `graph_objects` like `area` traces and `scatter.(t|r)` and `layout.(radial|angular)axis` attributes - modebar no longer has hovermode or spikeline buttons by default (can be added back with `fig.update_layout(modebar_add=["v1hovermode", "toggleSpikeLines"])`) - "Aa" text no longer appears on legend items unless `mode="text"` - In `bar` traces, `textposition` now defaults to `"auto"` - Font size for legend and colorbar titles now matches axis title font size (slightly bigger) - deprecated `heatmapgl`, `pointcloud` traces as well as all `transform` attributes - Combined `plotlywidget` into `jupyterlab-plotly` and packaged them as a federated extension [3142](https://github.com/plotly/plotly.py/pull/3142) with massive thanks to [fcollonval](https://github.com/fcollonval) for the contribution - In addition to this change, large Plotly.js bundles are now lazily loaded on-demand by JupyterLab - Plotly.js CDN url will now be versioned by default for HTML exports using `include_plotlyjs='cdn'` and for "connected" renderers. [2961](https://github.com/plotly/plotly.py/pull/2961) with thanks to [adehad](https://github.com/adehad) for the contribution - Recommending Kaleido by default over Orca [3094](https://github.com/plotly/plotly.py/pull/3094) - Replaced `retrying` dependency with `tenacity` [2911](https://github.com/plotly/plotly.py/pull/2911) with thanks to [jmsmdy](https://github.com/jmsmdy) for the contribution - Plotly Express now always takes into account every value in `category_orders` when computing discrete mappings (color, symbol, line-dash, pattern-shapes) as well as facets, even those values which are absent in the data [3247](https://github.com/plotly/plotly.py/pull/3247) Added - Additions due to bumping Plotly.js from 1.58.4 to 2.1.0 (see [changelog]((https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#210----2021-06-18))): - New `icicle` trace type, with thanks to [Kully](https://github.com/Kully) and [mtwichan](https://github.com/mtwichan) of [Zyphr](https://www.zyphr.ca/) for their contribution! - New `marker.pattern` options for `bar`-like trace types with thanks to [s417-lama](https://github.com/s417-lama) for the contribution! - New `legendrank` attribute to control rank of traces within legends - Plotly Express' `px.bar()`, `px.histogram()` and `px.bar_polar()` now support the `pattern_shape` argument [3252](https://github.com/plotly/plotly.py/pull/3252) - New Plotly Express `px.icicle()` function, with thanks to [Kully](https://github.com/Kully) and [mtwichan](https://github.com/mtwichan) of [Zyphr](https://www.zyphr.ca/) for their contribution! [#3256](https://github.com/plotly/plotly.py/pull/3256) - New functions in `plotly.colors`: `get_colorscale()` and `sample_colorscale()` [3136](https://github.com/plotly/plotly.py/pull/3136) and [#3186](https://github.com/plotly/plotly.py/pull/3186) with thanks to [CarlAndersson](https://github.com/CarlAndersson) for the contributions - Faster JSON encoding when `orjson` is present [2955](https://github.com/plotly/plotly.py/pull/2955) Fixed - Pandas and Numpy datetime serialization fixes [3022](https://github.com/plotly/plotly.py/pull/3022) - Fixed selected points of histograms in FigureWidget [2771](https://github.com/plotly/plotly.py/pull/2771) with thanks to [meffmadd](https://github.com/meffmadd) for the contribution - Static image export now honors `layout.(width|height)`[3240](https://github.com/plotly/plotly.py/pull/3240) - Improvements to "matplotlylib" conversion utility in `plotly.tools.mpl_to_plotly()` with thanks to [fdion](https://github.com/fdion) [#3143](https://github.com/plotly/plotly.py/pull/3143) ``` ### 4.14.3 ``` - `px.timeline()` now allows `hover_data` formatting of start and end times [3018](https://github.com/plotly/plotly.py/pull/3018) - Small change to packaging of `plotlywidget` extension for JupyterLab 3 [3021](https://github.com/plotly/plotly.py/pull/3021) ``` ### 4.14.2 ``` Updated - JupyterLab extensions now compatible with JupyterLab 3.x [3016](https://github.com/plotly/plotly.py/pull/3016) - Updated Plotly.js to version 1.58.4. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/v1.58.4/CHANGELOG.md) for more information. These changes are reflected in the auto-generated `plotly.graph_objects` module. Notable changes include: - fixes for rendering 3d plots on recent Safari versions - fixes to inside ticklabels - regression fixes Fixed - `px.histogram()` Y-axis labels now take into account `histnorm` and `barnorm` [2989](https://github.com/plotly/plotly.py/pull/2989) - `px.histogram()` `marginal` and `facet_*` now work correctly together [3014](https://github.com/plotly/plotly.py/pull/3014) ``` ### 4.14.1 ``` Updated - Updated Plotly.js to version 1.58.2. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/v1.58.0/CHANGELOG.md) for more information. These changes are reflected in the auto-generated `plotly.graph_objects` module. Notable changes include: - fixes for new `ticklabelposition` attribute - fixes for a regression related to treemaps in the previous version ``` ### 4.14.0 ``` Added - `px.imshow` now supports `facet_col` and `animation_frame` arguments for visualizing 3-d and 4-d images [2746](https://github.com/plotly/plotly.py/pull/2746) - `px.defaults` now supports `color_discrete_map`, `symbol_map`, `line_dash_map`, `labels` and `category_orders` as well as a `.reset()` method [2957](https://github.com/plotly/plotly.py/pull/2957) Fixed - axes will now auto-type numeric strings as categorical data rather than linear in the default templates [2951](https://github.com/plotly/plotly.py/pull/2951) Updated - Updated Plotly.js to version 1.58.1. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/v1.58.0/CHANGELOG.md) for more information. These changes are reflected in the auto-generated `plotly.graph_objects` module. Notable changes include: - a new `ticklabelposition` attribute to enable positioning tick labels inside the plotting area - better support for `scaleanchor` and `matches` on cartesian axes for matched square subplots - a new `autotypenumbers` attribute which is now set to `strict` in the default templates - various fixes relating to `automargins` for small figures ``` ### 4.13.0 ``` Added - `px.choropleth`, `px.scatter_geo` and `px.line_geo` now support faceting as well as `fitbounds` and `basemap_visible` [2923](https://github.com/plotly/plotly.py/pull/2923) - `px.scatter_geo` and `px.line_geo` now support `geojson`/`featureidkey` input [2923](https://github.com/plotly/plotly.py/pull/2923) - `px.scatter_geo` now supports `symbol` [2923](https://github.com/plotly/plotly.py/pull/2923) - `go.Figure` now has a `set_subplots` method to set subplots on an already existing figure. [2866](https://github.com/plotly/plotly.py/pull/2866) - Added `Turbo` colorscale and fancier swatch display functions [2882](https://github.com/plotly/plotly.py/pull/2882) - A utility function `image_array_to_data_uri` has been added in `plotly.utils`, in order to transform NumPy arrays to data b64 URIs (which can be passed to the source parameter of `go.Image`, or to layout images). [2879](https://github.com/plotly/plotly.py/pull/2879) - the `selector` argument to updater/selector functions now accepts `int`s and `str`s [2894](https://github.com/plotly/plotly.py/pull/2894) Updated - the JSON serialization of plotly figures has been accelerated thanks to a different handling of Infinity and NaN values. For example, a figure with a 1000x1000 Heatmap should now serialize 2x faster. [2880](https://github.com/plotly/plotly.py/pull/2880) - Coding mistakes with "magic underscores" now return significantly more ergonomic error messages [2843](https://github.com/plotly/plotly.py/pull/2843) - Error messages related to impossible subplot geometries are now much more helpful [2897](https://github.com/plotly/plotly.py/pull/2897) Fixed - `px.scatter_geo` support for `text` is fixed [2923](https://github.com/plotly/plotly.py/pull/2923) - the `x` and `y` parameters of `px.imshow` are now used also in the case where an Image trace is used (for RGB data or with `binary_string=True`). However, only numerical values are accepted (while the Heatmap trace allows date or string values for `x` and `y`). [2761](https://github.com/plotly/plotly.py/pull/2761) ``` ### 4.12.0 ``` Added - For `add_trace`, `add_shape`, `add_annotation` and `add_layout_image`, the `row` and/or `col` argument now also accept the string `"all"`. `row="all"` adds the object to all the subplot rows and `col="all"` adds the object to all the subplot columns. ([2840](https://github.com/plotly/plotly.py/pull/2840)) - Shapes that reference the plot axes in one dimension and the data in another dimension can be added with the new `add_hline`, `add_vline`, `add_hrect`, `add_vrect` functions, which also support the `row="all"` and `col="all"` arguments. ([2840](https://github.com/plotly/plotly.py/pull/2840)) - The `add_trace`, `add_shape`, `add_annotation`, `add_layout_image`, `add_hline`, `add_vline`, `add_hrect`, `add_vrect` functions accept an argument `exclude_empty_subplots` which if `True`, only adds the object to subplots already containing traces or layout objects. This is useful in conjunction with the `row="all"` and `col="all"` arguments. ([2840](https://github.com/plotly/plotly.py/pull/2840)) - For all `go.Figure` functions accepting a selector argument (e.g., `select_traces`), this argument can now also be a function which is passed each relevant graph object (in the case of `select_traces`, it is passed every trace in the figure). For graph objects where this function returns true, the graph object is included in the selection. ([2844](https://github.com/plotly/plotly.py/pull/2844)) Added - Better magic underscore error messages. For example, `some_fig.update_layout(geo_ltaxis_showgrid=True)` shows `Bad property path:\ngeo_ltaxis_showgrid\n ^` and lists the valid properties for `geo`. Updated - Updated Plotly.js to version 1.57.1. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/v1.57.1/CHANGELOG.md) for more information. These changes are reflected in the auto-generated `plotly.graph_objects` module. ``` ### 4.11.0 ``` Updated - Updated Plotly.js to version 1.56.0. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/v1.56.0/CHANGELOG.md) for more information. These changes are reflected in the auto-generated `plotly.graph_objects` module. ``` ### 4.10.0 ``` Added - Added `plotly.io.full_figure_for_development()` and `plotly.graph_objects.Figure.full_figure_for_development()` ([2737](https://github.com/plotly/plotly.py/pull/2737)) Updated - The JSON serialization of plotly figures had been accelerated by handling differently figures with and without NaN and Inf values ([2880](https://github.com/plotly/plotly.py/pull/2880)). Updated - Updated Plotly.js to version 1.55.2. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/v1.55.2/CHANGELOG.md) for more information. These changes are reflected in the auto-generated `plotly.graph_objects` module. - `px.imshow` has a new `binary_string` boolean argument, which passes the image data as a b64 binary string when True. Using binary strings allow for faster image rendering and smaller figure size. Additional optional arguments `binary_backend`, `binary_format` and `binary_compression_level` control how to generate the b64 string ([2691](https://github.com/plotly/plotly.py/pull/2691) - `px.imshow` has a new `contrast_rescaling` argument in order to choose how to set data values corresponding to the bounds of the color range ([2691](https://github.com/plotly/plotly.py/pull/2691) Fixed - Plotly Express no longer converts datetime columns of input dataframes to UTC ([2749](https://github.com/plotly/plotly.py/pull/2749)) - Plotly Express has more complete support for datetimes as additional `hover_data` ([2749](https://github.com/plotly/plotly.py/pull/2749)) - Histogram selection behaviour with `FigureWidget` ([2711](https://github.com/plotly/plotly.py/pull/2711)) with thanks to [meffmadd](https://github.com/meffmadd) - Behaviour of `full_html()` with `html=False` ([2469](https://github.com/plotly/plotly.py/pull/2469)) with thanks to [tallamjr](https://github.com/tallamjr) - `ff.distplot()` now only computes traces that will be shown ([2730](https://github.com/plotly/plotly.py/pull/2730)) with thanks to [akbo](https://github.com/akbo) - Pandas backend `.hist()` works with latest version of Pandas ([2713](https://github.com/plotly/plotly.py/pull/2713)) with thanks to [Kerybas](https://github.com/Kerybas) ``` ### 4.9.0 ``` Added - Added image export support using [Kaleido](https://github.com/plotly/Kaleido). The image export backend can be configured using the new `engine` argument to `plotly.io.to_image` and `plotly.io.write_image`. The `engine` argument may be set to `"kaleido"`, `"orca"`, or `"auto"`. The default is `engine="auto"`, in which case the Kaleido backend is enabled if the `kaleido` package from PyPI is installed, otherwise Orca is used. ([#2613](https://github.com/plotly/plotly.py/pull/2613)). - `plotly.express.timeline()` added as an official alternative to `plotly.figure_factories.create_gantt()` ([2626](https://github.com/plotly/plotly.py/pull/2626)) - `create_hexbin_mapbox()` added to Figure Factories, with thanks to [RenaudLN](https://github.com/RenaudLN) for the impressive contribution! - `facet_row_spacing` and `facet_col_spacing` added to Plotly Express cartesian 2d functions ([2614](https://github.com/plotly/plotly.py/pull/2614)) - `base` added to Plotly Express `bar` and `bar_polar` functions ([2626](https://github.com/plotly/plotly.py/pull/2626)) - `px.NO_COLOR` constant to override wide-form color assignment in Plotly Express ([2614](https://github.com/plotly/plotly.py/pull/2614)) Fixed - trendline traces are now of type `scattergl` when `render_mode="webgl"` in Plotly Express ([2614](https://github.com/plotly/plotly.py/pull/2614)) - regression from 4.8.1 whereby `"parent"` was not accepted as part of `path` for `px.sunburst()` and `px.treemap()` ([2640](https://github.com/plotly/plotly.py/pull/2640)) - `create_dendrogram()` figure factory now works correctly with `scipy` 1.5.1 ([2627](https://github.com/plotly/plotly.py/pull/2627)) Updated - Updated Plotly.js to version 1.54.6. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/v1.54.6/CHANGELOG.md) for more information. - Added all cartesian-2d Plotly Express functions, plus `imshow`, to Pandas backend with `kind` option ([2541](https://github.com/plotly/plotly.py/pull/2541)) - `plotly.express.imshow` now uses data frame index and columns names and values to populate axis parameters by default ([2539](https://github.com/plotly/plotly.py/pull/2539)) - Javascript extensions are now build using Node 12, and have an updated `package-lock.json` with many fewer security warnings ([2636](https://github.com/plotly/plotly.py/pull/2636)) ``` ### 4.8.2 ``` Updated - Updated Plotly.js to version 1.54.5. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/v1.54.5/CHANGELOG.md) for more information. - `add_traces()` now accepts bare `int`-like values for `rows`/`cols` as well as lists thereof ([2546](https://github.com/plotly/plotly.py/pull/2546)), with thanks to [MCBoarder289](https://github.com/MCBoarder289) for the contribution! Fixed - `row`/`col` now accept `int`-like values, not strictly `int` values ([2451](https://github.com/plotly/plotly.py/pull/2451)), with thanks to [MCBoarder289](https://github.com/MCBoarder289) for the contribution! - Fixed special cases with `px.sunburst` and `px.treemap` with `path` input ([2524](https://github.com/plotly/plotly.py/pull/2524)) - Fixed bug in `hover_data` argument of `px` functions, when the column name is changed with labels and `hover_data` is a dictionary setting up a specific format for the hover data ([2544](https://github.com/plotly/plotly.py/pull/2544)). - Made the Plotly Express `trendline` argument more robust and made it work with datetime `x` values ([2554](https://github.com/plotly/plotly.py/pull/2554)) - Fixed bug in `px.sunburst` and `px.treemap`: when the `color` and `values` arguments correspond to the same column, a different aggregation function has to be used for the two arguments ([2591](https://github.com/plotly/plotly.py/pull/2591)) - Plotly Express wide mode now accepts mixed integer and float columns ([2598](https://github.com/plotly/plotly.py/pull/2598)) - Plotly Express `range_(x|y)` should not impact the unlinked range of marginal subplots ([2600](https://github.com/plotly/plotly.py/pull/2600)) - `px.line` now sets `line_group=<variable>` in wide mode by default ([2599](https://github.com/plotly/plotly.py/pull/2599)) - Corrected some regex warnings ([2577](https://github.com/plotly/plotly.py/pull/2577)), with thanks to [georgevdd](https://github.com/georgevdd) for the contribution! ``` ### 4.8.1 ``` Fixed - Fixed the accidental removal of some functions and submodules from `plotly.colors` and `plotly.express.colors` ``` ### 4.8.0 ``` Added - `plotly` now provides a Plotly Express-backed Pandas-compatible plotting backend, which can be activated via `pandas.options.plotting.backend = "plotly"`. Note that it is not intended to implement every Pandas plotting function, nor is it intended to replicate the behaviour of every argument, although per the changes below, `x` and `y` should behave similarly. ([2336](https://github.com/plotly/plotly.py/pull/2336)) - New datasets have been added to `plotly.express.data`: `stocks`, `experiment`, `medals_wide` and `medals_long`. ([2336](https://github.com/plotly/plotly.py/pull/2336)) - plotly `go.Figure` and `go.FigureWidget` now have a `_repr_html_` and a `_repr_mimebundle_` method, which are [standard hooks for integration in systems based on IPython](https://ipython.readthedocs.io/en/stable/config/integrating.html). In particular, with `_repr_html_` plotly figures can now be used within [sphinx-gallery](https://sphinx-gallery.github.io/stable/index.html) without any scraper. These additions should not change anything to the way plotly figures are displayed in notebook environments, since the `_ipython_display_` method (already present in earlier versions) takes precedence over the new methods. Updated - The behaviour of the `x`, `y`, `orientation`, `histfunc`, `violinmode`, `boxmode` and `stripmode` arguments for 2d-cartesian functions in Plotly Express (i.e. `scatter`, `line`, `area`, `bar`, `histogram`, `violin`, `box`, `strip`, `funnel`, `density_heatmap` and `density_contour`) has been refined ([2336](https://github.com/plotly/plotly.py/pull/2336)): - if `x` or `y` is missing, it is inferred to be the index of `data_frame` if `data_frame` provided, otherwise a stable index of integers starting at 0. In the case of `px.bar`, if the provided value is not continuous, the missing value is treated as a column of 1s named "count", so as to behave more like `px.histogram` and to avoid sizing the resulting bars differently based on their position in the column. Previously, missing values defaulted to integers starting at 0 *per trace* which made it potentially inconsistent or misleading. - if `x` (`y`) is missing, `orientation` now defaults to `v` (`h`). Previously it always defaulted to `v` but this is not considered a breaking change, as the cases in which it now defaults to `h` caused unreadable output if set to `v`. - if both `x` and `y` are provided and one of them does not contain continuous values, `orientation` defaults to the value perpendicular to that axis. Previously it always defaulted to `v` but this is not considered a breaking change, as the cases in which it now defaults to `h` caused unreadable output if set to `v`. - if either `x` or `y` (but not both) may now be provided as a list of column references into `data_frame` or columns of data, in which case the imputed data frame will be treated as "wide" data and `melt()`ed internally before applying the usual mapping rules, with function-specific defaults. - if neither `x` nor `y` is provided but `data_frame` is, the data frame will be treated as "wide" with defaults depending on the value of `orientation` (and `orientation` has accordingly been added to `scatter`, `line`, `density_heatmap`, and `density_contour` for this purpose). Previously this would have resulted in an empty figure. - if both `x` and `y` are provided to `histogram`, and if `x`, `y` and `z` are provided to `density_heatmap` or `density_contour`, then `histfunc` now defaults to `sum` so as to avoid ignoring the provided data, and to cause `histogram` and `bar` to behave more similarly. - `violinmode`, `boxmode` and `stripmode` now default to `overlay` if `x` (`y`) in in `v` (`h`) orientation is also mapped to `color`, to avoid strange spacing issues with the previous default of `group` in all cases. - The Plotly Express arguments `color_discrete_map`, `symbol_map` and `line_dash_map` now accept the string `"identity"` which causes the corresponding input data to be used as-is rather than mapped into `color_discrete_sequence`, `symbol_sequence` or `line_dash_sequence`, respectively. ([2336](https://github.com/plotly/plotly.py/pull/2336)) - Plotly Express now accepts `px.Constant` or `px.Range` objects in the place of column references so as to express constant or increasing integer values. ([2336](https://github.com/plotly/plotly.py/pull/2336)) ``` ### 4.7.1 ``` Fixed - Fix `AttributeError: module 'plotly.graph_objs' has no attribute 'FigureWidget'` exception on `from plotly.graph_objs import *` when `ipywidgets` is not installed. Error also occurred when importing `plotly.figure_factor`. It is now possible to import `plotly.graph_objs.FigureWidget` when `ipywidgets` is not installed, and an informative `ImportError` exception will be raised in the `FigureWidget` constructor ([2443](https://github.com/plotly/plotly.py/issues/2443), [#1111](https://github.com/plotly/plotly.py/issues/1111)). - Fix `TypeError: unhashable type: 'Template'` during `Figure` construction when `plotly.io.templates.default` is set to a `Template` object rather than a string. ``` ### 4.7.0 ``` Updated - Updated Plotly.js to version 1.54.1. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/v1.54.1/CHANGELOG.md) for more information. The main new feature of this version of Plotly.js is the possibility to draw layout shapes, using custom dragmodes and corresponding modebar buttons. - The sphinx-gallery scraper has been updated to work with different structures of galleries [2149](https://github.com/plotly/plotly.py/pull/2419) Added - The `hover_data` parameter of `px` functions can now be a dictionary. This makes it possible to skip hover information for some arguments or to change the formatting of hover information [2377](https://github.com/plotly/plotly.py/pull/2377). - It's now possible to build a development version of Plotly.py against the build artifacts from a non-`master` branch of Plotly.js, which makes for faster QA and development cycles [2349](https://github.com/plotly/plotly.py/pull/2349). Thanks [zouhairm](https://github.com/zouhairm) for this Pull Request! Fixed - Plotly Express trendlines now handle missing data correctly [2357](https://github.com/plotly/plotly.py/pull/2357) Performance This version includes several performance improvements ([2368](https://github.com/plotly/plotly.py/pull/2368), [#2403](https://github.com/plotly/plotly.py/pull/2403)). - Child graph objects (e.g. `figure.layout.xaxis`) are no longer created eagerly during graph object construction. Instead, they are created lazily the first time the property is accessed. - Property validation is now disabled for select internal operations. - When used with Python 3.7 and above, plotly.py now takes advantage of [PEP-562](https://www.python.org/dev/peps/pep-0562/) to perform submodule imports lazily. This dramatically improves import times. ``` ### 4.6.0 ``` Updated - Updated Plotly.js to version 1.53.0. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/v1.53.0/CHANGELOG.md) for more information on the numerous new features and bug fixes of this release. The main features of the Plotly.js release are - Introduce range breaks on date axes (for example, to remove week-ends) via `layout.xaxis.rangebreaks` - Introduce a new unified x (or y) hovermode (`layout.hovermode="x unified"`), in which the hover box shows the information for all traces at a given x (or y) position - Add `node.customdata` and `link.customdata` to sankey traces - Updated [contributing notes](https://github.com/plotly/plotly.py/blob/master/contributing.md) for more explanations on how to contribute to plotly.py [#2290](https://github.com/plotly/plotly.py/pull/2290). Please give feedback on these notes! - Updated documentation examples [2325](https://github.com/plotly/plotly.py/pull/2325), and to show how to color links in Sankey diagrams [#2291](https://github.com/plotly/plotly.py/pull/2291). - Special thanks to [SylwiaOliwia2](https://github.com/SylwiaOliwia2) and [dangercrow](https://github.com/dangercrow) for improving our documentation! Added - `px.imshow` now accepts [`xarray`](http://xarray.pydata.org/) inputs, with metadata being used for axis labels, hover and colorbar [#2166](https://github.com/plotly/plotly.py/pull/2166) Fixed - Fixed handling of `opacity` in `px.pie`, `px.funnel_area`, `px.density_mapbox`, `px.funnel` [2317](https://github.com/plotly/plotly.py/pull/2317), with thanks to [tvaucher](https://github.com/tvaucher) for the contribution! ``` ### 4.5.4 ``` Updated - The documentation of the API https://plot.ly/python-api-reference/ now documents the full API [2243](https://github.com/plotly/plotly.py/pull/2243) - New documentation examples for facets [2235](https://github.com/plotly/plotly.py/pull/2235), legend [#2227](https://github.com/plotly/plotly.py/pull/2227), subplots [#2226](https://github.com/plotly/plotly.py/pull/2226), axes [#2234](https://github.com/plotly/plotly.py/pull/2234) and histograms [#2242](https://github.com/plotly/plotly.py/pull/2242). Thanks to [SylwiaOliwia2](https://github.com/SylwiaOliwia2) for all these great examples! Fixed - Jupyterlab extension now compatible with both Jupyterlab 1.2 and 2.0 [2261](https://github.com/plotly/plotly.py/pull/2261) with thanks to [consideRatio](https://github.com/consideRatio) for the contribution! - Fixed a bug when using boolean values for the color argument of px functions [2127](https://github.com/plotly/plotly.py/pull/2127) - Corrected import bug which was occurring with old versions of ipywidgets [2265](https://github.com/plotly/plotly.py/pull/2265) - Fixed python 3.8 syntax warning [2262](https://github.com/plotly/plotly.py/pull/2262), with thanks to [sgn](https://github.com/sgn) for the contribution! ``` ### 4.5.3 ``` Updated - Removed development dependency on `nose` testing framework [2217](https://github.com/plotly/plotly.py/pull/2217) Fixed - JupyterLab extension now compatible with JupyterLab 2.0 [2245](https://github.com/plotly/plotly.py/pull/2245) with thanks to [consideRatio](https://github.com/consideRatio) for the contribution! ``` ### 4.5.2 ``` Fixed - Fix build errors in JupyterLab extension by pinning version of `types/plotly.js` [2223](https://github.com/plotly/plotly.py/issues/2223) ``` ### 4.5.1 ``` Updated - Updated Plotly.js to version 1.52.2. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/releases/tag/v1.52.2) for more information on bug fixes. Fixed - `update_annotations`, `update_shapes` and `update_layout_images` now no longer require the `patch` argument, as per the docstring [2167](https://github.com/plotly/plotly.py/issues/2167) - `px.defaults` no longer accepts arbitrary keys [2168](https://github.com/plotly/plotly.py/issues/2168) - better error message when `pandas` is not installed [2125](https://github.com/plotly/plotly.py/issues/2125) - support columns of numerical type in `path` argument of `px.sunburst`/`px.treemap` and add values of `color` column in hoverlabel for `px.sunburst`/`px.treemap` [2133](https://github.com/plotly/plotly.py/pull/2133) ``` ### 4.5.0 ``` Updated - Updated Plotly.js to version 1.52.1. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/v1.52.0/CHANGELOG.md#1520----2020-01-08) for more information on numerous new attribute and bug fixes. - Plotly Express uses the new `legend.title` attribute and so now has shorter trace `name`s [2051](https://github.com/plotly/plotly.py/pull/2051) - The heuristic used by `px.parallel_categories` to determine which columns of the data frame to draw has been changed and made more configurable with the `dimensions_max_cardinality` argument [2102](https://github.com/plotly/plotly.py/pull/2102) - The `simple_white` colorbar styling has been streamlined [2110](https://github.com/plotly/plotly.py/pull/2110) - The `jupyterlab-plotly` and `plotlywidget` JupyterLab extensions should now share code when installed together, resulting in smaller JupyterLab vendor bundle sizes [2103](https://github.com/plotly/plotly.py/pull/2103) Fixed - Plotly Express `category_orders` are now respected independent of the contents of the data set [2084](https://github.com/plotly/plotly.py/issues/2084) - `go.Scattergl` symbols now accept numeric specification [1928](https://github.com/plotly/plotly.py/issues/1928) - `px.scatter` trendline coefficients are now more readable [1984](https://github.com/plotly/plotly.py/issues/1984) - Built-in cyclical color scales now all have identical start and end points [2016](https://github.com/plotly/plotly.py/pulls/2016) Added - `px.sunburst` and `px.treemap` now accept a `path` argument for passing columns of a rectangular dataframe to build the charts [2006](https://github.com/plotly/plotly.py/pull/2006) - `px.choropleth` now accepts a user-supplied `geojson` attribute [2057](https://github.com/plotly/plotly.py/pull/2057) - `px.choropleth` and `px.choropleth_mapbox` now accept `featureidkey` to specify the GeoJSON field to use to match `locations` [2057](https://github.com/plotly/plotly.py/pull/2057) - `px.choropleth` and `px.choropleth_mapbox` now accept discrete color [2057](https://github.com/plotly/plotly.py/pull/2057) - `px.bar_polar` now accepts continuous color [2017](https://github.com/plotly/plotly.py/pull/2017) - New `layout.uniformtext` attribute allows for automatic standardization of font sizes across bar-like and hierarchical traces. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/v1.52.0/CHANGELOG.md#1520----2020-01-08) for more information ``` ### 4.4.1 ``` Fixed - Fixed improper JSON encoding exception when the `pillow` module not installed [1993](https://github.com/plotly/plotly.py/pull/1993) ``` ### 4.4.0 ``` Updated - Updated Plotly.js to version 1.51.2. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#1512----2019-11-25) for more information - The tutorials of the [plotly.py documentation](https://plot.ly/python/) are now in the main [plotly.py Github repository](https://github.com/plotly/plotly.py). Contributions in order to improve or extend the documentation are very welcome! - `plotly.express` generated plots no longer have a default height of 600 pixels, instead they inherit the default height of regular figures [1990](https://github.com/plotly/plotly.py/pull/1990). To restore the old behavior, set `px.defaults.height=600` once per session, or set the `height` keyword argument to any `px.function()` to 600. Fixed - Fixed a plotly.express input bug when using data frame indices[1934](https://github.com/plotly/plotly.py/pull/1934) - Fixed how to display facet labels with plotly express [1966](https://github.com/plotly/plotly.py/pull/1966) - Fixed a bug to use correctly the `zmin/zmax` parameter in `px.imshow` for single-channel images [1981](https://github.com/plotly/plotly.py/pull/1981) - Clipped docstring width for better display in Jupyterlab [1939](https://github.com/plotly/plotly.py/pull/1939). Thank you joelostblom! - Fixed a bug in the case of external orca server [1915](https://github.com/plotly/plotly.py/pull/1915) thank you dev-dsp! Added - Extended the plotly.express functional API with 7 new functions: `px.pie`, `px.sunburst`, `px.treemap`, `px.funnel`, and `px.funnel_area` ([1909](https://github.com/plotly/plotly.py/pull/1909)) `px.density_mapbox` and `px.choropleth_mapbox` [1937](https://github.com/plotly/plotly.py/pull/1937). - plotly.express mapbox functions in plotly.express have new arguments `center` and `mapbox_style` [1937](https://github.com/plotly/plotly.py/pull/1937). - plotly.express polar plots (`scatter_polar`, `line_polar`, `bar_polar`) now have a `range_theta` keyword argument for representing only an angular section [1969](https://github.com/plotly/plotly.py/pull/1969). - All continuous colorscales now accept a `_r` suffix that reverses their direction [1933](https://github.com/plotly/plotly.py/pull/1933) - Docstrings of plotly.py are now doctested [1921](https://github.com/plotly/plotly.py/pull/1921). - Reversing a predefined colorscale by appending `_r` to its name [1933](https://github.com/plotly/plotly.py/pull/1933) ``` ### 4.3.0 ``` Updated - Updated Plotly.js to version 1.51.1. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#1511----2019-11-04) for more information - Improved propagation of empty templates ([1892](https://github.com/plotly/plotly.py/pull/1892)) - Update the `add_annotations`/`add_shapes`/`add_images` methods to no longer default to adding objects in paper coordinates. This allows plotly.js to determine the default reference frame based on context ([1888](https://github.com/plotly/plotly.py/pull/1888)) - Use the default template's background color for displaying color swatches ([1872](https://github.com/plotly/plotly.py/pull/1872)). Special thanks to [joelostblom](https://github.com/joelostblom) for this contribution! - Improved docstrings ([1835](https://github.com/plotly/plotly.py/pull/1835), [#1837](https://github.com/plotly/plotly.py/pull/1837)) Added - Added image trace type ([plotly.js4289](https://github.com/plotly/plotly.js/pull/4289), [plotly.js#4307](https://github.com/plotly/plotly.js/pull/4307), [plotly.js#4313](https://github.com/plotly/plotly.js/pull/4313), [plotly.js#4319](https://github.com/plotly/plotly.js/pull/4319)) - Added matplotlib-style `plotly.express.imshow` convenience function to display images and heatmaps ([1855](https://github.com/plotly/plotly.py/pull/1855), [#1885](https://github.com/plotly/plotly.py/pull/1885)) - Added matplotlib-style `simple_white` template ([1864](https://github.com/plotly/plotly.py/pull/1864)). Special thanks to [joelostblom](https://github.com/joelostblom) for this contribution. - Added support for using an externally managed orca server for image export features ([1850](https://github.com/plotly/plotly.py/pull/1850)). Special thanks to [miriad](https://github.com/miriad) for this contribution. - Added facet wrapping support to plotly express functions using the new `facet_col_wrap` argument ([1838](https://github.com/plotly/plotly.py/pull/1838)) ``` ### 4.2.1 ``` Fixed - Fixed regression in 4.2.0 that caused all figure factories to require that scikit-image be installed ([1832](https://github.com/plotly/plotly.py/pull/1832)) ``` ### 4.2.0 ``` Updated - Updated Plotly.js to version 1.50.1. See the [plotly.js CHANGELOG](https://github.com/plotly/plotly.js/blob/master/CHANGELOG.md#1501----2019-10-15) for more information Added - Added `treemap` trace type ([plotly.js4185](https://github.com/plotly/plotly.js/pull/4185), [plotly.js#4219](https://github.com/plotly/plotly.js/pull/4219),
pyup-bot commented 2 months ago

Closing this in favor of #331