Skip to content

Commit 010e298

Browse files
authored
Merge pull request #5609 from plotly/release-6.8.0
Version changes for v6.8.0
2 parents 7f2eb35 + ea4eca8 commit 010e298

15 files changed

Lines changed: 91 additions & 16 deletions

CHANGELOG.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,26 @@ This project adheres to [Semantic Versioning](http://semver.org/).
44

55
## Unreleased
66

7+
8+
## [6.8.0] - 2026-06-03
9+
710
### Added
8-
- Add optional `font` parameter for `make_subplots` [[#5393](https://github.com/plotly/plotly.py/pull/5393)]
11+
- Add optional `font` parameter for `make_subplots` [[#5393](https://github.com/plotly/plotly.py/pull/5393)], with thanks to @Zomtir for the contribution!
912

1013
### Fixed
1114
- Fix issue where user-specified `color_continuous_scale` was ignored when template had `autocolorscale=True` [[#5439](https://github.com/plotly/plotly.py/pull/5439)], with thanks to @antonymilne for the contribution!
1215
- Use presence of `COLAB_NOTEBOOK_ID` env var to enable Colab renderer instead of testing import of `google.colab` [[#5473](https://github.com/plotly/plotly.py/pull/5473)], with thanks to @kevineger for the contribution!
16+
- Fix incorrect annotation placement for `add_vline`, `add_hline`, `add_vrect`, and `add_hrect` on datetime axes [[#5508](https://github.com/plotly/plotly.py/pull/5508)], with thanks to @mosh3eb for the contribution!
1317
- Update tests to be compatible with numpy 2.4 [[#5522](https://github.com/plotly/plotly.py/pull/5522)], with thanks to @thunze for the contribution!
14-
- Add default headers to be passed in to Kaleido v1.3.0 to avoid blocked Open Street Map tiles [#5588](https://github.com/plotly/plotly.py/pull/5588)]
18+
- Fix issue where `js/` directory was unintentionally installed as a top-level Python package when installing `plotly` [[#5587](https://github.com/plotly/plotly.py/pull/5587)]
19+
- Add default headers to be passed in to Kaleido v1.3.0 to avoid blocked Open Street Map tiles [[#5588](https://github.com/plotly/plotly.py/pull/5588)]
1520
- Propagate the requested `default_height`/`default_width` to the outer wrapper div produced by `to_html` so that responsive (percentage) dimensions inherit from a sized parent container instead of collapsing to the plotly.js 450px fallback [[#5591](https://github.com/plotly/plotly.py/issues/5591)], with thanks to @SharadhNaidu for the contribution!
1621

1722
### Updated
1823
- The `__eq__` method for `graph_objects` classes now returns `NotImplemented` to give the other operand an opportunity to handle the comparison [[#5547](https://github.com/plotly/plotly.py/pull/5547)], with thanks to @RazerM for the contribution!
24+
- Update plotly.js from version 3.5.0 to version 3.6.0. See the plotly.js [release notes](https://github.com/plotly/plotly.js/releases/tag/v3.6.0) for more information [[#5608](https://github.com/plotly/plotly.py/pull/5608)]. Notable changes include:
25+
- Add support for arrays for the pie property `legendrank`, so that it can be configured per slice [[#7723](https://github.com/plotly/plotly.js/pull/7723)]
26+
- Add `hoversort` layout attribute to sort unified hover label items by value [[#7734](https://github.com/plotly/plotly.js/pull/7734)]
1927

2028
## [6.7.0] - 2026-04-09
2129

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ authors:
99
- family-names: "Parmer"
1010
given-names: "Chris"
1111
title: "An interactive, open-source, and browser-based graphing library for Python"
12-
version: 6.7.0
12+
version: 6.8.0
1313
doi: 10.5281/zenodo.14503524
14-
date-released: 2026-04-09
14+
date-released: 2026-06-03
1515
url: "https://github.com/plotly/plotly.py"

doc/python/hover-text-and-formatting.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,24 @@ fig.update_layout(hovermode="x unified")
8383
fig.show()
8484
```
8585

86+
#### Sorting Unified Hover Labels by Value
87+
88+
*New in 6.8*
89+
90+
In `'x unified'` and `'y unified'` hover modes, items in the hover label appear in the order their traces were added to the figure (the default, `hoversort="trace"`). Set `layout.hoversort` to `"value descending"` or `"value ascending"` to instead sort the items by the value being shown, which makes it easier to compare traces at a glance.
91+
92+
```python
93+
import plotly.express as px
94+
95+
df = px.data.stocks()
96+
97+
fig = px.line(df, x="date", y=df.columns[1:], title="layout.hoversort='value descending'")
98+
fig.update_traces(hovertemplate=None)
99+
fig.update_layout(hovermode="x unified", hoversort="value descending")
100+
101+
fig.show()
102+
```
103+
86104
#### Customize Title in Unified Hover Mode
87105

88106
*New in 6.3*
@@ -221,7 +239,13 @@ fig.update_layout(
221239
fig.show()
222240
```
223241

224-
### Customizing Hover text with Plotly Express
242+
### Emitting Hover and Click Events Anywhere in the Plot Area
243+
244+
*New in 6.7*
245+
246+
By default, hover and click events are only emitted when the cursor is over a trace. Set `hoveranywhere` or `clickanywhere` to `True` to emit these events anywhere inside the plot area, including over empty space: `fig.update_layout(hoveranywhere=True, clickanywhere=True)`. The events carry the cursor's data coordinates, which is useful when building interactive callbacks (for example, in [Dash](https://dash.plotly.com/)) that need to respond to clicks on locations that don't correspond to a specific data point.
247+
248+
### Customizing Hover Text with Plotly Express
225249

226250
Plotly Express functions automatically add all the data being plotted (x, y, color etc) to the hover label. Many Plotly Express functions also support configurable hover text. The `hover_data` argument accepts a list of column names to be added to the hover tooltip, or a dictionary for advanced formatting (see the next section). The `hover_name` property controls which column is displayed in bold as the tooltip title.
227251

doc/python/legend.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,25 @@ fig.add_shape(
154154
fig.show()
155155
```
156156

157+
##### Per-Slice `legendrank` for Pie Traces
158+
159+
*New in 6.8*
160+
161+
For `pie` traces, `legendrank` also accepts an array so that each slice can be ranked individually. In the example below, the slices appear in the legend in the order specified by `legendrank` (lowest rank first), independent of the order of `values`.
162+
163+
```python
164+
import plotly.graph_objects as go
165+
166+
fig = go.Figure(
167+
go.Pie(
168+
labels=["Oxygen", "Hydrogen", "Carbon", "Nitrogen", "Other"],
169+
values=[4500, 2500, 1053, 500, 600],
170+
legendrank=[3, 1, 2, 5, 4],
171+
)
172+
)
173+
fig.show()
174+
```
175+
157176
#### Showing and Hiding the Legend
158177

159178
By default the legend is displayed on Plotly charts with multiple traces, and this can be explicitly set with the `layout.showlegend` attribute.

doc/python/static-image-export.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,8 @@ The following settings are available.
277277

278278
`topojson`: Location of the topojson files needed to render choropleth traces. Defaults to a CDN location. If fully offline export is required, set this to a local directory containing the Plotly.js topojson files.
279279

280+
`headers`: *New in 6.8.* A dict of HTTP headers Kaleido sends when fetching external resources during image export (for example, when fetching OpenStreetMap tiles for tile maps). Defaults to `{"X-Requested-With": "plotly.py"}`, which is required to comply with the [OpenStreetMap tile usage policy](https://operations.osmfoundation.org/policies/tiles/). Requires Kaleido v1.3.0 or later.
281+
280282
`mapbox_access_token`: The default Mapbox access token (Kaleido v0 only). Mapbox traces are deprecated. See the [MapLibre Migration](https://plotly.com/python/mapbox-to-maplibre/) page for more details.
281283

282284
### Set Defaults

doc/python/subplots.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,28 @@ fig.update_layout(height=500, width=700,
156156
fig.show()
157157
```
158158

159+
#### Customizing the Subplot Title Font
160+
161+
*New in 6.8*
162+
163+
Use the `font` argument of `make_subplots` to customize the font used for `subplot_titles`, `column_titles`, `row_titles`, `x_title`, and `y_title`. The argument accepts a dict with any of the standard [font attributes](https://plotly.com/python/reference/layout/annotations/#layout-annotations-items-annotation-font) (`family`, `size`, `color`, `weight`, etc.).
164+
165+
```python
166+
from plotly.subplots import make_subplots
167+
import plotly.graph_objects as go
168+
169+
fig = make_subplots(
170+
rows=1, cols=2,
171+
subplot_titles=("Plot 1", "Plot 2"),
172+
font=dict(family="Courier New, monospace", size=20, color="RebeccaPurple"),
173+
)
174+
175+
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[4, 5, 6]), row=1, col=1)
176+
fig.add_trace(go.Scatter(x=[20, 30, 40], y=[50, 60, 70]), row=1, col=2)
177+
178+
fig.show()
179+
```
180+
159181
#### Subplots with Annotations
160182

161183
```python

js/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "jupyterlab-plotly",
33
"main": "lib/mimeExtension.js",
4-
"version": "6.7.0",
4+
"version": "6.8.0",
55
"repository": {
66
"type": "git",
77
"url": "https://github.com/plotly/plotly.py"

plotly/labextension/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "jupyterlab-plotly",
33
"main": "lib/mimeExtension.js",
4-
"version": "6.7.0",
4+
"version": "6.8.0",
55
"repository": {
66
"type": "git",
77
"url": "https://github.com/plotly/plotly.py"
@@ -19,7 +19,7 @@
1919
},
2020
"dependencies": {
2121
"lodash-es": "^4.17.21",
22-
"plotly.js": "3.5.0",
22+
"plotly.js": "3.6.0",
2323
"@lumino/widgets": "~2.4.0"
2424
},
2525
"devDependencies": {
@@ -33,7 +33,7 @@
3333
"outputDir": "../plotly/labextension",
3434
"webpackConfig": "./webpack.config.js",
3535
"_build": {
36-
"load": "static/remoteEntry.b2077f01f9b03ba2c63d.js",
36+
"load": "static/remoteEntry.2a6392a40c19ad8383a0.js",
3737
"mimeExtension": "./mimeExtension"
3838
}
3939
}

plotly/labextension/static/1.747c8e0c8042a68fba0a.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)