Skip to content

Releases: plotly/plotly.py

v3.4.2

23 Nov 16:26
618ee2d
Compare
Choose a tag to compare

[3.4.2] - 2018-11-23

Fixed

  • config options are now supported when using plotly.offline.iplot to
    display a figure in JupyterLab. Requires version 0.18.1 of the
    @jupyterlab/plotly-extension extension.
    (#1281, jupyterlab/jupyter-renderers#168)
  • Custom plotly_domain values are now supported in FigureWidget in both
    the classic notebook and JupyterLab (#1284)

v3.4.1

09 Nov 13:32
a8ae062
Compare
Choose a tag to compare

[3.4.1] - 2018-11-09

Updated

Fixed

  • Fixed histogram binning with pandas Series or numpy array
    (regression introduced in 3.4.0)
    (#1257,
    plotly/plotly.js#3211)
  • Fixed incorrect validation error on the args property of
    layout.updatemenu.Button() when value is a list that starts with a list
    (#1265)
  • Fixed deadlock causing plotly.io.write_image to hang on Windows after
    exporting more than ~25 images
    (#1255)
  • Fixed plot display error for scattergl trace with mode='lines' and
    more than 100k points
    (#1271)
  • Fixed responsive resizing error with iplot in the classic notebook
    (#1263)

v3.4.0

02 Nov 15:49
be25c50
Compare
Choose a tag to compare

[3.4.0] - 2018-11-02

Updated

  • Updated Plotly.js to version 1.42.2. Select highlights included below, see
    the plotly.js CHANGELOG for more information.

Added

  • Default figure properties may now be customized using figure
    templates (themes) and 7 new predefined templates are bundled with
    plotly.py
    (#1224)
  • Added Parallel Categories (parcats) trace type for the visualization
    of multi-dimensional categorical datasets
    (plotly/plotly.js#2963)
  • Added LaTeX typesetting support for figures displayed in the Jupyter
    Notebook using plotly.offline.iplot and plotly.graph_objs.FigureWidget.
    Note: There are still outstanding issues with MathJax rendering in FireFox,
    but it is now working well in Chrome.
    (#1243)
  • Added include_mathjax argument to plotly.offline.plot to support
    the creation of HTML files with LaTeX typesetting
    (#1243)
  • Added new plotly.offline.get_plotlyjs function that returns the
    contents of the bundled plotly.js library as a string
    (#637,
    #1246)
  • Added new plotly.offline.get_plotlyjs_version function that returns
    the version of the bundled plotly.js library
    (#1246)
  • HTML div strings returned by plotly.offline.plot now contain logic
    to automatically resize the figure responsively. This logic was previously
    only added for html files.
    (#1043,
    #1234)
  • Figures displayed using plotly.offline.iplot in the classic Jupyter
    Notebook will now resize responsively
    (#1234)
  • Added 'cdn', 'directory', and path string include_plotlyjs options
    in plotly.offline.plot
    (#1234)
    • When 'cdn', the resulting html file/div includes a script tag reference
      to the plotlyjs cdn.
    • When 'directory', the resulting html file/div includes a script tag
      reference to a plotly.min.js bundle in the same directory as the html file.
      If output_type is 'file' then this plotly.min.js bundle is created in
      the output directory if it doesn't already exist.
    • When a string ending with '.js', the resulting html file/div includes
      a script tag that references this exact path. This can be used to point
      to a plotly.js bundle from an alternative CDN.
  • Added a new color_threshold argument to the create_dendrogram figure
    factory to control the dendrogram clustering cutoff
    (#995,
    #1075,
    #1214)
  • Added support for autorange='reversed' in 3D axes
    (#803,
    plotly/plotly.js#3141)
  • Added new gl3d tick and title auto-rotation algorithm that limits text
    overlaps
    (plotly/plotly.js#3084,
    plotly/plotly.js#3131)
  • Added modebar layout style attributes:
    orientation, bgcolor, color and activecolor
    (plotly/plotly.js#3068,
    plotly/plotly.js#3091)
  • Added title, titleposition and titlefont attributes to pie traces
    (plotly/plotly.js#2987)
  • Added hoverlabel.split attribute to ohlc and candlestick traces to
    split hover labels into multiple pieces
    (plotly/plotly.js#2959)
  • Added support for line.shape values 'hv', 'vh', 'hvh'
    and 'vhv' in scattergl traces
    (plotly/plotly.js#3087)
  • Added trace, node and link hoverinfo for sankey traces
    (#3096,
    #3150)
  • Added per-sector textfont settings in pie traces
    (#3130)

Changed

Fixed

  • Plotly's use of MathJax for LaTeX typesetting no longer interferes with
    the Jupyter Notebook's use of MathJax
    (#445,
    #360)
  • Fixed several issues with the use of reversescale=True in the
    create_annotated_heatmap figure factory
    (#1251)
  • Fixed case where plotly.offline.iplot would fail to render in the classic
    Jupyter Notebook if the notebook contained a Markdown headline with the text
    "Plotly"
    (#816)
  • None values in a scatter.hovertext list are now omitted from the
    hover label rather than being displayed as the string "None"
    (#1244)
  • Subplot titles created by plotly.tools.make_subplots are now positioned
    properly when custom row_width/column_width arguments are specified
    (#1229)
  • The bar.width property may now be specified as a numpy array or a pandas
    series
    (#1231,
    plotly/plotly.js#3169)
  • Error bars are now scaled correctly for logarithmic scatter3d traces
    (#1139)
  • Use uuid.uuid4 rather than uuid.uuid1 to work around an upstream
    Python bug
    (#1235,
    #1236)
  • The layout.grid.subplots property may now be specified as a 2D list of
    subplot identifiers
    (#1220,
    #1240)
  • Fixed scatter3d text alignment
    (#1055,
    plotly/plotly.js#3180)

JupyterLab Versions

For use with JupyterLab, the following versions of the following packages
must be installed:

  • Python Packages

    • plotly==3.4.0
    • ipywidgets>=7.2
    • notebook>=5.3
    • jupyterlab==0.35
  • JupyterLab Extensions

    • plotlywidget@0.5.0
    • @jupyter-widgets/jupyterlab-manager@0.38
    • @jupyterlab/plotly-extension@0.18

v3.3.0

28 Sep 11:33
2e5bf6e
Compare
Choose a tag to compare

[3.3.0] - 2018-09-28

Updated

  • Updated Plotly.js to version 1.41.3. Select highlights included below, see
    the plotly.js CHANGELOG
    for more information.
  • Do not create or check permissions on the ~/.plotly configuration directory until a configuration write operation is performed (#1195). This change avoids some concurrency problems associated with running many instances of
    plotly.py simultaneously (#1068).

Added

  • Enable selection by clicking on points via new layout attribute clickmode and flag 'select'
    (#2944)
  • Added stacked area charts via new attributes stackgroup and stackgaps in scatter traces
    (#2960)
  • Added barpolar trace type - which replace and augment area traces
    (#2954)
  • Added polar.hole layout parameter to punch hole at the middle of polar
    subplot offsetting the start of the radial range
    (#2977, #2996)
  • Figures may now be easily converted to and from JSON using the new
    to_json, from_json, read_json, and write_json functions in the
    plotly.io package
    (#1188)
  • Figures and graph objects now support deepcopy and pickle operations
    (#1191)
  • The location of the "~/.plotly" settings directory may now be customized
    using the PLOTLY_DIR environment variable
    (#1195)
  • Added optional scaleratio argument to the create_quiver figure factory.
    When specified, the axes are restricted to this ratio and the quiver arrows
    are computed to have consistent lengths across angles.
    (#1197)

Fixed

  • Replace use of pkg_resources.resource_string with pkgutil.get_data to
    improve compatibility with cx_Freeze
    (#1201)
  • An exception is no longer raised when an optional dependency raises an
    exception on import. The exception is logged and plotly.py continues as if
    the dependency were not installed
    (#1192)
  • Fixed invalid dendrogram axis labels when the points being clustered contain
    duplicate values
    (#1186)
  • Added missing LICENSE.txt file to PyPI source distribution
    (#765)

JupyterLab Versions

For use with JupyterLab, the following versions of the following packages
must be installed:

  • Python Packages

    • plotly==3.3.0
    • ipywidgets>=7.2
    • notebook>=5.3
    • jupyterlab==0.34
  • JupyterLab Extensions

    • plotlywidget@0.4.0
    • @jupyter-widgets/jupyterlab-manager@0.37
    • @jupyterlab/plotly-extension@0.17

v3.2.1

14 Sep 14:19
Compare
Choose a tag to compare

[3.2.1] - 2018-09-14

This is a patch release that fixes a few bugs and reintroduces a few
version 2 features that were not supported in version 3.

The bundled version of plotly.js remains at 1.40.1

JupyterLab Versions

For use with JupyterLab, the following versions of the following packages
must be installed:

  • Python Packages

    • plotly==3.2.1
    • ipywidgets>=7.2
    • notebook>=5.3
    • jupyterlab==0.34
  • JupyterLab Extensions

    • plotlywidget@0.3.0
    • @jupyter-widgets/jupyterlab-manager@0.37
    • @jupyterlab/plotly-extension@0.17

Added

  • An optional skip_invalid argument has been added to the Figure and
    FigureWidget constructors. By default, skip_invalid is False and invalid
    figure properties will result in an exception (this is identical to the
    previous behavior). When skip_invalid is set to True, invalid properties
    will instead be silently ignored. This argument replaces the _raise
    argument that was available in version 2, and makes it possible to import
    figure definitions from different plotly versions, where incompatible
    properties are ignored rather than causing an exception.
  • A to_ordered_dict method has been added to the Figure and FigureWidget
    classes. This method returns a representation of the figure as a nested
    structure of OrdererdDict and list instances where the keys in each
    OrderedDict are sorted alphabetically. This method replaces the
    get_ordered method that was available in version 2, and makes it possible
    to traverse the nested structure of a figure in a deterministic order.

Fixed

v3.2.0

05 Sep 14:15
5814699
Compare
Choose a tag to compare

[3.2.0] - 2018-09-05

This release introduces the long-anticipated ability to programmatically
export figures as high quality static images in both raster and vector
formats.

JupyterLab Versions

For use with JupyterLab, the following versions of the following packages
must be installed:

  • Python Packages

    • plotly==3.2.0
    • ipywidgets>=7.2
    • notebook>=5.3
    • jupyterlab==0.34
  • JupyterLab Extensions

    • plotlywidget@0.3.0
    • @jupyter-widgets/jupyterlab-manager@0.37
    • @jupyterlab/plotly-extension@0.17

Added

  • plotly.js version 1.40.1, which introduces the following features:
  • Support for offline static image export with the to_image and write_image
    functions in the new plotly.io package (#1120).
    • Note: Image export requires the plotly orca
      command line utility and the psutil Python package.
  • New documentation sections covering Static Image Export
    and Orca Management
  • Support for displaying FigureWidget instances in static contexts
    (e.g. nbviewer) just like the built-in ipywidgets
    (#1117)
  • Full integration of the Cividis colorscale (#883)
  • conda packaging
    • From here forward, new versions of plotly.py will be published to the plotly anaconda channel
      on the same day they are published to PyPI.
      (72ad0e4)
    • The README now includes conda installation instructions alongside the pip instructions.
    • In addition to the existing installation approaches, orca is now also available as a
      conda package from the plotly anaconda channel.

Updated

  • Show traces at the top of the Gantt chart's colorbar (#1110)
  • Significantly improved validation performance for numeric pandas Series objects (#1149)
  • Specialize auto-generated docstrings for Python syntax
  • More robust and specific logic for retrying requests to the plot.ly cloud service (#1146)
  • Support basic authentication when using the streaming API behind a proxy server (#1133)

Fixed

  • Validators for dash properties (e.g. scatter.line.dash) incorrectly rejected dash length lists (#1136)
  • Annotated heatmap error when custom colorscale was specified (#1151)
  • Incorrect deprecation warning for deprecated plotly.graph_objs.Annotations class (#1138)
  • Harmless JavaScript console error when opening an html file produced by plotly.offline.plot (#1152)
  • Incorrect validation errors when writing data to the streaming API (#1145)

v3.1.1

05 Sep 12:54
8e87a8c
Compare
Choose a tag to compare

[3.1.1] - 2018-08-10

This release is a minor bug-fix update to version 3.1.0

JupyterLab Versions

For use with JupyterLab, the following versions of the following packages
must be installed:

  • Python Packages

    • plotly==3.1.1
    • ipywidgets>=7.2
    • notebook>=5.3
    • jupyterlab==0.33
  • JupyterLab Extensions

    • plotlywidget@0.2.1
    • @jupyter-widgets/jupyterlab-manager@0.36
    • @jupyterlab/plotly-extension@0.16

Updated

  • Updated plotly.js to version 1.39.4.

Fixed

v3.1.0

05 Sep 12:52
Compare
Choose a tag to compare

[3.1.0] - 2018-07-20

JupyterLab Versions

For use with JupyterLab, the following versions of the following packages
must be installed. See README.md for instructions.

  • Python Packages

    • plotly==3.1.0
    • ipywidgets>=7.2
    • notebook>=5.3
    • jupyterlab==0.32.1
  • JupyterLab Extensions

    • plotlywidget@0.2.0
    • @jupyter-widgets/jupyterlab-manager@0.35
    • @jupyterlab/plotly-extension@0.16

Updated

Added

  • Added 3D streamtube traces
    plotly/plotly.js#2658
  • Added support for on-graph text in scattergl traces
  • Added gridshape attribute to polar subplots with values 'circular' (the default) and 'linear' (to draw polygon grids)
    plotly/plotly.js#2739

v3.0.2

05 Sep 12:43
6b3a013
Compare
Choose a tag to compare

[3.0.2] - 2018-07-17

This is a minor bug-fix release to 3.0.0

JupyterLab plotlywidget version: 0.1.1

Plotly.js version: 1.38.3

Fixed

  • Several errors related to numbered subplot labels (e.g. xaxis2, polar3, etc.)
    GH1057
  • Error where the v property was ignored in cone traces
    GH1060
  • Assorted performance improvements when constructing graph objects
    GH1061

v3.0.0

05 Sep 12:51
Compare
Choose a tag to compare

[3.0.0] - 2018-07-05

This is a major version with many exciting updates. See the Introducing plotly.py 3.0.0 post for more information.

JupyterLab plotlywidget version: 0.1.1

Plotly.js version: 1.38.3

Added

  • Full Jupyter ipywidgets integration with the new graph_objs.FigureWidget class
  • FigureWidget figures can be updated interactively using property assignment syntax
  • The full trace and layout API is generated from the plotly schema to provide a great experience for interactive use in the notebook
  • Support for setting array properties as numpy arrays. When numpy arrays are used, ipywidgets binary serialization protocol is used to avoid converting these to JSON strings.
  • Context manager API for animation. Run help(go.Figure().batch_animate) for the full doc string.
  • Perform automatic retries when communicating with plot.ly services. This introduces a new required dependency on the retrying library.
  • Improved data validation covering the full API with clear, informative error messages. This means that incorrect properties and/or values now always raise a ValueError with a description of the error, the invalid property, and the available properties on the level that it was placed in the graph object. Eg. go.Scatter(foo=123) raises a validation error. See https://plot.ly/python/reference/ for a reference to all valid properties and values in the Python API.
  • Error message for plotly.figure_factory.create_choropleth is now helpful to Anaconda users who do not have the correct modules installed for the County Choropleth figure factory.

Changed / Deprecated

Please see the migration guid for a full list of the changes and deprecations in version 3.0.0