Skip to content

Releases: plotly/plotly.py

v4.1.0

07 Aug 00:47
317643d
Compare
Choose a tag to compare

Updated

  • Updated Plotly.js to version 1.49.1. See the plotly.js CHANGELOG for more information.
  • Bars in the figures produced by the create_gantt figure factory may now be hidden by clicking on the legend (#1665). Special thanks to @csabaszan for this contribution!
  • Improved performance when serializing figures containing large numpy arrays (#1690). Special thanks to @miriad for this contribution!

Added

Fixed

  • Fixed incorrect facet row ordering in figures generated by plotly.express functions (plotly/plotly_express#129)
  • Fixed "The truth value of an array with more than one element is ambiguous" error when specifying subplot titles as numpy array of strings (#1685). Special thanks to @MrQubo for this contribution!
  • The line_3d plotly express function was not visible by default when importing * from plotly.express (#1667)

v4.0.0

17 Jul 21:59
65625d4
Compare
Choose a tag to compare

[4.0.0] - 2019-07-16

This is a major release that includes many new features, and a few breaking changes. See the version 4 announcement for a summary of the important changes.

Updated

Added

  • The Plotly Express tech preview (https://medium.com/@plotlygraphs/introducing-plotly-express-808df010143d) has been integrated as the plotly.express module (#1613)
  • Added a new renderers framework the supports rendering figure in a wide variety of contexts (#1474). See the new Displaying Plotly Figures documentation page for more information.
  • Added plotly.io.write_html and plotly.io.to_html functions for exporting figures to HTML (1474). Also available as .write_html and .to_html figure methods.
  • Added new figure methods for batch updating figure properties (update_layout, update_traces, update_xaxes, etc.) (#1624). See the new Creating and Updating Figures documentation page for more details.
  • Added support for all trace types in make_subplots (#1528)
  • Added support for secondary y-axes in make_subplots (#1564)
  • Support passing a scalar trace object (rather than a list or tuple of trace objects) as the data property to the Figure constructor (#1614)
  • Added dictionary-stule .pop method to graph object classes (#1614)
  • New jupyterlab-plotly JupyterLab extension for rendering figures in JupyterLab. Replaces the @jupyterlab/plotly-extension extension, and includes JupyterLab 1.0 support.
  • Added new suite of built-in colorscales to the plotly.colors module, and support for specifying this wide range of colorscales by name. Also added support for specifying colorscales as a list of colors, in which case the color spacing is assumed to be uniform (#1647).
  • Added sphinx-gallery renderer for embedding plotly figures in Sphinx-Gallery (#1577, plotly/plotly-sphinx-gallery).

Removed

  • The follow modules for interfacing with the Chart Studio cloud service have been removed from plotly.py and moved to the new chart-studio distribution package. The following modules have been moved to a new top-level chart_studio module:
    • plotly.plotly -> chart_studio.plotly
    • plotly.api -> chart_studio.api
    • plotly.dashboard_objs -> chart_studio.dashboard_objs
    • plotly.grid_objs -> chart_studio.grid_objs
    • plotly.presentation_objs -> chart_studio.presentation_objs
  • The legacy plotly.widgets.GraphWidget class for displaying online figures hosted by Chart Studio as ipywidgets has been removed. Please use the offline, and much more capable, plotly.graph_objects.FigureWidget class instead.
  • The fileopt argument to chart_studio.plotly.plot has been removed, so in-place modifications to previously published figures are no longer supported, and a figure will always overwrite a figure with the same name.

Changed

  • The 'plotly' template is used as the default theme across all figures.
  • In order to reduce the size of the core plotly distribution package, the bundled geographic shape files used by the create_choropleth figure factory have been moved to a new optional plotly-geo distribution package (1604)
  • For consistency with other figure factories, the create_choropleth and create_gantt figure factories now always returns Figure objects, rather than dictionaries (#1600, #1607).
  • Figure add trace methods (.add_trace, .add_traces, .add_scatter, etc.) now return a reference to the calling figure, rather than the newly created trace (#1624)
  • plotly.tools.make_subplots has been moved to plotly.subplots.make_subplots, though it is still available at the previous location for backward compatibility
  • The plotly.graph_objs module has been moved to plotly.graph_objects, though it is still available at the previous location for backward compatibility (#1614)
  • Trace uid properties are only generated automatically when a trace is added to a FigureWidget. When a trace is added to a standard Figure graph object the input uid, if provided, is accepted as is (#1580).
  • datetime objects that include timezones are not longer converted to UTC (#1581)
  • When a tuple property (e.g. layout.annotations) is updated with a list/tuple that is longer than the current value, the extra elements are appended to the end of the tuple.

Fixed

  • Fixed visibility of bar trace error bars in built-in templates (1656)

v3.10.0

31 May 19:48
7cce283
Compare
Choose a tag to compare

[3.10.0] - 2019-05-31

Updated

Added

  • Added funnel trace (plotly/plotly.js#3817, plotly/plotly.js#3911)
  • Added funnelarea traces (#3876, #3912)
  • Added support for shared color axes via coloraxis attributes in the layout (#3803, #3786, #3901, #3916)
  • Added support for sorting categorical cartesian axes by value (#3864)
  • Added bingroup to histogram, histogram2d and histogram2dcontour to group traces to have compatible auto-bin values (#3845)
  • Add legend itemclick and itemdoubleclick attributes to set or disable the legend item click and double-click behavior (#3862)
  • Added support for calling orca through Xvfb to support static image export on Linux when X11 is not available (#1523).

Fixed

  • Fixed PlotlyJSONEncoder encoding error when simplejson is installed (#1556, #1561)
  • HTML export now honors the figure height specified in the figure template (#1560)
  • Fixed display height of figure displayed in JupyterLab (#1572,
    #1571)
  • Fixed honouring of the validate=False option for all renderer types (#1576)

v3.9.0

06 May 23:06
6a85e4b
Compare
Choose a tag to compare

[3.9.0] - 2019-04-19

Updated

Added

  • Added "magic underscore" support for specifying nested figure properties
    (#1534)
  • Added select_traces, for_each_trace, and update_traces figure
    methods for accessing and updating traces by subplot location and trace
    properties
    (#1534)
  • Added select_*, for_each_*, and update_* figure methods for
    accessing and updating subplot objects (xaxis, scene, polar, etc)
    (#1548)
  • Added support for Dash Design Kit style color specifications
    (#1541). Thanks to
    @wbrgss for this contribution!
  • Added support for the plotly_unselect plotly.js event in a new
    on_unselect trace method
    (#1542). Thanks to
    @denphi for this contribution!

Changed

  • Changed the default colorscale to be plasma for the plotly, plotly_white, and
    plotly_dark templates for plotly.py version 4
    (#1274,
    #1549)
  • Reordered the default colorway for the plotly, plotly_white, and
    plotly_dark templates for plotly.py version 4
    (#1549)

Fixed

  • Fixed package listing in setup.py
    (#1543). Thanks to
    @jakevdp for this contribution!
  • Fixed built-in templates so that heatmap colorscales can be overridden
    without specifying autocolorscale=False
    (#1454,
    #1549)
  • Fix UnboundLocalError error in the presence of a missing or corrupt
    ~/.plotly/.config file
    (#1551)
  • Fixed error when combining sankey traces with cartesian subplots
    (#1527,
    plotly/plotly.js#3802)

v3.8.1

19 Apr 14:00
8bcf6c8
Compare
Choose a tag to compare

[3.8.1] - 2019-04-19

Updated

Fixed

Changed

  • Reverted change to layout.legend.itemsizing = 'constant' in built-in templates
    that was made in 3.8.0. This resulted in unexpectedly large legend entries in
    some common cases (#1526)

v3.8.0

15 Apr 12:45
f4ed82a
Compare
Choose a tag to compare

[3.8.0] - 2019-04-15

Updated

Added

Fixed

  • Fix race condition when checking the permissions of the .plotly settings directory (#1498). Special thanks to @pb-cdunn for this contribution!
  • Fix OSError when processing time series data using Python 3.7+ (#1402, #1501)

Updated

  • Align hoverlabels left and set legend items to constant-size in builtin themes (#1520)

v3.7.1

25 Mar 10:29
3471c3d
Compare
Choose a tag to compare

[3.7.1] - 2019-03-19

Fixed

  • Fixed .update on numbered axis objects for Python < 3.6 (#1462, #1464)

v3.7.0

08 Mar 15:01
Compare
Choose a tag to compare

[3.7.0] - 2019-03-08

Updated

Added

  • Added new auto_play argument to offline plot and iplot to control
    whether figures with frames are automatically animated when the figure is
    loaded
    (#1447)
  • Added support for uploading "offline" animations (those with inline data
    arrays rather than grid references) to Chart Studio using plotly.plotly.create_animations
    (#1432)

Updated

  • Updated implementation of the ternary_contour figure factory that was
    added in 3.6.0. The new implementation uses the native plotly.js ternary axes
    and provides ILR transform support.
    (#1418)

Fixed

  • Make sure the trace selectedpoints property of FigureWidget traces is
    updated on the Python side in response to plotly.js selection events
    (#1433)
  • Fix validation for 0-dimensional numpy arrays
    (#1444). Special thanks to
    @ankokumoyashi for this contribution!

v3.6.1

09 Feb 00:16
331c85f
Compare
Choose a tag to compare

[3.6.1] - 2019-02-08

Updated

Fixed

  • Crash on import when ipywidgets < 7 installed (#1425)
  • Made scipy an optional import for the ternary contour figure factory (#1423)
  • Eliminated use of deprecated numpy.asscalar function (#1428)

v3.6.0

01 Feb 23:02
256e2f4
Compare
Choose a tag to compare

[3.6.0] - 2019-02-01

Updated

  • Updated Plotly.js to version 1.44.1. Select highlights included below.
    See the plotly.js CHANGELOG for more information.

Added

  • Add isosurface gl3d trace type (plotly/plotly.js#3438)
  • Preview of ternary contour figure factory (#1413). Special thanks to @emmanuelle for this contribution!
  • Add support for line.color colorbars for scatter3d traces (#1085, plotly/plotly.js#3384)
  • Add support for hovertemplate on scatterpolar, scatterpolargl, scatterternary, barpolar, choropleth, scattergeo, and scattermapbox trace (plotly/plotly.js#3398, plotly/plotly.js#3436)
  • Add width attribute to box and violin traces (plotly/plotly.js#3234)
  • Add support for <sup>, <sup>, <b>, <i> and <em> pseudo-html tags in extra (aka trace "name") hover labels (plotly/plotly.js#3443)
  • Add 4 additional colors to the colorway cycle of the plotly themes (#1408)
  • Automatically coerce array-like objects (e.g. xarray DataArrays) to numpy arrays (#1393). Special thanks to @malmaud for this contribution!

Fixed

  • Fix annotated heatmap text color when values are specified as a nested list (#1300)
  • Fix update method with legacy title* properties (#1403)
  • Fix deprecation warnings on Python 3.7 and ipywidgets > 7.0 (#1417). Special thanks to @Juanlu001 for this contribution!