Releases: plotly/plotly.py
v3.6.0
[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.colorcolorbars for scatter3d traces (#1085, plotly/plotly.js#3384) - Add support for
hovertemplateonscatterpolar,scatterpolargl,scatterternary,barpolar,choropleth,scattergeo, andscattermapboxtrace (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
updatemethod with legacytitle*properties (#1403) - Fix deprecation warnings on Python 3.7 and ipywidgets > 7.0 (#1417). Special thanks to @Juanlu001 for this contribution!
v3.5.0
[3.5.0] - 2019-01-04
Updated
- Updated Plotly.js to version 1.43.1. See the
plotly.js CHANGELOG
for more information.
Changed
- Plotly.js 1.43 converted
titleproperties (e.g.layout.title) from
strings into compound objects that contain the text as thetextproperty
along with new title placement attributesx,y,xref,yref,xanchor,
yanchorandpad. Plotly.py 3.5.0 follows the new schema, but still
supports specifyingtitleas a string, in which case the string is assigned
to thetitle.textproperty
(#1302) - Plotly.js 1.43 also moved existing
title*properties
(e.g.layout.titlefont) under thetitleobject (e.g.layout.title.font).
Plotly.py 3.5.0 follows the new schema, but still
supports the legacytitle*properties by mapping them to the corresponding
title.*property
(#1302) - The
updatemethod ongraph_objsnow returns the updated object in order
to support chaining multiple update operations together
(#1379) - The
show_linkoption has been set toFalseby default in the offline
plotandiplotfunctions. Now that the "send data to cloud" button has
been disabled by default in plotly.js 1.43.0, no buttons/links will be
displayed by default that result in data being sent off of the local machine
(#1304) configoptions that are not known by plotly.py result in a warning but are
still passed along to plotly.js. Prior to this change these unknown options
were dropped silently
(#1290)- Built-in themes now specify colorscales using the new global
layout.colorscaleproperties. Previously the colorscales were defined for
each trace type individually. This reduces the size of the resulting theme
files
(#1303) - Increased the maximum retry time of the orca integration from 8s to 30s
(#1297)
Fixed
- Fixed
FigureWidgetperformance regression that, when working with
large datasets, resulted in a slight freeze of the widget after user
interactions (pan, zoom, etc)
(1305) - Fix orca error when the
ELECTRON_RUN_AS_NODEenvironment variable is set
(#1293) - The
'responsive'config key was being silently blocked
(#1290) - Fixed error when using unicode characters in string properties on Python 2
(#1289) - Removed invalid calls to non-existent
validateandstrip_styleFigure
methods in matplotlylib conversion logic
(#1128)
v3.4.2
[3.4.2] - 2018-11-23
Fixed
configoptions are now supported when usingplotly.offline.iplotto
display a figure in JupyterLab. Requires version 0.18.1 of the
@jupyterlab/plotly-extensionextension.
(#1281, jupyterlab/jupyter-renderers#168)- Custom
plotly_domainvalues are now supported in FigureWidget in both
the classic notebook and JupyterLab (#1284)
v3.4.1
[3.4.1] - 2018-11-09
Updated
- Updated Plotly.js to version 1.42.5. See the
plotly.js CHANGELOG
for more information.
Fixed
- Fixed histogram binning with pandas
Seriesor numpy array
(regression introduced in 3.4.0)
(#1257,
plotly/plotly.js#3211) - Fixed incorrect validation error on the
argsproperty of
layout.updatemenu.Button()when value is alistthat starts with alist
(#1265) - Fixed deadlock causing
plotly.io.write_imageto hang on Windows after
exporting more than ~25 images
(#1255) - Fixed plot display error for
scattergltrace withmode='lines'and
more than 100k points
(#1271) - Fixed responsive resizing error with
iplotin the classic notebook
(#1263)
v3.4.0
[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 usingplotly.offline.iplotandplotly.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_mathjaxargument toplotly.offline.plotto support
the creation of HTML files with LaTeX typesetting
(#1243) - Added new
plotly.offline.get_plotlyjsfunction that returns the
contents of the bundled plotly.js library as a string
(#637,
#1246) - Added new
plotly.offline.get_plotlyjs_versionfunction that returns
the version of the bundled plotly.js library
(#1246) - HTML div strings returned by
plotly.offline.plotnow contain logic
to automatically resize the figure responsively. This logic was previously
only added for html files.
(#1043,
#1234) - Figures displayed using
plotly.offline.iplotin the classic Jupyter
Notebook will now resize responsively
(#1234) - Added
'cdn','directory', and path stringinclude_plotlyjsoptions
inplotly.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.
Ifoutput_typeis'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.
- When
- Added a new
color_thresholdargument to thecreate_dendrogramfigure
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
modebarlayout style attributes:
orientation,bgcolor,colorandactivecolor
(plotly/plotly.js#3068,
plotly/plotly.js#3091) - Added
title,titlepositionandtitlefontattributes to pie traces
(plotly/plotly.js#2987) - Added
hoverlabel.splitattribute toohlcandcandlesticktraces to
split hover labels into multiple pieces
(plotly/plotly.js#2959) - Added support for
line.shapevalues'hv','vh','hvh'
and'vhv'inscattergltraces
(plotly/plotly.js#3087) - Added trace, node and link
hoverinfoforsankeytraces
(#3096,
#3150) - Added per-sector
textfontsettings in pie traces
(#3130)
Changed
- Use new Plotly logo in "Produced with Plotly" modebar button
(plotly/plotly.js#3068)
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=Truein the
create_annotated_heatmapfigure factory
(#1251) - Fixed case where
plotly.offline.iplotwould fail to render in the classic
Jupyter Notebook if the notebook contained a Markdown headline with the text
"Plotly"
(#816) Nonevalues in ascatter.hovertextlist are now omitted from the
hover label rather than being displayed as the string"None"
(#1244)- Subplot titles created by
plotly.tools.make_subplotsare now positioned
properly when customrow_width/column_widtharguments are specified
(#1229) - The
bar.widthproperty 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
scatter3dtraces
(#1139) - Use
uuid.uuid4rather thanuuid.uuid1to work around an upstream
Python bug
(#1235,
#1236) - The
layout.grid.subplotsproperty may now be specified as a 2D list of
subplot identifiers
(#1220,
#1240) - Fixed
scatter3dtext 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
[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
~/.plotlyconfiguration 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
clickmodeand flag'select'
(#2944) - Added stacked area charts via new attributes
stackgroupandstackgapsin scatter traces
(#2960) - Added
barpolartrace type - which replace and augment area traces
(#2954) - Added
polar.holelayout 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, andwrite_jsonfunctions in the
plotly.iopackage
(#1188) - Figures and graph objects now support
deepcopyandpickleoperations
(#1191) - The location of the
"~/.plotly"settings directory may now be customized
using thePLOTLY_DIRenvironment variable
(#1195) - Added optional
scaleratioargument to thecreate_quiverfigure 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_stringwithpkgutil.get_datato
improve compatibility withcx_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
[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_invalidargument has been added to theFigureand
FigureWidgetconstructors. By default,skip_invalidisFalseand invalid
figure properties will result in an exception (this is identical to the
previous behavior). Whenskip_invalidis set toTrue, 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_dictmethod has been added to theFigureandFigureWidget
classes. This method returns a representation of the figure as a nested
structure ofOrdererdDictandlistinstances where the keys in each
OrderedDictare sorted alphabetically. This method replaces the
get_orderedmethod that was available in version 2, and makes it possible
to traverse the nested structure of a figure in a deterministic order.
Fixed
- Pandas
SeriesandIndexobjects storingdatetimevalues were
incorrectly cast to numeric arrays
(plotly/plotly.py#1160,
plotly/plotly.py#1163) - Numpy arrays with
uint64datatype caused aFigureWidgeterror,
and no figure was displayed
(plotly/plotly.py#1155,
plotly/plotly.py#1163)
v3.2.0
[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:
- Allow
contour,contourcarpetandhistogram2dcontourto have corresponding legend items usingshowlegend
(plotly/plotly.js#2891,
plotly/plotly.js#2914) - Add scatterpolar and scatterpolargl attributes
r0,dr,theta0anddtheta
(plotly/plotly.js#2895) - Add layout attributes
piecolorwayandextendpiecolorsfor more control over pie colors
(plotly/plotly.js#2870) - Add
splomattributedimensions[i].axis.typeto easily override axis type in splom-generated axes
(plotly/plotly.js#2899) - Add support for on-graph text in
scatterpolargltraces
(plotly/plotly.js#2895) - See the plotly.js CHANGELOG
for bug fixes and more information.
- Allow
- Support for offline static image export with the
to_imageandwrite_image
functions in the newplotly.iopackage (#1120). - New documentation sections covering Static Image Export
and Orca Management - Support for displaying
FigureWidgetinstances 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
READMEnow 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.
- From here forward, new versions of plotly.py will be published to the plotly anaconda channel
Updated
- Show traces at the top of the Gantt chart's colorbar (#1110)
- Significantly improved validation performance for numeric pandas
Seriesobjects (#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
dashproperties (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.Annotationsclass (#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
[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.
- This is a bug-fix release of plotly.js
- See the plotly.js CHANGELOG for more information
Fixed
- Fixed error in validation of configkeys
plotly/plotly.js#1065 - Fixed error in presentation of named colorscales
plotly/plotly.js#1089 - Fixed numerical precision error when using
plotly.tools.make_subplots
to create figures with a large number of subplots
plotly/plotly.js#1091 - Fixed problem that prevented the use of the
.updatemethod to initialize
an array property (e.g.layout.shapes)
plotly/plotly.js#1091 - Fixed
FigureWidgetproblem causing scroll zoom on 3D plots to stutter
plotly/plotly.js#1094 - Fixed invalid
tickmodeproperty inmatplotlylib
plotly/plotly.js#1101
v3.1.0
[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
- Updated Plotly.js to version 1.39.2
- See highlights below
- See the plotly.js CHANGELOG for more information.
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