From 9fa8326d7725e1835249ed6fec9c441ae9c66083 Mon Sep 17 00:00:00 2001
From: Rob Letzler <22990670+rl-utility-man@users.noreply.github.com>
Date: Sat, 19 Apr 2025 23:21:19 -0400
Subject: [PATCH 01/29] add swarm plot to the scatter documentation
This is inspired by #5087
---
doc/python/line-and-scatter.md | 89 ++++++++++++++++++++++++++++++++++
1 file changed, 89 insertions(+)
diff --git a/doc/python/line-and-scatter.md b/doc/python/line-and-scatter.md
index 9ddaad8aac7..ea3ca6ac4a1 100644
--- a/doc/python/line-and-scatter.md
+++ b/doc/python/line-and-scatter.md
@@ -284,6 +284,95 @@ fig.update_traces(textposition="bottom right")
fig.show()
```
+### Swarm (or Beeswarm) Plots
+
+Swarm plots show the distribution of values in a column by giving each entry one dot and adjusting the y-value so that dots do not overlap and appear symmetrically around the y=0 line. They complement histograms, box plots, and violin plots. This example could be generalized to implement a swarm plot for multiple categories by adjusting the y-coordinate for each category.
+
+```python
+import pandas as pd
+import plotly.express as px
+import collections
+
+
+def swarm(
+ X_series,
+ point_size=16,
+ fig_width = 800,
+ gap_multiplier=1.2,
+):
+ #sorting will align columns in attractive arcs rather than having columns the vary unpredicatbly in the x-dimension
+ X_series=X_series.copy().sort_values()
+
+
+ # we need to reason in terms of the marker size that is measured in px
+ # so we need to think about each x-coordinate as being a fraction of the way from the
+ # minimum X value to the maximum X value
+ min_x = min(X_series)
+ max_x = max(X_series)
+
+ list_of_rows = []
+ # we will count the number of points in each "bin" / vertical strip of the graph
+ # to be able to assign a y-coordinate that avoids overlapping
+ bin_counter = collections.Counter()
+
+ for x_val in X_series:
+ # assign this x_value to bin number
+ # each bin is a vertical strip wide enough for one marker
+ bin=(((fig_width*(x_val-min_x))/(max_x-min_x)) // point_size)
+
+ #update the count of dots in that strip
+ bin_counter.update([bin])
+
+ # if this is an odd numbered entry in its bin, make its y coordinate negative
+ # the y coordinate of the first entry is 0, so entries 3, 5, and 7 get negative y coordinates
+ if bin_counter[bin]%2 == 1:
+ negative_1_if_count_is_odd = -1
+ else:
+ negative_1_if_count_is_odd = 1
+
+ # the collision free y coordinate gives the items in a vertical bin
+ # coordinates: 0, 1, -1, 2, -2, 3, -3 ... and so on to evenly spread
+ # their locations above and below the y-axis (we'll make a correction below to deal with even numbers of entries)
+ # we then scale this by the point_size*gap_multiplier to get a y coordinate in px
+
+ collision_free_y_coordinate=(bin_counter[bin]//2)*negative_1_if_count_is_odd*point_size*gap_multiplier
+ list_of_rows.append({"x":x_val,"y":collision_free_y_coordinate,"bin":bin})
+
+ # if the number of points is even,
+ # move y-coordinates down to put an equal number of entries above and below the axis
+ for row in list_of_rows:
+ if bin_counter[row["bin"]]%2==0:
+ row["y"]-=point_size*gap_multiplier/2
+
+ df = pd.DataFrame(list_of_rows)
+
+ fig = px.scatter(
+ df,
+ x="x",
+ y="y",
+ hover_data="x",
+ )
+ #we want to suppress the y coordinate in the hover value because the y-coordinate is irrelevant/misleading
+ fig.update_traces(
+ marker_size=point_size,
+ hovertemplate="value: %{x}",
+ )
+ # we have to set the width and height because we aim to avoid icon collisions and we specify the icon size
+ # in the same units as the width and height
+ fig.update_layout(width=fig_width, height=(point_size*max(bin_counter.values())+200))
+ fig.update_yaxes(
+ showticklabels=False, # Turn off y-axis labels
+ ticks='', # Remove the ticks
+ title=""
+ )
+ fig.show()
+
+
+
+df_iris = px.data.iris() # iris is a pandas DataFrame
+swarm(df_iris["sepal_length"])
+```
+
## Scatter and line plots with go.Scatter
If Plotly Express does not provide a good starting point, it is possible to use [the more generic `go.Scatter` class from `plotly.graph_objects`](/python/graph-objects/). Whereas `plotly.express` has two functions `scatter` and `line`, `go.Scatter` can be used both for plotting points (makers) or lines, depending on the value of `mode`. The different options of `go.Scatter` are documented in its [reference page](https://plotly.com/python/reference/scatter/).
From e563804f06e89aa9a62ecf615e68313ce62954c0 Mon Sep 17 00:00:00 2001
From: Rob Letzler <22990670+rl-utility-man@users.noreply.github.com>
Date: Sat, 19 Apr 2025 23:26:05 -0400
Subject: [PATCH 02/29] ending with fig.show()
---
doc/python/line-and-scatter.md | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/doc/python/line-and-scatter.md b/doc/python/line-and-scatter.md
index ea3ca6ac4a1..6a741934aa1 100644
--- a/doc/python/line-and-scatter.md
+++ b/doc/python/line-and-scatter.md
@@ -365,12 +365,14 @@ def swarm(
ticks='', # Remove the ticks
title=""
)
- fig.show()
+ return fig
df_iris = px.data.iris() # iris is a pandas DataFrame
-swarm(df_iris["sepal_length"])
+fig = swarm(df_iris["sepal_length"])
+fig.show()
+
```
## Scatter and line plots with go.Scatter
From 15b758055fbce230628e74120a0847cccc4f26d1 Mon Sep 17 00:00:00 2001
From: Rob Letzler <22990670+rl-utility-man@users.noreply.github.com>
Date: Mon, 21 Apr 2025 00:25:55 -0400
Subject: [PATCH 03/29] collision avoidance
---
doc/python/line-and-scatter.md | 56 ++++++++++++++++++++++++----------
1 file changed, 40 insertions(+), 16 deletions(-)
diff --git a/doc/python/line-and-scatter.md b/doc/python/line-and-scatter.md
index 6a741934aa1..de160d77452 100644
--- a/doc/python/line-and-scatter.md
+++ b/doc/python/line-and-scatter.md
@@ -293,12 +293,23 @@ import pandas as pd
import plotly.express as px
import collections
+def negative_1_if_count_is_odd(count):
+ # if this is an odd numbered entry in its bin, make its y coordinate negative
+ # the y coordinate of the first entry is 0, so entries 3, 5, and 7 get negative y coordinates
+ if count%2 == 1:
+ return -1
+ else:
+ return 1
+
+
+
def swarm(
X_series,
point_size=16,
fig_width = 800,
gap_multiplier=1.2,
+ center_even_groups = False
):
#sorting will align columns in attractive arcs rather than having columns the vary unpredicatbly in the x-dimension
X_series=X_series.copy().sort_values()
@@ -309,7 +320,7 @@ def swarm(
# minimum X value to the maximum X value
min_x = min(X_series)
max_x = max(X_series)
-
+
list_of_rows = []
# we will count the number of points in each "bin" / vertical strip of the graph
# to be able to assign a y-coordinate that avoids overlapping
@@ -319,33 +330,43 @@ def swarm(
# assign this x_value to bin number
# each bin is a vertical strip wide enough for one marker
bin=(((fig_width*(x_val-min_x))/(max_x-min_x)) // point_size)
-
+
#update the count of dots in that strip
bin_counter.update([bin])
-
- # if this is an odd numbered entry in its bin, make its y coordinate negative
- # the y coordinate of the first entry is 0, so entries 3, 5, and 7 get negative y coordinates
- if bin_counter[bin]%2 == 1:
- negative_1_if_count_is_odd = -1
- else:
- negative_1_if_count_is_odd = 1
+
# the collision free y coordinate gives the items in a vertical bin
# coordinates: 0, 1, -1, 2, -2, 3, -3 ... and so on to evenly spread
# their locations above and below the y-axis (we'll make a correction below to deal with even numbers of entries)
# we then scale this by the point_size*gap_multiplier to get a y coordinate in px
- collision_free_y_coordinate=(bin_counter[bin]//2)*negative_1_if_count_is_odd*point_size*gap_multiplier
- list_of_rows.append({"x":x_val,"y":collision_free_y_coordinate,"bin":bin})
+ collision_free_y_coordinate=(bin_counter[bin]//2)*negative_1_if_count_is_odd(bin_counter[bin])*point_size*gap_multiplier
+ list_of_rows.append({"x":x_val,"y":collision_free_y_coordinate,"bin":bin, "adj":0})
# if the number of points is even,
# move y-coordinates down to put an equal number of entries above and below the axis
+ #this can sometimes break the collision avoidance routine, but makes small N outputs look better otherwise
+ if center_even_groups:
+ for row in list_of_rows:
+ if bin_counter[row["bin"]]%2==0:
+ row["y"]-=point_size*gap_multiplier/2
+ row["adj"]=-point_size*gap_multiplier/2
+
+
for row in list_of_rows:
- if bin_counter[row["bin"]]%2==0:
- row["y"]-=point_size*gap_multiplier/2
+ bin = row["bin"]
+ #see if we need to "look left" to avoid a possible collision
+ for other_row in list_of_rows:
+ if (other_row["bin"]==bin-1 ):
+ if (((other_row["y"]==row["y"]) or (other_row["y"]==row["y"]+row["adj"]))
+ and (((fig_width*(row["x"]-other_row["x"]))/(max_x-min_x) // point_size) < 1)):
+ bin_counter.update([bin])
+ row["y"]=(bin_counter[bin]//2)*negative_1_if_count_is_odd(bin_counter[bin])*point_size*gap_multiplier+row["adj"]
+
+
df = pd.DataFrame(list_of_rows)
-
+
fig = px.scatter(
df,
x="x",
@@ -370,9 +391,12 @@ def swarm(
df_iris = px.data.iris() # iris is a pandas DataFrame
-fig = swarm(df_iris["sepal_length"])
+x = df_iris["sepal_length"]
+x2 = pd.Series([5.05])
+x = pd.concat([x,x2], ignore_index=True)
+fig = swarm(x)
+#fig = swarm(pd.Series([1,1.5, 1.78, 1.79,2,2,12]))
fig.show()
-
```
## Scatter and line plots with go.Scatter
From 1e4d6b947d5787e7f514573f2d6b3018fdef2b28 Mon Sep 17 00:00:00 2001
From: Rob Letzler <22990670+rl-utility-man@users.noreply.github.com>
Date: Fri, 2 May 2025 20:06:12 -0400
Subject: [PATCH 04/29] replaced a work around with a bug fix.
---
doc/python/line-and-scatter.md | 43 +++++++++++++++++++---------------
1 file changed, 24 insertions(+), 19 deletions(-)
diff --git a/doc/python/line-and-scatter.md b/doc/python/line-and-scatter.md
index de160d77452..d14d79df954 100644
--- a/doc/python/line-and-scatter.md
+++ b/doc/python/line-and-scatter.md
@@ -309,8 +309,8 @@ def swarm(
point_size=16,
fig_width = 800,
gap_multiplier=1.2,
- center_even_groups = False
-):
+ bin_fraction=0.95, #bin fraction slightly undersizes the bins to avoid collisions
+ ):
#sorting will align columns in attractive arcs rather than having columns the vary unpredicatbly in the x-dimension
X_series=X_series.copy().sort_values()
@@ -328,8 +328,9 @@ def swarm(
for x_val in X_series:
# assign this x_value to bin number
- # each bin is a vertical strip wide enough for one marker
- bin=(((fig_width*(x_val-min_x))/(max_x-min_x)) // point_size)
+ # each bin is a vertical strip slightly narrower than one marker
+
+ bin=(((fig_width*bin_fraction*(x_val-min_x))/(max_x-min_x)) // point_size)
#update the count of dots in that strip
bin_counter.update([bin])
@@ -341,16 +342,8 @@ def swarm(
# we then scale this by the point_size*gap_multiplier to get a y coordinate in px
collision_free_y_coordinate=(bin_counter[bin]//2)*negative_1_if_count_is_odd(bin_counter[bin])*point_size*gap_multiplier
- list_of_rows.append({"x":x_val,"y":collision_free_y_coordinate,"bin":bin, "adj":0})
+ list_of_rows.append({"x":x_val,"y":collision_free_y_coordinate,"bin":bin})
- # if the number of points is even,
- # move y-coordinates down to put an equal number of entries above and below the axis
- #this can sometimes break the collision avoidance routine, but makes small N outputs look better otherwise
- if center_even_groups:
- for row in list_of_rows:
- if bin_counter[row["bin"]]%2==0:
- row["y"]-=point_size*gap_multiplier/2
- row["adj"]=-point_size*gap_multiplier/2
for row in list_of_rows:
@@ -358,24 +351,39 @@ def swarm(
#see if we need to "look left" to avoid a possible collision
for other_row in list_of_rows:
if (other_row["bin"]==bin-1 ):
- if (((other_row["y"]==row["y"]) or (other_row["y"]==row["y"]+row["adj"]))
+ #"bubble" the entry up until we find a slot that avoids a collision
+ while ((other_row["y"]==row["y"])
and (((fig_width*(row["x"]-other_row["x"]))/(max_x-min_x) // point_size) < 1)):
+ print(row)
+ print(other_row)
+ print(((fig_width*(row["x"]-other_row["x"] ))/(max_x-min_x) // point_size))
+
+ print("updating to fix collision")
bin_counter.update([bin])
- row["y"]=(bin_counter[bin]//2)*negative_1_if_count_is_odd(bin_counter[bin])*point_size*gap_multiplier+row["adj"]
+ print(bin_counter[bin])
+ row["y"]=(bin_counter[bin]//2)*negative_1_if_count_is_odd(bin_counter[bin])*point_size*gap_multiplier
+ print(row["y"])
+ # if the number of points is even,
+ # move y-coordinates down to put an equal number of entries above and below the axis
+ for row in list_of_rows:
+ if bin_counter[row["bin"]]%2==0:
+ row["y"]-=point_size*gap_multiplier/2
df = pd.DataFrame(list_of_rows)
+ # one way to make this code more flexible to e.g. handle multiple categories would be to return a list of "swarmified" y coordinates here
+ # you could then generate "swarmified" y coordinates for each category and add category specific offsets before scatterplotting them
fig = px.scatter(
df,
x="x",
y="y",
- hover_data="x",
)
#we want to suppress the y coordinate in the hover value because the y-coordinate is irrelevant/misleading
fig.update_traces(
marker_size=point_size,
+ #suppress the y coordinate because the y-coordinate is irrelevant
hovertemplate="value: %{x}",
)
# we have to set the width and height because we aim to avoid icon collisions and we specify the icon size
@@ -392,10 +400,7 @@ def swarm(
df_iris = px.data.iris() # iris is a pandas DataFrame
x = df_iris["sepal_length"]
-x2 = pd.Series([5.05])
-x = pd.concat([x,x2], ignore_index=True)
fig = swarm(x)
-#fig = swarm(pd.Series([1,1.5, 1.78, 1.79,2,2,12]))
fig.show()
```
From 5469864eafbaa73eff467ba732e3a949ae589807 Mon Sep 17 00:00:00 2001
From: Rob Letzler <22990670+rl-utility-man@users.noreply.github.com>
Date: Sat, 3 May 2025 23:25:20 -0400
Subject: [PATCH 05/29] maintain collision avoidance while arranging points in
c-curves
---
doc/python/line-and-scatter.md | 140 ++++++++++++++++++---------------
1 file changed, 78 insertions(+), 62 deletions(-)
diff --git a/doc/python/line-and-scatter.md b/doc/python/line-and-scatter.md
index d14d79df954..e262cf60762 100644
--- a/doc/python/line-and-scatter.md
+++ b/doc/python/line-and-scatter.md
@@ -293,30 +293,32 @@ import pandas as pd
import plotly.express as px
import collections
-def negative_1_if_count_is_odd(count):
- # if this is an odd numbered entry in its bin, make its y coordinate negative
- # the y coordinate of the first entry is 0, so entries 3, 5, and 7 get negative y coordinates
- if count%2 == 1:
- return -1
- else:
- return 1
-
+def negative_1_if_count_is_odd(count):
+ # if this is an odd numbered entry in its bin, make its y coordinate negative
+ # the y coordinate of the first entry is 0, so entries 3, 5, and 7 get
+ # negative y coordinates
+ if count % 2 == 1:
+ return -1
+ else:
+ return 1
def swarm(
X_series,
point_size=16,
- fig_width = 800,
+ fig_width=800,
gap_multiplier=1.2,
- bin_fraction=0.95, #bin fraction slightly undersizes the bins to avoid collisions
- ):
- #sorting will align columns in attractive arcs rather than having columns the vary unpredicatbly in the x-dimension
- X_series=X_series.copy().sort_values()
-
+ bin_fraction=0.95, # slightly undersizes the bins to avoid collisions
+):
+ # sorting will align columns in attractive c-shaped arcs rather than having
+ # columns that vary unpredictably in the x-dimension.
+ # We also exploit the fact that sorting means we see bins sequentially when
+ # we add collision prevention offsets.
+ X_series = X_series.copy().sort_values()
# we need to reason in terms of the marker size that is measured in px
- # so we need to think about each x-coordinate as being a fraction of the way from the
+ # so we need to think about each x-coordinate as being a fraction of the way from the
# minimum X value to the maximum X value
min_x = min(X_series)
max_x = max(X_series)
@@ -329,79 +331,93 @@ def swarm(
for x_val in X_series:
# assign this x_value to bin number
# each bin is a vertical strip slightly narrower than one marker
-
- bin=(((fig_width*bin_fraction*(x_val-min_x))/(max_x-min_x)) // point_size)
+ bin = (((fig_width*bin_fraction*(x_val-min_x))/(max_x-min_x)) // point_size)
- #update the count of dots in that strip
+ # update the count of dots in that strip
bin_counter.update([bin])
+ # remember the "y-slot" which tells us the number of points in this bin and is sufficient to compute the y coordinate unless there's a collision with the point to its left
+ list_of_rows.append(
+ {"x": x_val, "y_slot": bin_counter[bin], "bin": bin})
- # the collision free y coordinate gives the items in a vertical bin
- # coordinates: 0, 1, -1, 2, -2, 3, -3 ... and so on to evenly spread
- # their locations above and below the y-axis (we'll make a correction below to deal with even numbers of entries)
- # we then scale this by the point_size*gap_multiplier to get a y coordinate in px
-
- collision_free_y_coordinate=(bin_counter[bin]//2)*negative_1_if_count_is_odd(bin_counter[bin])*point_size*gap_multiplier
- list_of_rows.append({"x":x_val,"y":collision_free_y_coordinate,"bin":bin})
-
-
-
+ # iterate through the points and "offset" any that are colliding with a
+ # point to their left apply the offsets to all subsequent points in the same bin.
+ # this arranges points in an attractive swarm c-curve where the points
+ # toward the edges are (weakly) further right.
+ bin = 0
+ offset = 0
for row in list_of_rows:
- bin = row["bin"]
- #see if we need to "look left" to avoid a possible collision
+ if bin != row["bin"]:
+ # we have moved to a new bin, so we need to reset the offset
+ bin = row["bin"]
+ offset = 0
+ # see if we need to "look left" to avoid a possible collision
for other_row in list_of_rows:
- if (other_row["bin"]==bin-1 ):
- #"bubble" the entry up until we find a slot that avoids a collision
- while ((other_row["y"]==row["y"])
- and (((fig_width*(row["x"]-other_row["x"]))/(max_x-min_x) // point_size) < 1)):
- print(row)
- print(other_row)
- print(((fig_width*(row["x"]-other_row["x"] ))/(max_x-min_x) // point_size))
-
- print("updating to fix collision")
+ if (other_row["bin"] == bin-1):
+ # "bubble" the entry up until we find a slot that avoids a collision
+ while ((other_row["y_slot"] == row["y_slot"]+offset)
+ and (((fig_width*(row["x"]-other_row["x"]))/(max_x-min_x)
+ // point_size) < 1)):
+ offset += 1
+ # update the bin count so we know whether the number of
+ # *used* slots is even or odd
bin_counter.update([bin])
- print(bin_counter[bin])
- row["y"]=(bin_counter[bin]//2)*negative_1_if_count_is_odd(bin_counter[bin])*point_size*gap_multiplier
- print(row["y"])
- # if the number of points is even,
- # move y-coordinates down to put an equal number of entries above and below the axis
+ row["y_slot"] += offset
+ # The collision free y coordinate gives the items in a vertical bin
+ # y-coordinates to evenly spread their locations above and below the
+ # y-axis (we'll make a correction below to deal with even numbers of
+ # entries). For now, we'll assign 0, 1, -1, 2, -2, 3, -3 ... and so on.
+ # We scale this by the point_size*gap_multiplier to get a y coordinate
+ # in px.
+ row["y"] = (row["y_slot"]//2) * \
+ negative_1_if_count_is_odd(row["y_slot"])*point_size*gap_multiplier
+ print(row["y"])
+
+ # if the number of points is even, move y-coordinates down to put an equal
+ # number of entries above and below the axis
for row in list_of_rows:
- if bin_counter[row["bin"]]%2==0:
- row["y"]-=point_size*gap_multiplier/2
-
+ if bin_counter[row["bin"]] % 2 == 0:
+ row["y"] -= point_size*gap_multiplier/2
df = pd.DataFrame(list_of_rows)
- # one way to make this code more flexible to e.g. handle multiple categories would be to return a list of "swarmified" y coordinates here
- # you could then generate "swarmified" y coordinates for each category and add category specific offsets before scatterplotting them
+ # One way to make this code more flexible to e.g. handle multiple categories
+ # would be to return a list of "swarmified" y coordinates here and then plot
+ # outside the function.
+ # That generalization would let you "swarmify" y coordinates for each
+ # category and add category specific offsets to put the each category in its
+ # own row
fig = px.scatter(
df,
x="x",
y="y",
)
- #we want to suppress the y coordinate in the hover value because the y-coordinate is irrelevant/misleading
+ # we want to suppress the y coordinate in the hover value because the
+ # y-coordinate is irrelevant/misleading
fig.update_traces(
marker_size=point_size,
- #suppress the y coordinate because the y-coordinate is irrelevant
+ # suppress the y coordinate because the y-coordinate is irrelevant
hovertemplate="value: %{x}",
)
- # we have to set the width and height because we aim to avoid icon collisions and we specify the icon size
- # in the same units as the width and height
- fig.update_layout(width=fig_width, height=(point_size*max(bin_counter.values())+200))
+ # we have to set the width and height because we aim to avoid icon collisions
+ # and we specify the icon size in the same units as the width and height
+ fig.update_layout(width=fig_width, height=(
+ point_size*max(bin_counter.values())+200))
fig.update_yaxes(
- showticklabels=False, # Turn off y-axis labels
- ticks='', # Remove the ticks
- title=""
+ showticklabels=False, # Turn off y-axis labels
+ ticks='', # Remove the ticks
+ title=""
)
return fig
-
-df_iris = px.data.iris() # iris is a pandas DataFrame
-x = df_iris["sepal_length"]
-fig = swarm(x)
-fig.show()
+df = px.data.iris() # iris is a pandas DataFrame
+fig = swarm(df["sepal_length"])
+# here's a more interesting test case for collision avoidance:
+#fig = swarm(pd.Series([1, 1.5, 1.78, 1.79, 1.85, 2,
+# 2, 2, 2, 3, 3, 2.05, 2.1, 2.2, 2.5, 12]))
+fig.show()
```
## Scatter and line plots with go.Scatter
From 6d27e9f18b765c10e9b5f1a468c3fec90dc89611 Mon Sep 17 00:00:00 2001
From: Rob Letzler <22990670+rl-utility-man@users.noreply.github.com>
Date: Tue, 3 Jun 2025 22:47:44 -0400
Subject: [PATCH 06/29] Update line-and-scatter.md
---
doc/python/line-and-scatter.md | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/doc/python/line-and-scatter.md b/doc/python/line-and-scatter.md
index e262cf60762..d10a0f865e2 100644
--- a/doc/python/line-and-scatter.md
+++ b/doc/python/line-and-scatter.md
@@ -306,6 +306,7 @@ def negative_1_if_count_is_odd(count):
def swarm(
X_series,
+ fig_title,
point_size=16,
fig_width=800,
gap_multiplier=1.2,
@@ -372,7 +373,6 @@ def swarm(
# in px.
row["y"] = (row["y_slot"]//2) * \
negative_1_if_count_is_odd(row["y_slot"])*point_size*gap_multiplier
- print(row["y"])
# if the number of points is even, move y-coordinates down to put an equal
# number of entries above and below the axis
@@ -392,6 +392,7 @@ def swarm(
df,
x="x",
y="y",
+ title=fig_title,
)
# we want to suppress the y coordinate in the hover value because the
# y-coordinate is irrelevant/misleading
@@ -413,9 +414,10 @@ def swarm(
df = px.data.iris() # iris is a pandas DataFrame
-fig = swarm(df["sepal_length"])
-# here's a more interesting test case for collision avoidance:
-#fig = swarm(pd.Series([1, 1.5, 1.78, 1.79, 1.85, 2,
+fig = swarm(df["sepal_length"], "Sepal length distribution from 150 iris samples")
+# The iris data set entries are rounded so there are no collisions.
+# a more interesting test case for collision avoidance is:
+# fig = swarm(pd.Series([1, 1.5, 1.78, 1.79, 1.85, 2,
# 2, 2, 2, 3, 3, 2.05, 2.1, 2.2, 2.5, 12]))
fig.show()
```
From 83d158a475b7859f5d345875a1a6190a1eebcbd5 Mon Sep 17 00:00:00 2001
From: Rob Letzler <22990670+rl-utility-man@users.noreply.github.com>
Date: Tue, 3 Jun 2025 22:48:01 -0400
Subject: [PATCH 07/29] update header
Co-authored-by: Liam Connors
---
doc/python/line-and-scatter.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/python/line-and-scatter.md b/doc/python/line-and-scatter.md
index d10a0f865e2..5e4ca154dfe 100644
--- a/doc/python/line-and-scatter.md
+++ b/doc/python/line-and-scatter.md
@@ -286,7 +286,7 @@ fig.show()
### Swarm (or Beeswarm) Plots
-Swarm plots show the distribution of values in a column by giving each entry one dot and adjusting the y-value so that dots do not overlap and appear symmetrically around the y=0 line. They complement histograms, box plots, and violin plots. This example could be generalized to implement a swarm plot for multiple categories by adjusting the y-coordinate for each category.
+Swarm plots show the distribution of values in a column by giving each entry one dot and adjusting the y-value so that dots do not overlap and appear symmetrically around the y=0 line. They complement histograms, box plots, and violin plots. This example could be generalized to implement a swarm plot for multiple categories by adjusting the y-coordinate for each category.
```python
import pandas as pd
From 7fa86a6f16113341e44f90d84e5d5eb68b599d21 Mon Sep 17 00:00:00 2001
From: Rob Letzler <22990670+rl-utility-man@users.noreply.github.com>
Date: Tue, 3 Jun 2025 22:55:34 -0400
Subject: [PATCH 08/29] Update line-and-scatter.md
---
doc/python/line-and-scatter.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/python/line-and-scatter.md b/doc/python/line-and-scatter.md
index 5e4ca154dfe..51291cfaa5b 100644
--- a/doc/python/line-and-scatter.md
+++ b/doc/python/line-and-scatter.md
@@ -286,7 +286,7 @@ fig.show()
### Swarm (or Beeswarm) Plots
-Swarm plots show the distribution of values in a column by giving each entry one dot and adjusting the y-value so that dots do not overlap and appear symmetrically around the y=0 line. They complement histograms, box plots, and violin plots. This example could be generalized to implement a swarm plot for multiple categories by adjusting the y-coordinate for each category.
+Swarm plots show the distribution of values in a column by giving each entry one dot and adjusting the y-value so that dots do not overlap and appear symmetrically around the y=0 line. They complement [histograms](https://plotly.com/python/histograms/), [box plots](https://plotly.com/python/box-plots/), and [violin plots](https://plotly.com/python/violin/). This example could be generalized to implement a swarm plot for multiple categories by adjusting the y-coordinate for each category.
```python
import pandas as pd
From aff4e976b6721eeb3c123a62676d993bfd0fef7a Mon Sep 17 00:00:00 2001
From: Rob Letzler <22990670+rl-utility-man@users.noreply.github.com>
Date: Fri, 27 Jun 2025 09:35:42 -0400
Subject: [PATCH 09/29] restoring an accidently deleted figure creation line
---
doc/python/text-and-annotations.md | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/doc/python/text-and-annotations.md b/doc/python/text-and-annotations.md
index 84521f34cd7..56f341e8728 100644
--- a/doc/python/text-and-annotations.md
+++ b/doc/python/text-and-annotations.md
@@ -789,6 +789,11 @@ This example shows how to add a note about the data source or interpretation at
```python
import plotly.express as px
df = px.data.iris()
+
+fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species",
+ size='petal_length', hover_data=['petal_width'])
+
+
fig.update_layout(
title=dict(text="Note: this is the Plotly title element.",
# keeping this title string short avoids getting the text cut off in small windows
From c6cb0f592282e1ce257cc12d734015ac8a03755f Mon Sep 17 00:00:00 2001
From: Liam Connors
Date: Mon, 7 Jul 2025 14:10:02 -0400
Subject: [PATCH 10/29] Update static-image-export.md
---
doc/python/static-image-export.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/doc/python/static-image-export.md b/doc/python/static-image-export.md
index 6ccd1af2c03..528924eb2a4 100644
--- a/doc/python/static-image-export.md
+++ b/doc/python/static-image-export.md
@@ -273,6 +273,8 @@ The following settings are available.
`mathjax`: Location of the MathJax bundle needed to render LaTeX characters. Defaults to a CDN location. If fully offline export is required, set this to a local MathJax bundle.
+`plotlyjs`: Location of the Plotly.js bundle to use. Can be a local file path or URL. By default, Kaleido uses the Plotly.js bundle included with Plotly.py.
+
`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.
`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.
From 857440198a431097952e767ce05ceaf667b6e80c Mon Sep 17 00:00:00 2001
From: Rob Letzler <22990670+rl-utility-man@users.noreply.github.com>
Date: Mon, 7 Jul 2025 23:22:23 -0400
Subject: [PATCH 11/29] corrected an incorrect description entry
---
doc/python/tile-county-choropleth.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/doc/python/tile-county-choropleth.md b/doc/python/tile-county-choropleth.md
index 75b89acb302..06f6bd7b2da 100644
--- a/doc/python/tile-county-choropleth.md
+++ b/doc/python/tile-county-choropleth.md
@@ -22,7 +22,7 @@ jupyter:
pygments_lexer: ipython3
version: 3.10.0
plotly:
- description: How to make a choropleth map of US counties in Python with Plotly.
+ description: How to make tile choropleth maps in Python with Plotly.
display_as: maps
language: python
layout: base
@@ -254,4 +254,4 @@ fig.show()
See [function reference for `px.choropleth_map`](https://plotly.com/python-api-reference/generated/plotly.express.choropleth_map) or https://plotly.com/python/reference/choroplethmap/ for more information about the attributes available.
-For Mapbox-based tile maps, see [function reference for `px.choropleth_mapbox`](https://plotly.com/python-api-reference/generated/plotly.express.choropleth_mapbox) or https://plotly.com/python/reference/choroplethmapbox/.
+For (deprecated) Mapbox-based tile maps, see [function reference for `px.choropleth_mapbox`](https://plotly.com/python-api-reference/generated/plotly.express.choropleth_mapbox) or https://plotly.com/python/reference/choroplethmapbox/.
From dc31ccd05b95ea37040ce371a5938c403c8c6f0a Mon Sep 17 00:00:00 2001
From: Liam Connors
Date: Tue, 8 Jul 2025 15:40:01 -0400
Subject: [PATCH 12/29] Update static-image-export.md
---
doc/python/static-image-export.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/doc/python/static-image-export.md b/doc/python/static-image-export.md
index 6ccd1af2c03..fdac5486f8a 100644
--- a/doc/python/static-image-export.md
+++ b/doc/python/static-image-export.md
@@ -64,12 +64,12 @@ Plotly also provides a CLI for installing Chrome from the command line.
Run `plotly_get_chrome` to install Chrome.
-You can also install Chrome from within Python using `plotly.io.install_chrome()`
+You can also install Chrome from within Python using `kaleido.get_chrome_sync()`
```python
-import plotly.io as pio
+import kaleido
-pio.install_chrome()
+kaleido.get_chrome_sync()
```
See the **Additional Information on Browsers with Kaleido** section below for more details on browser compatibility for Kaleido.
From faa1ee3f72e3e932b8d1e59cf3b828d342f71c20 Mon Sep 17 00:00:00 2001
From: Liam Connors
Date: Tue, 8 Jul 2025 16:08:13 -0400
Subject: [PATCH 13/29] Update static-image-export.md
---
doc/python/static-image-export.md | 7 -------
1 file changed, 7 deletions(-)
diff --git a/doc/python/static-image-export.md b/doc/python/static-image-export.md
index fdac5486f8a..668c68da400 100644
--- a/doc/python/static-image-export.md
+++ b/doc/python/static-image-export.md
@@ -64,13 +64,6 @@ Plotly also provides a CLI for installing Chrome from the command line.
Run `plotly_get_chrome` to install Chrome.
-You can also install Chrome from within Python using `kaleido.get_chrome_sync()`
-
-```python
-import kaleido
-
-kaleido.get_chrome_sync()
-```
See the **Additional Information on Browsers with Kaleido** section below for more details on browser compatibility for Kaleido.
From a2787a0770fda8841ea91a584b244af6d53762f0 Mon Sep 17 00:00:00 2001
From: Greg Wilson
Date: Thu, 10 Jul 2025 09:56:41 -0400
Subject: [PATCH 14/29] - Move contents of `commands.py` to scripts in new
`bin` directory and break into individual scripts. - Tidy up imports etc.
while doing so.
- Move code generation from `./codegen` to `./bin/codegen`.
- Move `plot-schema.json` to `./resources` rather than burying it under the
`codegen` folder.
- Add `Makefile` to run commands instead of putting everything in `commands.py`.
- Run `ruff` directly for checking and formatting rather than launching a
subprocess from Python as `commands.py` did.
- Modify `.gitignore to ignore `docs` and `docs_tmp`. (Will eventually want to
include `docs` or overwrite `doc`.)
- Minor reformatting of `README.md`.
- Update `CONTRIBUTING.md` to describe relocation of commands and code
generation to `bin`.
- `CONTRIBUTING.md` documents `--local`, `--devrepo` and `--devbranch` options
for updating JavaScript bundle that `commands.py` didn't seem to provide.
- Add `mkdocs.yml` configuration file for `mkdocs`.
- Most of this file was vibe coded using Claude.
- `mkdocs` does not support reading configuration from `pyproject.toml`, so
we need the extra config file.
- Use `material` theme.
- Read hand-written Markdown from `pages` and write output to `docs`.
- Generate module index pages on the fly using `mkdocs-gen-files` plugin.
(See discussion of `bin/generate_reference_pages.py` below.)
- Set docstring style to `google` (even though much of our documentation
isn't formatted that way).
- Add placeholder Markdown files in `pages` that include files from the root
directory (README, code of conduct, contributors' guide, license).
- Remove relative links between these pages because they don't work when
the content is transcluded one directory lower.
- Modify docstring in `plotly/_subplots.py` to escape closing `]` with backslash
to avoid confusing `mkdocs` Markdown.
- Here and elsewhere the escape is written `\\]` because we need `\]` in the
actual string. We could convert the docstrings to literal strings prefixed
with `r` to avoid the double backslash.
- Have also escaped some `[` as `\\[` for the same reason.
- Similar change to `plotly/basedatatypes.py`.
- Reformat line breaks in docstrings in `plotly/express/_core.py`.
- Modify `pyproject.toml` to install `mkdocs` and related packages for dev.
- Modify `pyproject.toml` to install `pydoclint` for checking documentation.
- Currently reporting a *lot* of errors.
- Update `uv.lock` to match.
---
.gitignore | 3 +
CONTRIBUTING.md | 23 +-
Makefile | 58 ++
README.md | 19 +-
{codegen => bin/codegen}/__init__.py | 67 +-
{codegen => bin/codegen}/compatibility.py | 17 +-
{codegen => bin/codegen}/datatypes.py | 16 +-
{codegen => bin/codegen}/figure.py | 9 +-
{codegen => bin/codegen}/utils.py | 16 +-
{codegen => bin/codegen}/validators.py | 9 +-
bin/generate_code.py | 27 +
bin/generate_reference_pages.py | 58 ++
bin/updatejs.py | 32 +
commands.py => bin/utils.py | 94 +--
mkdocs.yml | 40 +
pages/conduct.md | 1 +
pages/contributing.md | 1 +
pages/index.md | 1 +
pages/license.md | 1 +
plotly/_subplots.py | 26 +-
plotly/basedatatypes.py | 4 +-
plotly/express/_core.py | 8 +-
plotly/figure_factory/_violin.py | 4 +-
plotly/subplots.py | 22 +-
plotly/tools.py | 24 +-
pyproject.toml | 9 +-
.../resources => resources}/plot-schema.json | 159 +++-
uv.lock | 708 +++++++++++++++++-
28 files changed, 1216 insertions(+), 240 deletions(-)
create mode 100644 Makefile
rename {codegen => bin/codegen}/__init__.py (85%)
rename {codegen => bin/codegen}/compatibility.py (93%)
rename {codegen => bin/codegen}/datatypes.py (98%)
rename {codegen => bin/codegen}/figure.py (99%)
rename {codegen => bin/codegen}/utils.py (99%)
rename {codegen => bin/codegen}/validators.py (94%)
create mode 100644 bin/generate_code.py
create mode 100644 bin/generate_reference_pages.py
create mode 100644 bin/updatejs.py
rename commands.py => bin/utils.py (79%)
create mode 100644 mkdocs.yml
create mode 100644 pages/conduct.md
create mode 100644 pages/contributing.md
create mode 100644 pages/index.md
create mode 100644 pages/license.md
rename {codegen/resources => resources}/plot-schema.json (99%)
diff --git a/.gitignore b/.gitignore
index 5bb4e110325..063be791b13 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,6 +13,9 @@ tests/test_orca/images/linux/failed/
doc/python/raw.githubusercontent.com/
+docs/
+docs_tmp/
+
# Don't ignore dataset files
!*.csv.gz
!*.geojson.gz
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ad666ea805c..f4cfaf94447 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -8,7 +8,7 @@ then explains the technical aspects of preparing your contribution.
## Code of Conduct
-Please note that all contributos are required to abide by our [Code of Conduct](CODE_OF_CONDUCT.md).
+Please note that all contributos are required to abide by our Code of Conduct.
## Different Ways to Contribute
@@ -19,7 +19,7 @@ it is important to understand the structure of the code and the repository.
- The [`plotly.graph_objects`](https://plotly.com/python/graph-objects/) module (usually imported as `go`)
is [generated from the plotly.js schema](https://plotly.com/python/figure-structure/),
so changes to be made in this package need to be contributed to [plotly.js](https://github.com/plotly/plotly.js)
- or to the code generation system in `./codegen/`.
+ or to the code generation system in `./bin/codegen/`.
Code generation creates traces and layout classes that have a direct correspondence to their JavaScript counterparts,
while higher-level methods that work on figures regardless of the current schema (e.g., `BaseFigure.for_each_trace`)
are defined in `plotly/basedatatypes.py`.
@@ -38,16 +38,17 @@ it is important to understand the structure of the code and the repository.
These are organized in subdirectories according to what they test:
see the "Setup" section below for more details.
-- Documentation is found in `doc/`, and its structure is described in [its README file](doc/README.md).
+- Documentation is found in `doc/`, and its structure is described in its README file.
The documentation is a great place to start contributing,
since you can add or modify examples without setting up a full environment.
-Code and documentation are not the only way to contribute:
-you can also help by:
+Code and documentation are not the only way to contribute.
+You can also help by:
- Reporting bugs at .
Please take a moment to see if your problem has already been reported, and if so, add a comment to the existing issue;
- we will try to prioritize those that affect the most people.
+ we will try to prioritize those that affect the most people
+ and that are accompanied by small, runnable examples.
- Submitting feature requests (also at ).
Again, please add a comment to an existing issue if the feature you want has already been requested.
@@ -219,11 +220,11 @@ Once you have done that,
run the `updateplotlyjs` command:
```bash
-python commands.py updateplotlyjs
+python bin/updatejs.py
```
This downloads new versions of `plot-schema.json` and `plotly.min.js` from the `plotly/plotly.js` GitHub repository
-and places them in `plotly/package_data`.
+and places them in `resources` and `plotly/package_data` respectively.
It then regenerates all of the `graph_objs` classes based on the new schema.
### Using a Development Branch of Plotly.js
@@ -232,7 +233,8 @@ If your development branch is in [the plotly.js repository](https://github.com/p
you can update to development versions of `plotly.js` with this command:
```bash
-python commands.py updateplotlyjsdev --devrepo reponame --devbranch branchname
+# FIXME commands.py didn't provide --devrepo or --devbranch
+python bin/updatejs.py --dev --devrepo reponame --devbranch branchname
```
This fetches the `plotly.js` in the CircleCI artifact of the branch `branchname` of the repo `reponame`.
@@ -255,5 +257,6 @@ You can then run the following command
*in your local plotly.py repository*:
```bash
-python commands.py updateplotlyjsdev --local /path/to/your/plotly.js/
+# FIXME: commands.py didn't provide --local
+python bin/updatejs.py --dev --local /path/to/your/plotly.js/
```
diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000000..63d26ae08ba
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,58 @@
+# Manage plotly.py project.
+
+RUN = uv run
+PACKAGE_DIRS = _plotly_utils plotly
+CODE_DIRS = ${PACKAGE_DIRS} scripts
+
+## commands: show available commands
+commands:
+ @grep -h -E '^##' ${MAKEFILE_LIST} | sed -e 's/## //g' | column -t -s ':'
+
+## docs: rebuild documentation
+.PHONY: docs
+docs:
+ ${RUN} mkdocs build
+
+## docs-lint: check documentation
+docs-lint:
+ ${RUN} pydoclint ${PACKAGE_DIRS}
+
+## docs-tmp: rebuild documentation saving Markdown in ./tmp
+docs-tmp:
+ MKDOCS_TEMP_DIR=./docs_tmp ${RUN} mkdocs build
+
+## format: reformat code
+format:
+ ${RUN} ruff format ${CODE_DIRS}
+
+## generate: generate code
+generate:
+ ${RUN} bin/generate_code.py --codedir plotly
+ ${RUN} ruff format plotly
+
+## lint: check the code
+lint:
+ ${RUN} ruff check ${CODE_DIRS}
+
+## test: run tests
+test:
+ ${RUN} pytest tests
+
+## updatejs: update JavaScript bundle
+updatejs:
+ ${RUN} bin/updatejs.py --codedir plotly
+
+## --: --
+
+## clean: clean up repository
+clean:
+ @find . -name '*~' -delete
+ @find . -name '.DS_Store' -delete
+ @rm -rf .coverage
+ @rm -rf .pytest_cache
+ @rm -rf .ruff_cache
+ @rm -rf dist
+
+## sync: update Python packages
+sync:
+ uv sync --extra dev
diff --git a/README.md b/README.md
index 11f117aca59..8e6ef158f46 100644
--- a/README.md
+++ b/README.md
@@ -76,13 +76,13 @@ Built on top of [plotly.js](https://github.com/plotly/plotly.js), `plotly.py` is
## Installation
-plotly.py may be installed using pip
+plotly.py may be installed using pip:
```
pip install plotly
```
-or conda.
+or conda:
```
conda install -c conda-forge plotly
@@ -90,8 +90,7 @@ conda install -c conda-forge plotly
### Jupyter Widget Support
-For use as a Jupyter widget, install `jupyter` and `anywidget`
-packages using `pip`:
+For use as a Jupyter widget, install the `jupyter` and `anywidget` packages using `pip`:
```
pip install jupyter anywidget
@@ -112,14 +111,14 @@ command line utility (legacy as of `plotly` version 4.9).
#### Kaleido
-The [`kaleido`](https://github.com/plotly/Kaleido) package has no dependencies and can be installed
-using pip
+The [`kaleido`](https://github.com/plotly/Kaleido) package has no dependencies
+and can be installed using pip:
```
pip install -U kaleido
```
-or conda
+or conda:
```
conda install -c conda-forge python-kaleido
@@ -129,13 +128,13 @@ conda install -c conda-forge python-kaleido
Some plotly.py features rely on fairly large geographic shape files. The county
choropleth figure factory is one such example. These shape files are distributed as a
-separate `plotly-geo` package. This package can be installed using pip...
+separate `plotly-geo` package. This package can be installed using pip:
```
pip install plotly-geo==1.0.0
```
-or conda
+or conda:
```
conda install -c plotly plotly-geo=1.0.0
@@ -145,7 +144,7 @@ conda install -c plotly plotly-geo=1.0.0
## Copyright and Licenses
-Code and documentation copyright 2019 Plotly, Inc.
+Code and documentation copyright Plotly, Inc.
Code released under the [MIT license](https://github.com/plotly/plotly.py/blob/main/LICENSE.txt).
diff --git a/codegen/__init__.py b/bin/codegen/__init__.py
similarity index 85%
rename from codegen/__init__.py
rename to bin/codegen/__init__.py
index b299fa36045..294566f7f06 100644
--- a/codegen/__init__.py
+++ b/bin/codegen/__init__.py
@@ -1,8 +1,6 @@
import json
import os
-import os.path as opath
import shutil
-import subprocess
import sys
from codegen.datatypes import build_datatype_py, write_datatype_py # noqa: F401
@@ -87,45 +85,30 @@ def preprocess_schema(plotly_schema):
items["colorscale"] = items.pop("concentrationscales")
-def make_paths(outdir):
- """Make various paths needed for formatting and linting."""
+def make_paths(codedir):
+ """Make various paths needed for code generation."""
- validators_dir = opath.join(outdir, "validators")
- graph_objs_dir = opath.join(outdir, "graph_objs")
- graph_objects_path = opath.join(outdir, "graph_objects", "__init__.py")
+ validators_dir = codedir / "validators"
+ graph_objs_dir = codedir / "graph_objs"
+ graph_objects_path = codedir / "graph_objects" / "__init__.py"
return validators_dir, graph_objs_dir, graph_objects_path
-def lint_code(outdir):
- """Check Python code using settings in pyproject.toml."""
-
- subprocess.call(["ruff", "check", *make_paths(outdir)])
-
-
-def reformat_code(outdir):
- """Reformat Python code using settings in pyproject.toml."""
-
- subprocess.call(["ruff", "format", *make_paths(outdir)])
-
-
-def perform_codegen(outdir, noformat=False):
- """Generate code (and possibly reformat)."""
+def perform_codegen(codedir, noformat=False):
+ """Generate code."""
# Get paths
- validators_dir, graph_objs_dir, graph_objects_path = make_paths(outdir)
+ validators_dir, graph_objs_dir, graph_objects_path = make_paths(codedir)
# Delete prior codegen output
- if opath.exists(validators_dir):
+ if validators_dir.exists():
shutil.rmtree(validators_dir)
- if opath.exists(graph_objs_dir):
+ if graph_objs_dir.exists():
shutil.rmtree(graph_objs_dir)
# Load plotly schema
- project_root = opath.dirname(outdir)
- plot_schema_path = opath.join(
- project_root, "codegen", "resources", "plot-schema.json"
- )
-
+ project_root = codedir.parent
+ plot_schema_path = project_root / "resources" / "plot-schema.json"
with open(plot_schema_path, "r") as f:
plotly_schema = json.load(f)
@@ -193,18 +176,18 @@ def perform_codegen(outdir, noformat=False):
# Write out the JSON data for the validators
os.makedirs(validators_dir, exist_ok=True)
- write_validator_json(outdir, validator_params)
+ write_validator_json(codedir, validator_params)
# Alls
alls = {}
# Write out datatypes
for node in all_compound_nodes:
- write_datatype_py(outdir, node)
+ write_datatype_py(codedir, node)
# Deprecated
# These are deprecated legacy datatypes like graph_objs.Marker
- write_deprecated_datatypes(outdir)
+ write_deprecated_datatypes(codedir)
# Write figure class to graph_objs
data_validator = get_data_validator_instance(base_traces_node)
@@ -212,7 +195,7 @@ def perform_codegen(outdir, noformat=False):
frame_validator = frame_node.get_validator_instance()
write_figure_classes(
- outdir,
+ codedir,
base_traces_node,
data_validator,
layout_validator,
@@ -242,7 +225,7 @@ def perform_codegen(outdir, noformat=False):
# Write plotly/graph_objs/graph_objs.py
# This is for backward compatibility. It just imports everything from
# graph_objs/__init__.py
- write_graph_objs_graph_objs(outdir)
+ write_graph_objs_graph_objs(codedir)
# Add Figure and FigureWidget
root_datatype_imports = datatype_rel_class_imports[()]
@@ -287,12 +270,13 @@ def __getattr__(import_name):
# __all__
for path_parts, class_names in alls.items():
if path_parts and class_names:
- filepath = opath.join(outdir, "graph_objs", *path_parts, "__init__.py")
+ filepath = codedir / "graph_objs"
+ filepath = filepath.joinpath(*path_parts) / "__init__.py"
with open(filepath, "at") as f:
f.write(f"\n__all__ = {class_names}")
# Output datatype __init__.py files
- graph_objs_pkg = opath.join(outdir, "graph_objs")
+ graph_objs_pkg = codedir / "graph_objs"
for path_parts in datatype_rel_class_imports:
rel_classes = sorted(datatype_rel_class_imports[path_parts])
rel_modules = sorted(datatype_rel_module_imports.get(path_parts, []))
@@ -317,18 +301,13 @@ def __getattr__(import_name):
graph_objects_rel_classes,
init_extra=optional_figure_widget_import,
)
- graph_objects_path = opath.join(outdir, "graph_objects", "__init__.py")
- os.makedirs(opath.join(outdir, "graph_objects"), exist_ok=True)
+ graph_objects_path = codedir / "graph_objects"
+ graph_objects_path.mkdir(parents=True, exist_ok=True)
+ graph_objects_path /= "__init__.py"
with open(graph_objects_path, "wt") as f:
f.write("# ruff: noqa: F401\n")
f.write(graph_objects_init_source)
- # Run code formatter on output directories
- if noformat:
- print("skipping reformatting")
- else:
- reformat_code(outdir)
-
if __name__ == "__main__":
if len(sys.argv) != 2:
diff --git a/codegen/compatibility.py b/bin/codegen/compatibility.py
similarity index 93%
rename from codegen/compatibility.py
rename to bin/codegen/compatibility.py
index 2b57685ff2e..fdb4fe4b576 100644
--- a/codegen/compatibility.py
+++ b/bin/codegen/compatibility.py
@@ -1,5 +1,4 @@
from io import StringIO
-from os import path as opath
from codegen.utils import write_source_py
@@ -150,15 +149,15 @@ def build_deprecation_message(class_name, base_type, new):
"""
-def write_deprecated_datatypes(outdir):
+def write_deprecated_datatypes(codedir):
"""
Build source code for deprecated datatype class definitions and write
them to a file
Parameters
----------
- outdir :
- Root outdir in which the graph_objs package should reside
+ codedir :
+ Root directory in which the graph_objs package should reside
Returns
-------
@@ -166,13 +165,13 @@ def write_deprecated_datatypes(outdir):
"""
# Generate source code
datatype_source = build_deprecated_datatypes_py()
- filepath = opath.join(outdir, "graph_objs", "_deprecations.py")
+ filepath = codedir / "graph_objs" / "_deprecations.py"
# Write file
write_source_py(datatype_source, filepath)
-def write_graph_objs_graph_objs(outdir):
+def write_graph_objs_graph_objs(codedir):
"""
Write the plotly/graph_objs/graph_objs.py file
@@ -183,14 +182,14 @@ def write_graph_objs_graph_objs(outdir):
Parameters
----------
- outdir : str
- Root outdir in which the graph_objs package should reside
+ codedir : str
+ Root directory in which the graph_objs package should reside
Returns
-------
None
"""
- filepath = opath.join(outdir, "graph_objs", "graph_objs.py")
+ filepath = codedir / "graph_objs" / "graph_objs.py"
with open(filepath, "wt") as f:
f.write(
"""\
diff --git a/codegen/datatypes.py b/bin/codegen/datatypes.py
similarity index 98%
rename from codegen/datatypes.py
rename to bin/codegen/datatypes.py
index 28b11d1fc59..d29e4f715a3 100644
--- a/codegen/datatypes.py
+++ b/bin/codegen/datatypes.py
@@ -1,6 +1,5 @@
-import os.path as opath
-import textwrap
from io import StringIO
+import textwrap
from codegen.utils import CAVEAT, write_source_py
@@ -219,6 +218,9 @@ def _subplot_re_match(self, prop):
else:
property_docstring = property_description
+ # Fix `][`.
+ property_docstring = property_docstring.replace("][", "]\\[")
+
# Write get property
buffer.write(
f'''\
@@ -595,14 +597,6 @@ def write_datatype_py(outdir, node):
None
"""
- # Build file path
- # filepath = opath.join(outdir, "graph_objs", *node.parent_path_parts, "__init__.py")
- filepath = opath.join(
- outdir, "graph_objs", *node.parent_path_parts, "_" + node.name_undercase + ".py"
- )
-
- # Generate source code
+ filepath = (outdir / "graph_objs").joinpath(*node.parent_path_parts) / f"_{node.name_undercase}.py"
datatype_source = build_datatype_py(node)
-
- # Write file
write_source_py(datatype_source, filepath, leading_newlines=2)
diff --git a/codegen/figure.py b/bin/codegen/figure.py
similarity index 99%
rename from codegen/figure.py
rename to bin/codegen/figure.py
index a15d806937c..b0ed1026793 100644
--- a/codegen/figure.py
+++ b/bin/codegen/figure.py
@@ -1,5 +1,4 @@
from io import StringIO
-from os import path as opath
from codegen.datatypes import (
reindent_validator_description,
@@ -705,7 +704,7 @@ def add_{method_prefix}{singular_name}(self"""
def write_figure_classes(
- outdir,
+ codedir,
trace_node,
data_validator,
layout_validator,
@@ -720,8 +719,8 @@ def write_figure_classes(
Parameters
----------
- outdir : str
- Root outdir in which the graph_objs package should reside
+ codedir : str
+ Root directory in which the graph_objs package should reside
trace_node : PlotlyNode
Root trace node (the node that is the parent of all of the
individual trace nodes like bar, scatter, etc.)
@@ -768,5 +767,5 @@ def write_figure_classes(
)
# Format and write to file
- filepath = opath.join(outdir, "graph_objs", f"_{fig_classname.lower()}.py")
+ filepath = codedir / "graph_objs" / f"_{fig_classname.lower()}.py"
write_source_py(figure_source, filepath)
diff --git a/codegen/utils.py b/bin/codegen/utils.py
similarity index 99%
rename from codegen/utils.py
rename to bin/codegen/utils.py
index 3d660328e51..2cc4e018811 100644
--- a/codegen/utils.py
+++ b/bin/codegen/utils.py
@@ -1,11 +1,9 @@
-import os
-import os.path as opath
-import textwrap
from collections import ChainMap
from importlib import import_module
from io import StringIO
-from typing import List
import re
+import textwrap
+from typing import List
CAVEAT = """
@@ -35,10 +33,7 @@ def write_source_py(py_source, filepath, leading_newlines=0):
"""
if py_source:
# Make dir if needed
- filedir = opath.dirname(filepath)
- # The exist_ok kwarg is only supported with Python 3, but that's ok since
- # codegen is only supported with Python 3 anyway
- os.makedirs(filedir, exist_ok=True)
+ filepath.parent.mkdir(exist_ok=True)
# Write file
py_source = "\n" * leading_newlines + py_source
@@ -121,7 +116,7 @@ def write_init_py(pkg_root, path_parts, rel_modules=(), rel_classes=(), init_ext
init_source = build_from_imports_py(rel_modules, rel_classes, init_extra)
# Write file
- filepath = opath.join(pkg_root, *path_parts, "__init__.py")
+ filepath = pkg_root.joinpath(*path_parts) / "__init__.py"
write_source_py(init_source, filepath)
@@ -168,6 +163,9 @@ def format_description(desc):
# replace {2D arrays} with 2D lists
desc = desc.replace("{2D arrays}", "2D lists")
+ # replace '][' with ']\[' to avoid confusion with Markdown reference links
+ desc = desc.replace("][", r"]\\[")
+
return desc
diff --git a/codegen/validators.py b/bin/codegen/validators.py
similarity index 94%
rename from codegen/validators.py
rename to bin/codegen/validators.py
index 4cef19fa29b..04ea65d2f8a 100644
--- a/codegen/validators.py
+++ b/bin/codegen/validators.py
@@ -1,4 +1,3 @@
-import os.path as opath
import json
import _plotly_utils.basevalidators
@@ -54,7 +53,7 @@ def get_data_validator_params(base_trace_node: TraceNode, store: dict):
}
-def write_validator_json(outdir, params: dict):
+def write_validator_json(codedir, params: dict):
"""
Write out a JSON serialization of the validator arguments
for all validators (keyed by f"{parent_name}.{plotly_name})
@@ -64,8 +63,8 @@ def write_validator_json(outdir, params: dict):
Parameters
----------
- outdir : str
- Root outdir in which the validators package should reside
+ codedir : str
+ Root directory in which the validators package should reside
params : dict
Dictionary to store the JSON data for the validator
Returns
@@ -78,7 +77,7 @@ def write_validator_json(outdir, params: dict):
raise ValueError("Expected params to be a dictionary")
# Write file
- filepath = opath.join(outdir, "validators", "_validators.json")
+ filepath = codedir / "validators" / "_validators.json"
with open(filepath, "w") as f:
f.write(json.dumps(params, indent=4))
diff --git a/bin/generate_code.py b/bin/generate_code.py
new file mode 100644
index 00000000000..94fef3991cf
--- /dev/null
+++ b/bin/generate_code.py
@@ -0,0 +1,27 @@
+"""Generate code."""
+
+import argparse
+from pathlib import Path
+
+import utils
+
+
+def main():
+ """Main driver."""
+
+ args = parse_args()
+ codedir = utils.select_code_directory(args)
+ utils.perform_codegen(codedir, noformat=args.noformat)
+
+
+def parse_args():
+ """Parse command-line arguments."""
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--noformat", action="store_true", help="prevent reformatting")
+ parser.add_argument("--codedir", type=Path, help="code directory")
+ return parser.parse_args()
+
+
+if __name__ == "__main__":
+ main()
diff --git a/bin/generate_reference_pages.py b/bin/generate_reference_pages.py
new file mode 100644
index 00000000000..cba3d633276
--- /dev/null
+++ b/bin/generate_reference_pages.py
@@ -0,0 +1,58 @@
+"""Generate the code reference pages and navigation."""
+
+import os
+from pathlib import Path
+
+import mkdocs_gen_files
+
+
+# Saving Markdown files?
+temp_dir = os.getenv("MKDOCS_TEMP_DIR", None)
+if temp_dir is not None:
+ temp_dir = Path(temp_dir)
+
+# Set up the generation engine.
+nav = mkdocs_gen_files.Nav()
+
+# Match each Python file.
+for path in sorted(Path("plotly").rglob("*.py")):
+ # Documentation path.
+ module_path = path.relative_to(".").with_suffix("")
+ doc_path = path.relative_to(".").with_suffix(".md")
+ full_doc_path = Path("reference", doc_path)
+
+ # Handle dunder special cases.
+ parts = tuple(module_path.parts)
+ if parts[-1] == "__init__":
+ parts = parts[:-1]
+ doc_path = doc_path.with_name("index.md")
+ full_doc_path = full_doc_path.with_name("index.md")
+ elif parts[-1] == "__main__":
+ continue
+
+ # Save constructed data.
+ nav[parts] = doc_path.as_posix()
+ mkdocs_gen_files.set_edit_path(full_doc_path, path)
+
+ # Save in-memory file.
+ with mkdocs_gen_files.open(full_doc_path, "w") as writer:
+ ident = ".".join(parts)
+ writer.write(f"# {ident}\n\n")
+ writer.write(f"::: {ident}")
+
+ # Save to disk if requested.
+ if temp_dir is not None:
+ temp_path = temp_dir / doc_path
+ temp_path.parent.mkdir(exist_ok=True, parents=True)
+ with open(temp_path, "w") as writer:
+ ident = ".".join(parts)
+ writer.write(f"# {ident}\n\n")
+ writer.write(f"::: {ident}")
+
+# Generate navigation summary.
+with mkdocs_gen_files.open("reference/SUMMARY.md", "w") as writer:
+ writer.writelines(nav.build_literate_nav())
+if temp_dir is not None:
+ temp_path = temp_dir / "SUMMARY.md"
+ with open(temp_path, "w") as writer:
+ writer.writelines(nav.build_literate_nav())
diff --git a/bin/updatejs.py b/bin/updatejs.py
new file mode 100644
index 00000000000..0604bd2c421
--- /dev/null
+++ b/bin/updatejs.py
@@ -0,0 +1,32 @@
+"""Check code."""
+
+import argparse
+from pathlib import Path
+
+import utils
+
+
+def main():
+ """Main driver."""
+
+ args = parse_args()
+ codedir = utils.select_code_directory(args)
+ if args.dev:
+ utils.update_plotlyjs_dev(codedir)
+ else:
+ version = utils.plotly_js_version()
+ print(version)
+ utils.update_plotlyjs(version, codedir)
+
+
+def parse_args():
+ """Parse command-line arguments."""
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--dev", action="store_true", help="development version")
+ parser.add_argument("--codedir", type=Path, help="code directory")
+ return parser.parse_args()
+
+
+if __name__ == "__main__":
+ main()
diff --git a/commands.py b/bin/utils.py
similarity index 79%
rename from commands.py
rename to bin/utils.py
index 01f158380ce..0dd39a4ddf2 100644
--- a/commands.py
+++ b/bin/utils.py
@@ -1,9 +1,9 @@
"""Utility command runner."""
-import argparse
import logging
import json
import os
+from pathlib import Path
import platform
import requests
import shutil
@@ -11,25 +11,29 @@
import sys
import time
-from codegen import perform_codegen, lint_code, reformat_code
+from codegen import perform_codegen
LOGGER = logging.getLogger(__name__)
-PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
-NODE_ROOT = os.path.join(PROJECT_ROOT, "js")
-NODE_MODULES = os.path.join(NODE_ROOT, "node_modules")
-WIDGET_TARGETS = [
- os.path.join(PROJECT_ROOT, "plotly", "package_data", "widgetbundle.js"),
-]
-
+PROJECT_ROOT = Path(__file__).parent.parent
+NODE_ROOT = PROJECT_ROOT / "js"
+NODE_MODULES = NODE_ROOT / "node_modules"
+PLOT_SCHEMA = PROJECT_ROOT / "resources" / "plot-schema.json"
+WIDGET_TARGETS = [PROJECT_ROOT / "plotly" / "package_data" / "widgetbundle.js"]
NPM_PATH = os.pathsep.join(
[
- os.path.join(NODE_ROOT, "node_modules", ".bin"),
+ str(NODE_ROOT / "node_modules" / ".bin"),
os.environ.get("PATH", os.defpath),
]
)
+def select_code_directory(args):
+ """Select root directory for plotly package."""
+
+ return args.codedir if args.codedir else PROJECT_ROOT / "plotly"
+
+
def plotly_js_version():
"""Load plotly.js version from js/package.json."""
@@ -101,8 +105,7 @@ def install_js_deps(local):
def overwrite_schema_local(uri):
"""Replace plot-schema.json with local copy."""
- path = os.path.join(PROJECT_ROOT, "codegen", "resources", "plot-schema.json")
- shutil.copyfile(uri, path)
+ shutil.copyfile(uri, PLOT_SCHEMA)
def overwrite_schema(url):
@@ -110,8 +113,7 @@ def overwrite_schema(url):
req = requests.get(url)
assert req.status_code == 200
- path = os.path.join(PROJECT_ROOT, "codegen", "resources", "plot-schema.json")
- with open(path, "wb") as f:
+ with open(PLOT_SCHEMA, "wb") as f:
f.write(req.content)
@@ -235,12 +237,12 @@ def update_bundle(plotly_js_version):
overwrite_plotlyjs_version_file(plotlyjs_version)
-def update_plotlyjs(plotly_js_version, outdir):
+def update_plotlyjs(plotly_js_version, codedir):
"""Update project to a new version of plotly.js."""
update_bundle(plotly_js_version)
update_schema(plotly_js_version)
- perform_codegen(outdir)
+ perform_codegen(codedir)
# FIXME: switch to argparse
@@ -306,64 +308,8 @@ def update_schema_bundle_from_master():
install_js_deps(local)
-def update_plotlyjs_dev(outdir):
+def update_plotlyjs_dev(codedir):
"""Update project to a new development version of plotly.js."""
update_schema_bundle_from_master()
- perform_codegen(outdir)
-
-
-def parse_args():
- """Parse command-line arguments."""
-
- parser = argparse.ArgumentParser()
- subparsers = parser.add_subparsers(dest="cmd", help="Available subcommands")
-
- p_codegen = subparsers.add_parser("codegen", help="generate code")
- p_codegen.add_argument(
- "--noformat", action="store_true", help="prevent reformatting"
- )
-
- subparsers.add_parser("lint", help="lint code")
-
- subparsers.add_parser("format", help="reformat code")
-
- subparsers.add_parser("updateplotlyjsdev", help="update plotly.js for development")
-
- subparsers.add_parser("updateplotlyjs", help="update plotly.js")
-
- return parser.parse_args()
-
-
-def main():
- """Main driver."""
-
- project_root = os.path.dirname(os.path.realpath(__file__))
- outdir = os.path.join(project_root, "plotly")
-
- args = parse_args()
-
- if args.cmd == "codegen":
- perform_codegen(outdir, noformat=args.noformat)
-
- elif args.cmd == "format":
- reformat_code(outdir)
-
- elif args.cmd == "lint":
- lint_code(outdir)
-
- elif args.cmd == "updateplotlyjsdev":
- update_plotlyjs_dev(outdir)
-
- elif args.cmd == "updateplotlyjs":
- version = plotly_js_version()
- print(version)
- update_plotlyjs(version, outdir)
-
- else:
- print(f"unknown command {args.cmd}", file=sys.stderr)
- sys.exit(1)
-
-
-if __name__ == "__main__":
- main()
+ perform_codegen(codedir)
diff --git a/mkdocs.yml b/mkdocs.yml
new file mode 100644
index 00000000000..c92823309e2
--- /dev/null
+++ b/mkdocs.yml
@@ -0,0 +1,40 @@
+site_name: "Plotly.py Docs"
+docs_dir: pages
+site_dir: docs
+
+plugins:
+ - search
+ - gen-files:
+ scripts:
+ - bin/generate_reference_pages.py
+ - literate-nav:
+ nav_file: SUMMARY.md
+ - mkdocstrings:
+ handlers:
+ python:
+ options:
+ docstring_style: google
+ show_source: false
+ show_root_heading: true
+ show_root_toc_entry: true
+ merge_init_into_class: true
+
+nav:
+- Home: index.md
+- API Reference: reference/
+- Project:
+ - license.md
+ - conduct.md
+ - contributing.md
+
+theme:
+ name: "material"
+
+markdown_extensions:
+- def_list
+- markdown_include.include:
+ base_path: docs
+- footnotes
+
+exclude_docs: >
+ *~
diff --git a/pages/conduct.md b/pages/conduct.md
new file mode 100644
index 00000000000..14a6a4a839a
--- /dev/null
+++ b/pages/conduct.md
@@ -0,0 +1 @@
+{!../CODE_OF_CONDUCT.md!}
diff --git a/pages/contributing.md b/pages/contributing.md
new file mode 100644
index 00000000000..568877b4a4f
--- /dev/null
+++ b/pages/contributing.md
@@ -0,0 +1 @@
+{!../CONTRIBUTING.md!}
diff --git a/pages/index.md b/pages/index.md
new file mode 100644
index 00000000000..7d211af2649
--- /dev/null
+++ b/pages/index.md
@@ -0,0 +1 @@
+{!../README.md!}
diff --git a/pages/license.md b/pages/license.md
new file mode 100644
index 00000000000..9f03cbeae23
--- /dev/null
+++ b/pages/license.md
@@ -0,0 +1 @@
+{!../LICENSE.txt!}
diff --git a/plotly/_subplots.py b/plotly/_subplots.py
index 8930fd9e41c..65091aa460d 100644
--- a/plotly/_subplots.py
+++ b/plotly/_subplots.py
@@ -122,9 +122,9 @@ def make_subplots(
Per subplot specifications of subplot type, row/column spanning, and
spacing.
- ex1: specs=[[{}, {}], [{'colspan': 2}, None]]
+ ex1: `specs=[[{}, {}], [{'colspan': 2}, None]\\]
- ex2: specs=[[{'rowspan': 2}, {}], [None, {}]]
+ ex2: `specs=[[{'rowspan': 2}, {}], [None, {}]\\]
- Indices of the outer list correspond to subplot grid rows
starting from the top, if start_cell='top-left',
@@ -141,7 +141,7 @@ def make_subplots(
- Use None for a blank a subplot cell (or to move past a col/row span).
- - Note that specs[0][0] has the specs of the 'start_cell' subplot.
+ - Note that `specs[0][0\\] has the specs of the 'start_cell' subplot.
- Each item in 'specs' is a dictionary.
The available keys are:
@@ -246,8 +246,8 @@ def make_subplots(
>>> fig = make_subplots(rows=2)
This is the format of your plot grid:
- [ (1,1) xaxis1,yaxis1 ]
- [ (2,1) xaxis2,yaxis2 ]
+ \\[ (1,1) xaxis1,yaxis1 \\]
+ \\[ (2,1) xaxis2,yaxis2 \\]
>>> fig.add_scatter(y=[2, 1, 3], row=1, col=1) # doctest: +ELLIPSIS
Figure(...)
@@ -262,8 +262,8 @@ def make_subplots(
>>> fig = make_subplots(rows=2, shared_xaxes=True)
This is the format of your plot grid:
- [ (1,1) xaxis1,yaxis1 ]
- [ (2,1) xaxis2,yaxis2 ]
+ \\[ (1,1) xaxis1,yaxis1 \\]
+ \\[ (2,1) xaxis2,yaxis2 \\]
>>> fig.add_scatter(y=[2, 1, 3], row=1, col=1) # doctest: +ELLIPSIS
Figure(...)
@@ -278,8 +278,8 @@ def make_subplots(
... [{'colspan': 2}, None]])
This is the format of your plot grid:
- [ (1,1) xaxis1,yaxis1 ] [ (1,2) xaxis2,yaxis2 ]
- [ (2,1) xaxis3,yaxis3 - ]
+ \\[ (1,1) xaxis1,yaxis1 ] [ (1,2) xaxis2,yaxis2 \\]
+ \\[ (2,1) xaxis3,yaxis3 - \\]
>>> fig.add_trace(go.Scatter(x=[1,2,3], y=[2,1,2]), row=1, col=1) # doctest: +ELLIPSIS
Figure(...)
@@ -294,10 +294,10 @@ def make_subplots(
>>> fig = make_subplots(insets=[{'cell': (1,1), 'l': 0.7, 'b': 0.3}])
This is the format of your plot grid:
- [ (1,1) xaxis1,yaxis1 ]
+ \\[ (1,1) xaxis1,yaxis1 \\]
With insets:
- [ xaxis2,yaxis2 ] over [ (1,1) xaxis1,yaxis1 ]
+ \\[ xaxis2,yaxis2 ] over [ (1,1) xaxis1,yaxis1 \\]
>>> fig.add_scatter(x=[1,2,3], y=[2,1,1]) # doctest: +ELLIPSIS
Figure(...)
@@ -310,8 +310,8 @@ def make_subplots(
>>> fig = make_subplots(rows=2, subplot_titles=('Plot 1','Plot 2'))
This is the format of your plot grid:
- [ (1,1) x1,y1 ]
- [ (2,1) x2,y2 ]
+ \\[ (1,1) x1,y1 \\]
+ \\[ (2,1) x2,y2 \\]
>>> fig.add_scatter(x=[1,2,3], y=[2,1,2], row=1, col=1) # doctest: +ELLIPSIS
Figure(...)
diff --git a/plotly/basedatatypes.py b/plotly/basedatatypes.py
index 1384e08d543..1e7b0fdd7d2 100644
--- a/plotly/basedatatypes.py
+++ b/plotly/basedatatypes.py
@@ -2320,8 +2320,8 @@ def append_trace(self, trace, row, col):
>>> fig = tools.make_subplots(rows=2)
This is the format of your plot grid:
- [ (1,1) x1,y1 ]
- [ (2,1) x2,y2 ]
+ \\[ (1,1) x1,y1 \\]
+ \\[ (2,1) x2,y2 \\]
>>> fig.append_trace(go.Scatter(x=[1,2,3], y=[2,1,2]), row=1, col=1)
>>> fig.append_trace(go.Scatter(x=[1,2,3], y=[2,1,2]), row=2, col=1)
diff --git a/plotly/express/_core.py b/plotly/express/_core.py
index d2dbc84c0e7..53eda20a5a7 100644
--- a/plotly/express/_core.py
+++ b/plotly/express/_core.py
@@ -101,9 +101,9 @@ def reset(self):
def set_mapbox_access_token(token):
"""
Arguments:
- token: A Mapbox token to be used in `plotly.express.scatter_mapbox` and \
- `plotly.express.line_mapbox` figures. See \
- https://docs.mapbox.com/help/how-mapbox-works/access-tokens/ for more details
+ token (Mapbox token): A Mapbox token to be used in `plotly.express.scatter_mapbox` \
+ and `plotly.express.line_mapbox` figures. See \
+ https://docs.mapbox.com/help/how-mapbox-works/access-tokens/ for more details.
"""
global MAPBOX_TOKEN
MAPBOX_TOKEN = token
@@ -115,7 +115,7 @@ def get_trendline_results(fig):
the `trendline` argument set to `"ols"`).
Arguments:
- fig: the output of a `plotly.express` charting call
+ fig (figure): the output of a `plotly.express` charting call
Returns:
A `pandas.DataFrame` with a column "px_fit_results" containing the `statsmodels`
results objects, along with columns identifying the subset of the data the
diff --git a/plotly/figure_factory/_violin.py b/plotly/figure_factory/_violin.py
index 55924e69238..0574406dfe6 100644
--- a/plotly/figure_factory/_violin.py
+++ b/plotly/figure_factory/_violin.py
@@ -513,7 +513,7 @@ def create_violin(
>>> norm_params=[(0, 1.2), (0.7, 1), (-0.5, 1.4), (0.3, 1), (0.8, 0.9)]
>>> for i, letter in enumerate("ABCDE"):
- ... y[gr == letter] *=norm_params[i][1]+ norm_params[i][0]
+ ... y[gr == letter] *= norm_params[i]\\[1]+ norm_params[i]\\[0]
>>> df = pd.DataFrame(dict(Score=y, Group=gr))
>>> # create violin fig
@@ -540,7 +540,7 @@ def create_violin(
>>> norm_params=[(0, 1.2), (0.7, 1), (-0.5, 1.4), (0.3, 1), (0.8, 0.9)]
>>> for i, letter in enumerate("ABCDE"):
- ... y[gr == letter] *=norm_params[i][1]+ norm_params[i][0]
+ ... y[gr == letter] *= norm_params[i]\\[1]+ norm_params[i]\\[0]
>>> df = pd.DataFrame(dict(Score=y, Group=gr))
>>> # define header params
diff --git a/plotly/subplots.py b/plotly/subplots.py
index e41839039e8..76c8baba41b 100644
--- a/plotly/subplots.py
+++ b/plotly/subplots.py
@@ -105,7 +105,7 @@ def make_subplots(
- Use None for a blank a subplot cell (or to move past a col/row span).
- - Note that specs[0][0] has the specs of the 'start_cell' subplot.
+ - Note that `specs[0][0\\] has the specs of the 'start_cell' subplot.
- Each item in 'specs' is a dictionary.
The available keys are:
@@ -210,8 +210,8 @@ def make_subplots(
>>> fig = make_subplots(rows=2)
This is the format of your plot grid:
- [ (1,1) xaxis1,yaxis1 ]
- [ (2,1) xaxis2,yaxis2 ]
+ \\[ (1,1) xaxis1,yaxis1 \\]
+ \\[ (2,1) xaxis2,yaxis2 \\]
>>> fig.add_scatter(y=[2, 1, 3], row=1, col=1) # doctest: +ELLIPSIS
Figure(...)
@@ -226,8 +226,8 @@ def make_subplots(
>>> fig = make_subplots(rows=2, shared_xaxes=True)
This is the format of your plot grid:
- [ (1,1) xaxis1,yaxis1 ]
- [ (2,1) xaxis2,yaxis2 ]
+ \\[ (1,1) xaxis1,yaxis1 \\]
+ \\[ (2,1) xaxis2,yaxis2 \\]
>>> fig.add_scatter(y=[2, 1, 3], row=1, col=1) # doctest: +ELLIPSIS
Figure(...)
@@ -242,8 +242,8 @@ def make_subplots(
... [{'colspan': 2}, None]])
This is the format of your plot grid:
- [ (1,1) xaxis1,yaxis1 ] [ (1,2) xaxis2,yaxis2 ]
- [ (2,1) xaxis3,yaxis3 - ]
+ \\[ (1,1) xaxis1,yaxis1 ] [ (1,2) xaxis2,yaxis2 \\]
+ \\[ (2,1) xaxis3,yaxis3 - \\]
>>> fig.add_trace(go.Scatter(x=[1,2,3], y=[2,1,2]), row=1, col=1) # doctest: +ELLIPSIS
Figure(...)
@@ -258,10 +258,10 @@ def make_subplots(
>>> fig = make_subplots(insets=[{'cell': (1,1), 'l': 0.7, 'b': 0.3}])
This is the format of your plot grid:
- [ (1,1) xaxis1,yaxis1 ]
+ \\[ (1,1) xaxis1,yaxis1 \\]
With insets:
- [ xaxis2,yaxis2 ] over [ (1,1) xaxis1,yaxis1 ]
+ \\[ xaxis2,yaxis2 \\] over \\[ (1,1) xaxis1,yaxis1 \\]
>>> fig.add_scatter(x=[1,2,3], y=[2,1,1]) # doctest: +ELLIPSIS
Figure(...)
@@ -274,8 +274,8 @@ def make_subplots(
>>> fig = make_subplots(rows=2, subplot_titles=('Plot 1','Plot 2'))
This is the format of your plot grid:
- [ (1,1) x1,y1 ]
- [ (2,1) x2,y2 ]
+ \\[ (1,1) x1,y1 \\]
+ \\[ (2,1) x2,y2 \\]
>>> fig.add_scatter(x=[1,2,3], y=[2,1,2], row=1, col=1) # doctest: +ELLIPSIS
Figure(...)
diff --git a/plotly/tools.py b/plotly/tools.py
index 67f828204d7..a425eec3913 100644
--- a/plotly/tools.py
+++ b/plotly/tools.py
@@ -244,8 +244,8 @@ def make_subplots(
fig = tools.make_subplots(rows=2)
This is the format of your plot grid:
- [ (1,1) x1,y1 ]
- [ (2,1) x2,y2 ]
+ \\[ (1,1) x1,y1 \\]
+ \\[ (2,1) x2,y2 \\]
fig['data'] += [Scatter(x=[1,2,3], y=[2,1,2])]
fig['data'] += [Scatter(x=[1,2,3], y=[2,1,2], xaxis='x2', yaxis='y2')]
@@ -257,8 +257,8 @@ def make_subplots(
fig = tools.make_subplots(rows=2, shared_xaxes=True)
This is the format of your plot grid:
- [ (1,1) x1,y1 ]
- [ (2,1) x1,y2 ]
+ \\[ (1,1) x1,y1 \\]
+ \\[ (2,1) x1,y2 \\]
fig['data'] += [Scatter(x=[1,2,3], y=[2,1,2])]
@@ -271,8 +271,8 @@ def make_subplots(
[{'colspan': 2}, None]])
This is the format of your plot grid!
- [ (1,1) x1,y1 ] [ (1,2) x2,y2 ]
- [ (2,1) x3,y3 - ]
+ \\[ (1,1) x1,y1 ] [ (1,2) x2,y2 \\]
+ \\[ (2,1) x3,y3 - \\]
fig['data'] += [Scatter(x=[1,2,3], y=[2,1,2])]
fig['data'] += [Scatter(x=[1,2,3], y=[2,1,2], xaxis='x2', yaxis='y2')]
@@ -283,10 +283,10 @@ def make_subplots(
fig = tools.make_subplots(insets=[{'cell': (1,1), 'l': 0.7, 'b': 0.3}])
This is the format of your plot grid!
- [ (1,1) x1,y1 ]
+ \\[ (1,1) x1,y1 \\]
With insets:
- [ x2,y2 ] over [ (1,1) x1,y1 ]
+ \\[ x2,y2 \\] over \\[ (1,1) x1,y1 \\]
fig['data'] += [Scatter(x=[1,2,3], y=[2,1,2])]
fig['data'] += [Scatter(x=[1,2,3], y=[2,1,2], xaxis='x2', yaxis='y2')]
@@ -296,8 +296,8 @@ def make_subplots(
fig = tools.make_subplots(rows=2, subplot_titles=('Plot 1','Plot 2'))
This is the format of your plot grid:
- [ (1,1) x1,y1 ]
- [ (2,1) x2,y2 ]
+ \\[ (1,1) x1,y1 \\]
+ \\[ (2,1) x2,y2 \\]
fig['data'] += [Scatter(x=[1,2,3], y=[2,1,2])]
fig['data'] += [Scatter(x=[1,2,3], y=[2,1,2], xaxis='x2', yaxis='y2')]
@@ -308,10 +308,10 @@ def make_subplots(
subplot_titles=('','Inset'))
This is the format of your plot grid!
- [ (1,1) x1,y1 ]
+ \\[ (1,1) x1,y1 \\]
With insets:
- [ x2,y2 ] over [ (1,1) x1,y1 ]
+ \\[ x2,y2 \\] over \\[ (1,1) x1,y1 \\]
fig['data'] += [Scatter(x=[1,2,3], y=[2,1,2])]
fig['data'] += [Scatter(x=[1,2,3], y=[2,1,2], xaxis='x2', yaxis='y2')]
diff --git a/pyproject.toml b/pyproject.toml
index 49a821cfb2d..a209ae83089 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -50,7 +50,13 @@ dev_core = [
dev_build = [
"plotly[dev_core]",
"build",
- "jupyter"
+ "jupyter",
+ "markdown-include",
+ "mkdocs",
+ "mkdocs-material",
+ "mkdocstrings[python]",
+ "mkdocs-gen-files",
+ "mkdocs-literate-nav"
]
dev_optional = [
"plotly[dev_build]",
@@ -69,6 +75,7 @@ dev_optional = [
"plotly-geo",
"polars[timezone]",
"pyarrow",
+ "pydoclint",
"pyshp",
"pytz",
"scikit-image",
diff --git a/codegen/resources/plot-schema.json b/resources/plot-schema.json
similarity index 99%
rename from codegen/resources/plot-schema.json
rename to resources/plot-schema.json
index fe1eb67d81a..5648e294fe0 100644
--- a/codegen/resources/plot-schema.json
+++ b/resources/plot-schema.json
@@ -1012,7 +1012,7 @@
"valType": "string"
},
"text": {
- "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.",
+ "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (`
`), bold (``), italics (``), hyperlinks (``). Tags ``, ``, ``, ``, ``, and `` are also supported.",
"editType": "calc+arraydraw",
"valType": "string"
},
@@ -3442,6 +3442,12 @@
"min": 30,
"valType": "number"
},
+ "maxheight": {
+ "description": "Sets the max height (in px) of the legend, or max height ratio (reference height * ratio) if less than one. Default value is: 0.5 for horizontal legends; 1 for vertical legends. The minimum allowed height is 30px. For a ratio of 0.5, the legend will take up to 50% of the reference height before displaying a scrollbar. The reference height is the full layout height except for vertically oriented legends with a `yref` of `\"paper\"`, where the reference height is the plot height.",
+ "editType": "legend",
+ "min": 0,
+ "valType": "number"
+ },
"orientation": {
"description": "Sets the orientation of the legend.",
"dflt": "v",
@@ -3896,7 +3902,7 @@
"symbol": {
"editType": "plot",
"icon": {
- "description": "Sets the symbol icon image (map.layer.layout.icon-image). Full list: https://www.map.com/maki-icons/",
+ "description": "Sets the symbol icon image (map.layer.layout.icon-image). Full list: https://www.mapbox.com/maki-icons/",
"dflt": "marker",
"editType": "plot",
"valType": "string"
@@ -5919,7 +5925,7 @@
"valType": "info_array"
},
"rangemode": {
- "description": "If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. If *normal*, the range is computed in relation to the extrema of the input data (same behavior as for cartesian axes).",
+ "description": "If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. If *normal*, the range is computed in relation to the extrema of the input data (same behavior as for cartesian axes).",
"dflt": "tozero",
"editType": "calc",
"valType": "enumerated",
@@ -6745,7 +6751,7 @@
"valType": "string"
},
"text": {
- "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , , , are also supported.",
+ "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (`
`), bold (``), italics (``), hyperlinks (``). Tags ``, ``, ``, ``, ``, and `` are also supported.",
"editType": "calc",
"valType": "string"
},
@@ -7325,7 +7331,7 @@
"valType": "info_array"
},
"rangemode": {
- "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.",
+ "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.",
"dflt": "normal",
"editType": "plot",
"valType": "enumerated",
@@ -8064,7 +8070,7 @@
"valType": "info_array"
},
"rangemode": {
- "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.",
+ "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.",
"dflt": "normal",
"editType": "plot",
"valType": "enumerated",
@@ -8803,7 +8809,7 @@
"valType": "info_array"
},
"rangemode": {
- "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.",
+ "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.",
"dflt": "normal",
"editType": "plot",
"valType": "enumerated",
@@ -14032,7 +14038,7 @@
"role": "object"
},
"rangemode": {
- "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.",
+ "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.",
"dflt": "normal",
"editType": "plot",
"valType": "enumerated",
@@ -14705,7 +14711,7 @@
]
},
"ticklabelposition": {
- "description": "Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match.",
+ "description": "Determines where tick labels are drawn with respect to the axis. Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period* or when `tickson` is set to *boundaries*. Similarly, left or right has no effect on y axes or when `ticklabelmode` is set to *period* or when `tickson` is set to *boundaries*. Has no effect on *multicategory* axes. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match.",
"dflt": "outside",
"editType": "calc",
"valType": "enumerated",
@@ -14959,6 +14965,16 @@
"editType": "ticks",
"valType": "color"
},
+ "zerolinelayer": {
+ "description": "Sets the layer on which this zeroline is displayed. If *above traces*, this zeroline is displayed above all the subplot's traces If *below traces*, this zeroline is displayed below all the subplot's traces, but above the grid lines. Limitation: *zerolinelayer* currently has no effect if the *zorder* property is set on any trace.",
+ "dflt": "below traces",
+ "editType": "plot",
+ "valType": "enumerated",
+ "values": [
+ "above traces",
+ "below traces"
+ ]
+ },
"zerolinewidth": {
"description": "Sets the width (in px) of the zero line.",
"dflt": 1,
@@ -15583,7 +15599,7 @@
"role": "object"
},
"rangemode": {
- "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.",
+ "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data. Applies only to linear axes.",
"dflt": "normal",
"editType": "plot",
"valType": "enumerated",
@@ -15939,7 +15955,7 @@
]
},
"ticklabelposition": {
- "description": "Determines where tick labels are drawn with respect to the axis Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*. Similarly left or right has no effect on y axes or when `ticklabelmode` is set to *period*. Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match.",
+ "description": "Determines where tick labels are drawn with respect to the axis. Please note that top or bottom has no effect on x axes or when `ticklabelmode` is set to *period* or when `tickson` is set to *boundaries*. Similarly, left or right has no effect on y axes or when `ticklabelmode` is set to *period* or when `tickson` is set to *boundaries*. Has no effect on *multicategory* axes. When used on axes linked by `matches` or `scaleanchor`, no extra padding for inside labels would be added by autorange, so that the scales could match.",
"dflt": "outside",
"editType": "calc",
"valType": "enumerated",
@@ -16193,6 +16209,16 @@
"editType": "ticks",
"valType": "color"
},
+ "zerolinelayer": {
+ "description": "Sets the layer on which this zeroline is displayed. If *above traces*, this zeroline is displayed above all the subplot's traces If *below traces*, this zeroline is displayed below all the subplot's traces, but above the grid lines. Limitation: *zerolinelayer* currently has no effect if the *zorder* property is set on any trace.",
+ "dflt": "below traces",
+ "editType": "plot",
+ "valType": "enumerated",
+ "values": [
+ "above traces",
+ "below traces"
+ ]
+ },
"zerolinewidth": {
"description": "Sets the width (in px) of the zero line.",
"dflt": 1,
@@ -17808,6 +17834,17 @@
"overlay"
]
},
+ "path": {
+ "arrayOk": true,
+ "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.",
+ "editType": "style",
+ "valType": "string"
+ },
+ "pathsrc": {
+ "description": "Sets the source reference on Chart Studio Cloud for `path`.",
+ "editType": "none",
+ "valType": "string"
+ },
"role": "object",
"shape": {
"arrayOk": true,
@@ -19835,6 +19872,17 @@
"overlay"
]
},
+ "path": {
+ "arrayOk": true,
+ "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.",
+ "editType": "style",
+ "valType": "string"
+ },
+ "pathsrc": {
+ "description": "Sets the source reference on Chart Studio Cloud for `path`.",
+ "editType": "none",
+ "valType": "string"
+ },
"role": "object",
"shape": {
"arrayOk": true,
@@ -22654,7 +22702,7 @@
"valType": "info_array"
},
"rangemode": {
- "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.",
+ "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.",
"dflt": "normal",
"editType": "calc",
"valType": "enumerated",
@@ -23325,7 +23373,7 @@
"valType": "info_array"
},
"rangemode": {
- "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.",
+ "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.",
"dflt": "normal",
"editType": "calc",
"valType": "enumerated",
@@ -30170,7 +30218,7 @@
]
},
"value": {
- "description": "Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,<,>=,>,<=) *value* is expected to be a number. When `operation` is set to one of the interval values ([],(),[),(],][,)(,](,)[) *value* is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.",
+ "description": "Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (`=,<,>=,>,<=`) *value* is expected to be a number. When `operation` is set to one of the interval values (`[],(),[),(],][,)(,](,)[`) *value* is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.",
"dflt": 0,
"editType": "calc",
"valType": "any"
@@ -31981,7 +32029,7 @@
]
},
"value": {
- "description": "Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,<,>=,>,<=) *value* is expected to be a number. When `operation` is set to one of the interval values ([],(),[),(],][,)(,](,)[) *value* is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.",
+ "description": "Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (`=,<,>=,>,<=`) *value* is expected to be a number. When `operation` is set to one of the interval values (`[],(),[),(],][,)(,](,)[`) *value* is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.",
"dflt": 0,
"editType": "calc",
"valType": "any"
@@ -37562,6 +37610,17 @@
"overlay"
]
},
+ "path": {
+ "arrayOk": true,
+ "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.",
+ "editType": "style",
+ "valType": "string"
+ },
+ "pathsrc": {
+ "description": "Sets the source reference on Chart Studio Cloud for `path`.",
+ "editType": "none",
+ "valType": "string"
+ },
"role": "object",
"shape": {
"arrayOk": true,
@@ -41225,6 +41284,17 @@
"overlay"
]
},
+ "path": {
+ "arrayOk": true,
+ "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.",
+ "editType": "style",
+ "valType": "string"
+ },
+ "pathsrc": {
+ "description": "Sets the source reference on Chart Studio Cloud for `path`.",
+ "editType": "none",
+ "valType": "string"
+ },
"role": "object",
"shape": {
"arrayOk": true,
@@ -44199,7 +44269,7 @@
]
},
"value": {
- "description": "Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (=,<,>=,>,<=) *value* is expected to be a number. When `operation` is set to one of the interval values ([],(),[),(],][,)(,](,)[) *value* is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.",
+ "description": "Sets the value or values of the constraint boundary. When `operation` is set to one of the comparison values (`=,<,>=,>,<=`) *value* is expected to be a number. When `operation` is set to one of the interval values (`[],(),[),(],][,)(,](,)[`) *value* is expected to be an array of two numbers where the first is the lower bound and the second is the upper bound.",
"dflt": 0,
"editType": "calc",
"valType": "any"
@@ -46456,6 +46526,17 @@
"overlay"
]
},
+ "path": {
+ "arrayOk": true,
+ "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.",
+ "editType": "style",
+ "valType": "string"
+ },
+ "pathsrc": {
+ "description": "Sets the source reference on Chart Studio Cloud for `path`.",
+ "editType": "none",
+ "valType": "string"
+ },
"role": "object",
"shape": {
"arrayOk": true,
@@ -56226,6 +56307,17 @@
"overlay"
]
},
+ "path": {
+ "arrayOk": true,
+ "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.",
+ "editType": "style",
+ "valType": "string"
+ },
+ "pathsrc": {
+ "description": "Sets the source reference on Chart Studio Cloud for `path`.",
+ "editType": "none",
+ "valType": "string"
+ },
"role": "object",
"shape": {
"arrayOk": true,
@@ -58612,6 +58704,17 @@
"overlay"
]
},
+ "path": {
+ "arrayOk": true,
+ "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.",
+ "editType": "style",
+ "valType": "string"
+ },
+ "pathsrc": {
+ "description": "Sets the source reference on Chart Studio Cloud for `path`.",
+ "editType": "none",
+ "valType": "string"
+ },
"role": "object",
"shape": {
"arrayOk": true,
@@ -72077,7 +72180,7 @@
},
"symbol": {
"arrayOk": true,
- "description": "Sets the marker symbol. Full list: https://www.map.com/maki-icons/ Note that the array `marker.color` and `marker.size` are only available for *circle* symbols.",
+ "description": "Sets the marker symbol. Full list: https://www.mapbox.com/maki-icons/ Note that the array `marker.color` and `marker.size` are only available for *circle* symbols.",
"dflt": "circle",
"editType": "calc",
"valType": "string"
@@ -87705,6 +87808,17 @@
"overlay"
]
},
+ "path": {
+ "arrayOk": true,
+ "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.",
+ "editType": "style",
+ "valType": "string"
+ },
+ "pathsrc": {
+ "description": "Sets the source reference on Chart Studio Cloud for `path`.",
+ "editType": "none",
+ "valType": "string"
+ },
"role": "object",
"shape": {
"arrayOk": true,
@@ -92346,6 +92460,17 @@
"overlay"
]
},
+ "path": {
+ "arrayOk": true,
+ "description": "Sets a custom path for pattern fill. Use with no `shape` or `solidity`, provide an SVG path string for the regions of the square from (0,0) to (`size`,`size`) to color.",
+ "editType": "style",
+ "valType": "string"
+ },
+ "pathsrc": {
+ "description": "Sets the source reference on Chart Studio Cloud for `path`.",
+ "editType": "none",
+ "valType": "string"
+ },
"role": "object",
"shape": {
"arrayOk": true,
diff --git a/uv.lock b/uv.lock
index e882459b0f6..987dadda1bf 100644
--- a/uv.lock
+++ b/uv.lock
@@ -246,6 +246,19 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" },
]
+[[package]]
+name = "astunparse"
+version = "1.6.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "six", marker = "python_full_version < '3.9'" },
+ { name = "wheel", marker = "python_full_version < '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f3/af/4182184d3c338792894f34a62672919db7ca008c89abee9b564dd34d8029/astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", size = 18290, upload-time = "2019-12-22T18:12:13.129Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2b/03/13dde6512ad7b4557eb792fbcf0c653af6076b81e5941d36ec61f7ce6028/astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8", size = 12732, upload-time = "2019-12-22T18:12:11.297Z" },
+]
+
[[package]]
name = "async-lru"
version = "2.0.4"
@@ -325,6 +338,45 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/78/cc/e27fd6493bbce8dbea7e6c1bc861fe3d3bc22c4f7c81f4c3befb8ff5bfaf/backports.zoneinfo-0.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:4a0f800587060bf8880f954dbef70de6c11bbe59c673c3d818921f042f9954a6", size = 38967, upload-time = "2020-06-23T13:51:13.735Z" },
]
+[[package]]
+name = "backrefs"
+version = "5.7.post1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform == 'win32'",
+ "python_full_version <= '3.8' and sys_platform == 'win32'",
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform != 'win32'",
+ "python_full_version <= '3.8' and sys_platform != 'win32'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/df/30/903f35159c87ff1d92aa3fcf8cb52de97632a21e0ae43ed940f5d033e01a/backrefs-5.7.post1.tar.gz", hash = "sha256:8b0f83b770332ee2f1c8244f4e03c77d127a0fa529328e6a0e77fa25bee99678", size = 6582270, upload-time = "2024-06-16T18:38:20.166Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/24/bb/47fc255d1060dcfd55b460236380edd8ebfc5b2a42a0799ca90c9fc983e3/backrefs-5.7.post1-py310-none-any.whl", hash = "sha256:c5e3fd8fd185607a7cb1fefe878cfb09c34c0be3c18328f12c574245f1c0287e", size = 380429, upload-time = "2024-06-16T18:38:10.131Z" },
+ { url = "https://files.pythonhosted.org/packages/89/72/39ef491caef3abae945f5a5fd72830d3b596bfac0630508629283585e213/backrefs-5.7.post1-py311-none-any.whl", hash = "sha256:712ea7e494c5bf3291156e28954dd96d04dc44681d0e5c030adf2623d5606d51", size = 392234, upload-time = "2024-06-16T18:38:12.283Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/00/33403f581b732ca70fdebab558e8bbb426a29c34e0c3ed674a479b74beea/backrefs-5.7.post1-py312-none-any.whl", hash = "sha256:a6142201c8293e75bce7577ac29e1a9438c12e730d73a59efdd1b75528d1a6c5", size = 398110, upload-time = "2024-06-16T18:38:14.257Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/ea/df0ac74a26838f6588aa012d5d801831448b87d0a7d0aefbbfabbe894870/backrefs-5.7.post1-py38-none-any.whl", hash = "sha256:ec61b1ee0a4bfa24267f6b67d0f8c5ffdc8e0d7dc2f18a2685fd1d8d9187054a", size = 369477, upload-time = "2024-06-16T18:38:16.196Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/e8/e43f535c0a17a695e5768670fc855a0e5d52dc0d4135b3915bfa355f65ac/backrefs-5.7.post1-py39-none-any.whl", hash = "sha256:05c04af2bf752bb9a6c9dcebb2aff2fab372d3d9d311f2a138540e307756bd3a", size = 380429, upload-time = "2024-06-16T18:38:18.079Z" },
+]
+
+[[package]]
+name = "backrefs"
+version = "5.9"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.12'",
+ "python_full_version == '3.11.*'",
+ "python_full_version == '3.10.*'",
+ "python_full_version == '3.9.*'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/eb/a7/312f673df6a79003279e1f55619abbe7daebbb87c17c976ddc0345c04c7b/backrefs-5.9.tar.gz", hash = "sha256:808548cb708d66b82ee231f962cb36faaf4f2baab032f2fbb783e9c2fdddaa59", size = 5765857, upload-time = "2025-06-22T19:34:13.97Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/19/4d/798dc1f30468134906575156c089c492cf79b5a5fd373f07fe26c4d046bf/backrefs-5.9-py310-none-any.whl", hash = "sha256:db8e8ba0e9de81fcd635f440deab5ae5f2591b54ac1ebe0550a2ca063488cd9f", size = 380267, upload-time = "2025-06-22T19:34:05.252Z" },
+ { url = "https://files.pythonhosted.org/packages/55/07/f0b3375bf0d06014e9787797e6b7cc02b38ac9ff9726ccfe834d94e9991e/backrefs-5.9-py311-none-any.whl", hash = "sha256:6907635edebbe9b2dc3de3a2befff44d74f30a4562adbb8b36f21252ea19c5cf", size = 392072, upload-time = "2025-06-22T19:34:06.743Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/12/4f345407259dd60a0997107758ba3f221cf89a9b5a0f8ed5b961aef97253/backrefs-5.9-py312-none-any.whl", hash = "sha256:7fdf9771f63e6028d7fee7e0c497c81abda597ea45d6b8f89e8ad76994f5befa", size = 397947, upload-time = "2025-06-22T19:34:08.172Z" },
+ { url = "https://files.pythonhosted.org/packages/10/bf/fa31834dc27a7f05e5290eae47c82690edc3a7b37d58f7fb35a1bdbf355b/backrefs-5.9-py313-none-any.whl", hash = "sha256:cc37b19fa219e93ff825ed1fed8879e47b4d89aa7a1884860e2db64ccd7c676b", size = 399843, upload-time = "2025-06-22T19:34:09.68Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/24/b29af34b2c9c41645a9f4ff117bae860291780d73880f449e0b5d948c070/backrefs-5.9-py314-none-any.whl", hash = "sha256:df5e169836cc8acb5e440ebae9aad4bf9d15e226d3bad049cf3f6a5c20cc8dc9", size = 411762, upload-time = "2025-06-22T19:34:11.037Z" },
+ { url = "https://files.pythonhosted.org/packages/41/ff/392bff89415399a979be4a65357a41d92729ae8580a66073d8ec8d810f98/backrefs-5.9-py39-none-any.whl", hash = "sha256:f48ee18f6252b8f5777a22a00a09a85de0ca931658f1dd96d4406a34f3748c60", size = 380265, upload-time = "2025-06-22T19:34:12.405Z" },
+]
+
[[package]]
name = "beautifulsoup4"
version = "4.13.4"
@@ -743,7 +795,7 @@ name = "click"
version = "8.1.8"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" },
+ { name = "colorama", marker = "sys_platform == 'win32'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" }
wheels = [
@@ -1066,6 +1118,15 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" },
]
+[[package]]
+name = "docstring-parser-fork"
+version = "0.0.12"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/c6/72/61f7243ad62e14d527f93304cd4f333e681295aa3ef9bcc4afc36c07001a/docstring_parser_fork-0.0.12.tar.gz", hash = "sha256:b44c5e0be64ae80f395385f01497d381bd094a57221fd9ff020987d06857b2a0", size = 31608, upload-time = "2025-01-13T07:57:43.351Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/50/0d/eed05d4b1065f11f8bef2f57440759d4dacc73c22780764948bfa4aaa304/docstring_parser_fork-0.0.12-py3-none-any.whl", hash = "sha256:55d7cbbc8b367655efd64372b9a0b33a49bae930a8ddd5cdc4c6112312e28a87", size = 42185, upload-time = "2025-01-13T07:57:39.993Z" },
+]
+
[[package]]
name = "exceptiongroup"
version = "1.3.0"
@@ -1437,6 +1498,55 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/be/82/79e02a0e5dd4aca81894842b9d6522624a40048a913c6384efb2987a4144/geopandas-1.1.0-py3-none-any.whl", hash = "sha256:b19b18bdc736ee05b237f5e9184211c452768a4c883f7d7f8421b0cbe1da5875", size = 338014, upload-time = "2025-06-01T16:54:29.239Z" },
]
+[[package]]
+name = "ghp-import"
+version = "2.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "python-dateutil" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d9/29/d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4/ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343", size = 10943, upload-time = "2022-05-02T15:47:16.11Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" },
+]
+
+[[package]]
+name = "griffe"
+version = "1.4.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform == 'win32'",
+ "python_full_version <= '3.8' and sys_platform == 'win32'",
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform != 'win32'",
+ "python_full_version <= '3.8' and sys_platform != 'win32'",
+]
+dependencies = [
+ { name = "astunparse", marker = "python_full_version < '3.9'" },
+ { name = "colorama", marker = "python_full_version < '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/05/e9/b2c86ad9d69053e497a24ceb25d661094fb321ab4ed39a8b71793dcbae82/griffe-1.4.0.tar.gz", hash = "sha256:8fccc585896d13f1221035d32c50dec65830c87d23f9adb9b1e6f3d63574f7f5", size = 381028, upload-time = "2024-10-11T12:53:54.414Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/22/7c/e9e66869c2e4c9b378474e49c993128ec0131ef4721038b6d06e50538caf/griffe-1.4.0-py3-none-any.whl", hash = "sha256:e589de8b8c137e99a46ec45f9598fc0ac5b6868ce824b24db09c02d117b89bc5", size = 127015, upload-time = "2024-10-11T12:53:52.383Z" },
+]
+
+[[package]]
+name = "griffe"
+version = "1.7.3"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.12'",
+ "python_full_version == '3.11.*'",
+ "python_full_version == '3.10.*'",
+ "python_full_version == '3.9.*'",
+]
+dependencies = [
+ { name = "colorama", marker = "python_full_version >= '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a9/3e/5aa9a61f7c3c47b0b52a1d930302992229d191bf4bc76447b324b731510a/griffe-1.7.3.tar.gz", hash = "sha256:52ee893c6a3a968b639ace8015bec9d36594961e156e23315c8e8e51401fa50b", size = 395137, upload-time = "2025-04-23T11:29:09.147Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/58/c6/5c20af38c2a57c15d87f7f38bee77d63c1d2a3689f74fefaf35915dd12b2/griffe-1.7.3-py3-none-any.whl", hash = "sha256:c6b3ee30c2f0f17f30bcdef5068d6ab7a2a4f1b8bf1a3e74b56fffd21e1c5f75", size = 129303, upload-time = "2025-04-23T11:29:07.145Z" },
+]
+
[[package]]
name = "h11"
version = "0.16.0"
@@ -2787,6 +2897,55 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/bc/df/e51691ab004d74fa25b751527d041ad1b4d84ee86cbcb8630ab0d7d5188e/logistro-1.1.0-py3-none-any.whl", hash = "sha256:4f88541fe7f3c545561b754d86121abd9c6d4d8b312381046a78dcd794fddc7c", size = 7894, upload-time = "2025-04-26T20:14:09.363Z" },
]
+[[package]]
+name = "markdown"
+version = "3.7"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform == 'win32'",
+ "python_full_version <= '3.8' and sys_platform == 'win32'",
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform != 'win32'",
+ "python_full_version <= '3.8' and sys_platform != 'win32'",
+]
+dependencies = [
+ { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/54/28/3af612670f82f4c056911fbbbb42760255801b3068c48de792d354ff4472/markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2", size = 357086, upload-time = "2024-08-16T15:55:17.812Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3f/08/83871f3c50fc983b88547c196d11cf8c3340e37c32d2e9d6152abe2c61f7/Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803", size = 106349, upload-time = "2024-08-16T15:55:16.176Z" },
+]
+
+[[package]]
+name = "markdown"
+version = "3.8.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.12'",
+ "python_full_version == '3.11.*'",
+ "python_full_version == '3.10.*'",
+ "python_full_version == '3.9.*'",
+]
+dependencies = [
+ { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d7/c2/4ab49206c17f75cb08d6311171f2d65798988db4360c4d1485bd0eedd67c/markdown-3.8.2.tar.gz", hash = "sha256:247b9a70dd12e27f67431ce62523e675b866d254f900c4fe75ce3dda62237c45", size = 362071, upload-time = "2025-06-19T17:12:44.483Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/96/2b/34cc11786bc00d0f04d0f5fdc3a2b1ae0b6239eef72d3d345805f9ad92a1/markdown-3.8.2-py3-none-any.whl", hash = "sha256:5c83764dbd4e00bdd94d85a19b8d55ccca20fe35b2e678a1422b380324dd5f24", size = 106827, upload-time = "2025-06-19T17:12:42.994Z" },
+]
+
+[[package]]
+name = "markdown-include"
+version = "0.8.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markdown", version = "3.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "markdown", version = "3.8.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ad/d8/66bf162fe6c1adb619f94a6da599323eecacf15b6d57469d0fd0421c10df/markdown-include-0.8.1.tar.gz", hash = "sha256:1d0623e0fc2757c38d35df53752768356162284259d259c486b4ab6285cdbbe3", size = 21873, upload-time = "2023-02-07T09:47:26.608Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d7/e2/c4d20b21a05fe0fee571649cebc05f7f72e80b1a743f932e7326125e6c9e/markdown_include-0.8.1-py3-none-any.whl", hash = "sha256:32f0635b9cfef46997b307e2430022852529f7a5b87c0075c504283e7cc7db53", size = 18837, upload-time = "2023-02-07T09:47:25.03Z" },
+]
+
[[package]]
name = "markdown-it-py"
version = "3.0.0"
@@ -3093,6 +3252,15 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" },
]
+[[package]]
+name = "mergedeep"
+version = "1.3.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3a/41/580bb4006e3ed0361b8151a01d324fb03f420815446c7def45d02f74c270/mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8", size = 4661, upload-time = "2021-02-05T18:55:30.623Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307", size = 6354, upload-time = "2021-02-05T18:55:29.583Z" },
+]
+
[[package]]
name = "mistune"
version = "3.1.3"
@@ -3106,6 +3274,277 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/01/4d/23c4e4f09da849e127e9f123241946c23c1e30f45a88366879e064211815/mistune-3.1.3-py3-none-any.whl", hash = "sha256:1a32314113cff28aa6432e99e522677c8587fd83e3d51c29b82a52409c842bd9", size = 53410, upload-time = "2025-03-19T14:27:23.451Z" },
]
+[[package]]
+name = "mkdocs"
+version = "1.6.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "click" },
+ { name = "colorama", marker = "sys_platform == 'win32'" },
+ { name = "ghp-import" },
+ { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" },
+ { name = "jinja2" },
+ { name = "markdown", version = "3.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "markdown", version = "3.8.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "mergedeep" },
+ { name = "mkdocs-get-deps" },
+ { name = "packaging" },
+ { name = "pathspec" },
+ { name = "pyyaml" },
+ { name = "pyyaml-env-tag", version = "0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "pyyaml-env-tag", version = "1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "watchdog", version = "4.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "watchdog", version = "6.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/bc/c6/bbd4f061bd16b378247f12953ffcb04786a618ce5e904b8c5a01a0309061/mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2", size = 3889159, upload-time = "2024-08-30T12:24:06.899Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e", size = 3864451, upload-time = "2024-08-30T12:24:05.054Z" },
+]
+
+[[package]]
+name = "mkdocs-autorefs"
+version = "1.2.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform == 'win32'",
+ "python_full_version <= '3.8' and sys_platform == 'win32'",
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform != 'win32'",
+ "python_full_version <= '3.8' and sys_platform != 'win32'",
+]
+dependencies = [
+ { name = "markdown", version = "3.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "mkdocs", marker = "python_full_version < '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fb/ae/0f1154c614d6a8b8a36fff084e5b82af3a15f7d2060cf0dcdb1c53297a71/mkdocs_autorefs-1.2.0.tar.gz", hash = "sha256:a86b93abff653521bda71cf3fc5596342b7a23982093915cb74273f67522190f", size = 40262, upload-time = "2024-09-01T18:29:18.514Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/71/26/4d39d52ea2219604053a4d05b98e90d6a335511cc01806436ec4886b1028/mkdocs_autorefs-1.2.0-py3-none-any.whl", hash = "sha256:d588754ae89bd0ced0c70c06f58566a4ee43471eeeee5202427da7de9ef85a2f", size = 16522, upload-time = "2024-09-01T18:29:16.605Z" },
+]
+
+[[package]]
+name = "mkdocs-autorefs"
+version = "1.4.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.12'",
+ "python_full_version == '3.11.*'",
+ "python_full_version == '3.10.*'",
+ "python_full_version == '3.9.*'",
+]
+dependencies = [
+ { name = "markdown", version = "3.8.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "mkdocs", marker = "python_full_version >= '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/47/0c/c9826f35b99c67fa3a7cddfa094c1a6c43fafde558c309c6e4403e5b37dc/mkdocs_autorefs-1.4.2.tar.gz", hash = "sha256:e2ebe1abd2b67d597ed19378c0fff84d73d1dbce411fce7a7cc6f161888b6749", size = 54961, upload-time = "2025-05-20T13:09:09.886Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/87/dc/fc063b78f4b769d1956319351704e23ebeba1e9e1d6a41b4b602325fd7e4/mkdocs_autorefs-1.4.2-py3-none-any.whl", hash = "sha256:83d6d777b66ec3c372a1aad4ae0cf77c243ba5bcda5bf0c6b8a2c5e7a3d89f13", size = 24969, upload-time = "2025-05-20T13:09:08.237Z" },
+]
+
+[[package]]
+name = "mkdocs-gen-files"
+version = "0.5.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mkdocs" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/48/85/2d634462fd59136197d3126ca431ffb666f412e3db38fd5ce3a60566303e/mkdocs_gen_files-0.5.0.tar.gz", hash = "sha256:4c7cf256b5d67062a788f6b1d035e157fc1a9498c2399be9af5257d4ff4d19bc", size = 7539, upload-time = "2023-04-27T19:48:04.894Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e7/0f/1e55b3fd490ad2cecb6e7b31892d27cb9fc4218ec1dab780440ba8579e74/mkdocs_gen_files-0.5.0-py3-none-any.whl", hash = "sha256:7ac060096f3f40bd19039e7277dd3050be9a453c8ac578645844d4d91d7978ea", size = 8380, upload-time = "2023-04-27T19:48:07.059Z" },
+]
+
+[[package]]
+name = "mkdocs-get-deps"
+version = "0.2.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" },
+ { name = "mergedeep" },
+ { name = "platformdirs", version = "4.3.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "platformdirs", version = "4.3.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "pyyaml" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/98/f5/ed29cd50067784976f25ed0ed6fcd3c2ce9eb90650aa3b2796ddf7b6870b/mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c", size = 10239, upload-time = "2023-11-20T17:51:09.981Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134", size = 9521, upload-time = "2023-11-20T17:51:08.587Z" },
+]
+
+[[package]]
+name = "mkdocs-literate-nav"
+version = "0.6.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform == 'win32'",
+ "python_full_version <= '3.8' and sys_platform == 'win32'",
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform != 'win32'",
+ "python_full_version <= '3.8' and sys_platform != 'win32'",
+]
+dependencies = [
+ { name = "mkdocs", marker = "python_full_version < '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4d/f9/c48a04f3cf484f8016a343c1d7d99c3a1ef01dbb33ceabb1d02e0ecabda7/mkdocs_literate_nav-0.6.1.tar.gz", hash = "sha256:78a7ab6d878371728acb0cdc6235c9b0ffc6e83c997b037f4a5c6ff7cef7d759", size = 16437, upload-time = "2023-09-10T22:17:16.815Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/51/3b/e00d839d3242844c77e248f9572dd34644a04300839a60fe7d6bf652ab19/mkdocs_literate_nav-0.6.1-py3-none-any.whl", hash = "sha256:e70bdc4a07050d32da79c0b697bd88e9a104cf3294282e9cb20eec94c6b0f401", size = 13182, upload-time = "2023-09-10T22:17:18.751Z" },
+]
+
+[[package]]
+name = "mkdocs-literate-nav"
+version = "0.6.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.12'",
+ "python_full_version == '3.11.*'",
+ "python_full_version == '3.10.*'",
+ "python_full_version == '3.9.*'",
+]
+dependencies = [
+ { name = "mkdocs", marker = "python_full_version >= '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f6/5f/99aa379b305cd1c2084d42db3d26f6de0ea9bf2cc1d10ed17f61aff35b9a/mkdocs_literate_nav-0.6.2.tar.gz", hash = "sha256:760e1708aa4be86af81a2b56e82c739d5a8388a0eab1517ecfd8e5aa40810a75", size = 17419, upload-time = "2025-03-18T21:53:09.711Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8a/84/b5b14d2745e4dd1a90115186284e9ee1b4d0863104011ab46abb7355a1c3/mkdocs_literate_nav-0.6.2-py3-none-any.whl", hash = "sha256:0a6489a26ec7598477b56fa112056a5e3a6c15729f0214bea8a4dbc55bd5f630", size = 13261, upload-time = "2025-03-18T21:53:08.1Z" },
+]
+
+[[package]]
+name = "mkdocs-material"
+version = "9.6.15"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "babel" },
+ { name = "backrefs", version = "5.7.post1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "backrefs", version = "5.9", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "colorama" },
+ { name = "jinja2" },
+ { name = "markdown", version = "3.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "markdown", version = "3.8.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "mkdocs" },
+ { name = "mkdocs-material-extensions" },
+ { name = "paginate" },
+ { name = "pygments" },
+ { name = "pymdown-extensions", version = "10.15", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "pymdown-extensions", version = "10.16", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "requests" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/95/c1/f804ba2db2ddc2183e900befe7dad64339a34fa935034e1ab405289d0a97/mkdocs_material-9.6.15.tar.gz", hash = "sha256:64adf8fa8dba1a17905b6aee1894a5aafd966d4aeb44a11088519b0f5ca4f1b5", size = 3951836, upload-time = "2025-07-01T10:14:15.671Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1d/30/dda19f0495a9096b64b6b3c07c4bfcff1c76ee0fc521086d53593f18b4c0/mkdocs_material-9.6.15-py3-none-any.whl", hash = "sha256:ac969c94d4fe5eb7c924b6d2f43d7db41159ea91553d18a9afc4780c34f2717a", size = 8716840, upload-time = "2025-07-01T10:14:13.18Z" },
+]
+
+[[package]]
+name = "mkdocs-material-extensions"
+version = "1.3.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/79/9b/9b4c96d6593b2a541e1cb8b34899a6d021d208bb357042823d4d2cabdbe7/mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443", size = 11847, upload-time = "2023-11-22T19:09:45.208Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728, upload-time = "2023-11-22T19:09:43.465Z" },
+]
+
+[[package]]
+name = "mkdocstrings"
+version = "0.26.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform == 'win32'",
+ "python_full_version <= '3.8' and sys_platform == 'win32'",
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform != 'win32'",
+ "python_full_version <= '3.8' and sys_platform != 'win32'",
+]
+dependencies = [
+ { name = "click", marker = "python_full_version < '3.9'" },
+ { name = "importlib-metadata", version = "8.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "jinja2", marker = "python_full_version < '3.9'" },
+ { name = "markdown", version = "3.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "mkdocs", marker = "python_full_version < '3.9'" },
+ { name = "mkdocs-autorefs", version = "1.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "platformdirs", version = "4.3.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "pymdown-extensions", version = "10.15", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e6/bf/170ff04de72227f715d67da32950c7b8434449f3805b2ec3dd1085db4d7c/mkdocstrings-0.26.1.tar.gz", hash = "sha256:bb8b8854d6713d5348ad05b069a09f3b79edbc6a0f33a34c6821141adb03fe33", size = 92677, upload-time = "2024-09-06T10:26:06.736Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/23/cc/8ba127aaee5d1e9046b0d33fa5b3d17da95a9d705d44902792e0569257fd/mkdocstrings-0.26.1-py3-none-any.whl", hash = "sha256:29738bfb72b4608e8e55cc50fb8a54f325dc7ebd2014e4e3881a49892d5983cf", size = 29643, upload-time = "2024-09-06T10:26:04.498Z" },
+]
+
+[package.optional-dependencies]
+python = [
+ { name = "mkdocstrings-python", version = "1.11.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+]
+
+[[package]]
+name = "mkdocstrings"
+version = "0.29.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.12'",
+ "python_full_version == '3.11.*'",
+ "python_full_version == '3.10.*'",
+ "python_full_version == '3.9.*'",
+]
+dependencies = [
+ { name = "importlib-metadata", version = "8.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" },
+ { name = "jinja2", marker = "python_full_version >= '3.9'" },
+ { name = "markdown", version = "3.8.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "markupsafe", version = "3.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "mkdocs", marker = "python_full_version >= '3.9'" },
+ { name = "mkdocs-autorefs", version = "1.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "pymdown-extensions", version = "10.16", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/41/e8/d22922664a627a0d3d7ff4a6ca95800f5dde54f411982591b4621a76225d/mkdocstrings-0.29.1.tar.gz", hash = "sha256:8722f8f8c5cd75da56671e0a0c1bbed1df9946c0cef74794d6141b34011abd42", size = 1212686, upload-time = "2025-03-31T08:33:11.997Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/98/14/22533a578bf8b187e05d67e2c1721ce10e3f526610eebaf7a149d557ea7a/mkdocstrings-0.29.1-py3-none-any.whl", hash = "sha256:37a9736134934eea89cbd055a513d40a020d87dfcae9e3052c2a6b8cd4af09b6", size = 1631075, upload-time = "2025-03-31T08:33:09.661Z" },
+]
+
+[package.optional-dependencies]
+python = [
+ { name = "mkdocstrings-python", version = "1.16.12", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+]
+
+[[package]]
+name = "mkdocstrings-python"
+version = "1.11.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform == 'win32'",
+ "python_full_version <= '3.8' and sys_platform == 'win32'",
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform != 'win32'",
+ "python_full_version <= '3.8' and sys_platform != 'win32'",
+]
+dependencies = [
+ { name = "griffe", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "mkdocs-autorefs", version = "1.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "mkdocstrings", version = "0.26.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fc/ba/534c934cd0a809f51c91332d6ed278782ee4126b8ba8db02c2003f162b47/mkdocstrings_python-1.11.1.tar.gz", hash = "sha256:8824b115c5359304ab0b5378a91f6202324a849e1da907a3485b59208b797322", size = 166890, upload-time = "2024-09-03T17:20:54.904Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2f/f2/2a2c48fda645ac6bbe73bcc974587a579092b6868e6ff8bc6d177f4db38a/mkdocstrings_python-1.11.1-py3-none-any.whl", hash = "sha256:a21a1c05acef129a618517bb5aae3e33114f569b11588b1e7af3e9d4061a71af", size = 109297, upload-time = "2024-09-03T17:20:52.621Z" },
+]
+
+[[package]]
+name = "mkdocstrings-python"
+version = "1.16.12"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.12'",
+ "python_full_version == '3.11.*'",
+ "python_full_version == '3.10.*'",
+ "python_full_version == '3.9.*'",
+]
+dependencies = [
+ { name = "griffe", version = "1.7.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "mkdocs-autorefs", version = "1.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "mkdocstrings", version = "0.29.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "typing-extensions", version = "4.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/bf/ed/b886f8c714fd7cccc39b79646b627dbea84cd95c46be43459ef46852caf0/mkdocstrings_python-1.16.12.tar.gz", hash = "sha256:9b9eaa066e0024342d433e332a41095c4e429937024945fea511afe58f63175d", size = 206065, upload-time = "2025-06-03T12:52:49.276Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3b/dd/a24ee3de56954bfafb6ede7cd63c2413bb842cc48eb45e41c43a05a33074/mkdocstrings_python-1.16.12-py3-none-any.whl", hash = "sha256:22ded3a63b3d823d57457a70ff9860d5a4de9e8b1e482876fc9baabaf6f5f374", size = 124287, upload-time = "2025-06-03T12:52:47.819Z" },
+]
+
[[package]]
name = "more-itertools"
version = "10.5.0"
@@ -3843,6 +4282,15 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" },
]
+[[package]]
+name = "paginate"
+version = "0.5.7"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ec/46/68dde5b6bc00c1296ec6466ab27dddede6aec9af1b99090e1107091b3b84/paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945", size = 19252, upload-time = "2024-08-25T14:17:24.139Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591", size = 13746, upload-time = "2024-08-25T14:17:22.55Z" },
+]
+
[[package]]
name = "pandas"
version = "2.0.3"
@@ -4003,6 +4451,15 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl", hash = "sha256:978e4ac767ec4ba5b86c6eaa52e5a2a3bc748a2ca839e8cc798f1cc6ce6efb0f", size = 18905, upload-time = "2024-05-06T19:51:39.271Z" },
]
+[[package]]
+name = "pathspec"
+version = "0.12.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" },
+]
+
[[package]]
name = "patsy"
version = "1.0.1"
@@ -4296,6 +4753,14 @@ dev = [
{ name = "inflect", version = "7.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
{ name = "jupyter" },
{ name = "kaleido" },
+ { name = "markdown-include" },
+ { name = "mkdocs" },
+ { name = "mkdocs-gen-files" },
+ { name = "mkdocs-literate-nav", version = "0.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "mkdocs-literate-nav", version = "0.6.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "mkdocs-material" },
+ { name = "mkdocstrings", version = "0.26.1", source = { registry = "https://pypi.org/simple" }, extra = ["python"], marker = "python_full_version < '3.9'" },
+ { name = "mkdocstrings", version = "0.29.1", source = { registry = "https://pypi.org/simple" }, extra = ["python"], marker = "python_full_version >= '3.9'" },
{ name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
{ name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" },
{ name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" },
@@ -4312,6 +4777,8 @@ dev = [
{ name = "polars", version = "1.30.0", source = { registry = "https://pypi.org/simple" }, extra = ["timezone"], marker = "python_full_version >= '3.9'" },
{ name = "pyarrow", version = "17.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
{ name = "pyarrow", version = "20.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "pydoclint", version = "0.5.11", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "pydoclint", version = "0.6.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
{ name = "pyshp" },
{ name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
{ name = "pytest", version = "8.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
@@ -4336,6 +4803,14 @@ dev = [
dev-build = [
{ name = "build" },
{ name = "jupyter" },
+ { name = "markdown-include" },
+ { name = "mkdocs" },
+ { name = "mkdocs-gen-files" },
+ { name = "mkdocs-literate-nav", version = "0.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "mkdocs-literate-nav", version = "0.6.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "mkdocs-material" },
+ { name = "mkdocstrings", version = "0.26.1", source = { registry = "https://pypi.org/simple" }, extra = ["python"], marker = "python_full_version < '3.9'" },
+ { name = "mkdocstrings", version = "0.29.1", source = { registry = "https://pypi.org/simple" }, extra = ["python"], marker = "python_full_version >= '3.9'" },
{ name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
{ name = "pytest", version = "8.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
{ name = "requests" },
@@ -4359,6 +4834,14 @@ dev-optional = [
{ name = "inflect", version = "7.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
{ name = "jupyter" },
{ name = "kaleido" },
+ { name = "markdown-include" },
+ { name = "mkdocs" },
+ { name = "mkdocs-gen-files" },
+ { name = "mkdocs-literate-nav", version = "0.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "mkdocs-literate-nav", version = "0.6.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "mkdocs-material" },
+ { name = "mkdocstrings", version = "0.26.1", source = { registry = "https://pypi.org/simple" }, extra = ["python"], marker = "python_full_version < '3.9'" },
+ { name = "mkdocstrings", version = "0.29.1", source = { registry = "https://pypi.org/simple" }, extra = ["python"], marker = "python_full_version >= '3.9'" },
{ name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
{ name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" },
{ name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" },
@@ -4375,6 +4858,8 @@ dev-optional = [
{ name = "polars", version = "1.30.0", source = { registry = "https://pypi.org/simple" }, extra = ["timezone"], marker = "python_full_version >= '3.9'" },
{ name = "pyarrow", version = "17.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
{ name = "pyarrow", version = "20.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "pydoclint", version = "0.5.11", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "pydoclint", version = "0.6.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
{ name = "pyshp" },
{ name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
{ name = "pytest", version = "8.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
@@ -4416,6 +4901,12 @@ requires-dist = [
{ name = "inflect", marker = "extra == 'dev-optional'" },
{ name = "jupyter", marker = "extra == 'dev-build'" },
{ name = "kaleido", marker = "extra == 'kaleido'", specifier = ">=1.0.0" },
+ { name = "markdown-include", marker = "extra == 'dev-build'" },
+ { name = "mkdocs", marker = "extra == 'dev-build'" },
+ { name = "mkdocs-gen-files", marker = "extra == 'dev-build'" },
+ { name = "mkdocs-literate-nav", marker = "extra == 'dev-build'" },
+ { name = "mkdocs-material", marker = "extra == 'dev-build'" },
+ { name = "mkdocstrings", extras = ["python"], marker = "extra == 'dev-build'" },
{ name = "narwhals", specifier = ">=1.15.1" },
{ name = "numpy", marker = "extra == 'dev-optional'" },
{ name = "numpy", marker = "extra == 'express'" },
@@ -4431,6 +4922,7 @@ requires-dist = [
{ name = "plotly-geo", marker = "extra == 'dev-optional'" },
{ name = "polars", extras = ["timezone"], marker = "extra == 'dev-optional'" },
{ name = "pyarrow", marker = "extra == 'dev-optional'" },
+ { name = "pydoclint", marker = "extra == 'dev-optional'" },
{ name = "pyshp", marker = "extra == 'dev-optional'" },
{ name = "pytest", marker = "extra == 'dev-core'" },
{ name = "pytz", marker = "extra == 'dev-optional'" },
@@ -5113,6 +5605,46 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/d4/29/3cade8a924a61f60ccfa10842f75eb12787e1440e2b8660ceffeb26685e7/pydantic_core-2.33.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2807668ba86cb38c6817ad9bc66215ab8584d1d304030ce4f0887336f28a5e27", size = 2066661, upload-time = "2025-04-23T18:33:49.995Z" },
]
+[[package]]
+name = "pydoclint"
+version = "0.5.11"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform == 'win32'",
+ "python_full_version <= '3.8' and sys_platform == 'win32'",
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform != 'win32'",
+ "python_full_version <= '3.8' and sys_platform != 'win32'",
+]
+dependencies = [
+ { name = "click", marker = "python_full_version < '3.9'" },
+ { name = "docstring-parser-fork", marker = "python_full_version < '3.9'" },
+ { name = "tomli", marker = "python_full_version < '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/dc/cf/f832704703879915ca1701da7e2addec3f1ebcce7456391e734f346ae118/pydoclint-0.5.11.tar.gz", hash = "sha256:abd3e428b1b8a318cafabcbe6355d4ccf27733267b9f2645e0fb967503f5ba8b", size = 48939, upload-time = "2024-12-14T21:18:59.494Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9c/e8/94e9e035693f211beadfe8e7f6150414d669ecae2d1b3701d450be7a386d/pydoclint-0.5.11-py2.py3-none-any.whl", hash = "sha256:7ea595c80a3f959defeed08752877b7b85bb4a8197df71dd79863258214b48b4", size = 46358, upload-time = "2024-12-14T21:18:58.107Z" },
+]
+
+[[package]]
+name = "pydoclint"
+version = "0.6.6"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.12'",
+ "python_full_version == '3.11.*'",
+ "python_full_version == '3.10.*'",
+ "python_full_version == '3.9.*'",
+]
+dependencies = [
+ { name = "click", marker = "python_full_version >= '3.9'" },
+ { name = "docstring-parser-fork", marker = "python_full_version >= '3.9'" },
+ { name = "tomli", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e6/b8/9ab3bb3642e1a87ad5b51276cc6465542935d44c427d75937216b22eadc0/pydoclint-0.6.6.tar.gz", hash = "sha256:22862a8494d05cdf22574d6533f4c47933c0ae1674b0f8b961d6ef42536eaa69", size = 54488, upload-time = "2025-04-16T07:42:23.518Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bc/05/c714e4dfea5e48140288ee05275e9675fbe1ab1010852ed8c77a388c7ace/pydoclint-0.6.6-py2.py3-none-any.whl", hash = "sha256:7ce8ed36f60f9201bf1c1edacb32c55eb051af80fdd7304480c6419ee0ced43c", size = 48713, upload-time = "2025-04-16T07:42:22.023Z" },
+]
+
[[package]]
name = "pyerfa"
version = "2.0.0.3"
@@ -5195,6 +5727,44 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" },
]
+[[package]]
+name = "pymdown-extensions"
+version = "10.15"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform == 'win32'",
+ "python_full_version <= '3.8' and sys_platform == 'win32'",
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform != 'win32'",
+ "python_full_version <= '3.8' and sys_platform != 'win32'",
+]
+dependencies = [
+ { name = "markdown", version = "3.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
+ { name = "pyyaml", marker = "python_full_version < '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/08/92/a7296491dbf5585b3a987f3f3fc87af0e632121ff3e490c14b5f2d2b4eb5/pymdown_extensions-10.15.tar.gz", hash = "sha256:0e5994e32155f4b03504f939e501b981d306daf7ec2aa1cd2eb6bd300784f8f7", size = 852320, upload-time = "2025-04-27T23:48:29.183Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a7/d1/c54e608505776ce4e7966d03358ae635cfd51dff1da6ee421c090dbc797b/pymdown_extensions-10.15-py3-none-any.whl", hash = "sha256:46e99bb272612b0de3b7e7caf6da8dd5f4ca5212c0b273feb9304e236c484e5f", size = 265845, upload-time = "2025-04-27T23:48:27.359Z" },
+]
+
+[[package]]
+name = "pymdown-extensions"
+version = "10.16"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.12'",
+ "python_full_version == '3.11.*'",
+ "python_full_version == '3.10.*'",
+ "python_full_version == '3.9.*'",
+]
+dependencies = [
+ { name = "markdown", version = "3.8.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
+ { name = "pyyaml", marker = "python_full_version >= '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/1a/0a/c06b542ac108bfc73200677309cd9188a3a01b127a63f20cadc18d873d88/pymdown_extensions-10.16.tar.gz", hash = "sha256:71dac4fca63fabeffd3eb9038b756161a33ec6e8d230853d3cecf562155ab3de", size = 853197, upload-time = "2025-06-21T17:56:36.974Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/98/d4/10bb14004d3c792811e05e21b5e5dcae805aacb739bd12a0540967b99592/pymdown_extensions-10.16-py3-none-any.whl", hash = "sha256:f5dd064a4db588cb2d95229fc4ee63a1b16cc8b4d0e6145c0899ed8723da1df2", size = 266143, upload-time = "2025-06-21T17:56:35.356Z" },
+]
+
[[package]]
name = "pyogrio"
version = "0.11.0"
@@ -5749,6 +6319,42 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312, upload-time = "2024-08-06T20:33:49.073Z" },
]
+[[package]]
+name = "pyyaml-env-tag"
+version = "0.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform == 'win32'",
+ "python_full_version <= '3.8' and sys_platform == 'win32'",
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform != 'win32'",
+ "python_full_version <= '3.8' and sys_platform != 'win32'",
+]
+dependencies = [
+ { name = "pyyaml", marker = "python_full_version < '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fb/8e/da1c6c58f751b70f8ceb1eb25bc25d524e8f14fe16edcce3f4e3ba08629c/pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb", size = 5631, upload-time = "2020-11-12T02:38:26.239Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5a/66/bbb1dd374f5c870f59c5bb1db0e18cbe7fa739415a24cbd95b2d1f5ae0c4/pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069", size = 3911, upload-time = "2020-11-12T02:38:24.638Z" },
+]
+
+[[package]]
+name = "pyyaml-env-tag"
+version = "1.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.12'",
+ "python_full_version == '3.11.*'",
+ "python_full_version == '3.10.*'",
+ "python_full_version == '3.9.*'",
+]
+dependencies = [
+ { name = "pyyaml", marker = "python_full_version >= '3.9'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/eb/2e/79c822141bfd05a853236b504869ebc6b70159afc570e1d5a20641782eaa/pyyaml_env_tag-1.1.tar.gz", hash = "sha256:2eb38b75a2d21ee0475d6d97ec19c63287a7e140231e4214969d0eac923cd7ff", size = 5737, upload-time = "2025-05-13T15:24:01.64Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl", hash = "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04", size = 4722, upload-time = "2025-05-13T15:23:59.629Z" },
+]
+
[[package]]
name = "pyzmq"
version = "26.4.0"
@@ -7572,6 +8178,97 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/8c/e9/e96b5527a85c7deda12d438a33f2ec2cf6ce0aa397906b3469133c1184a6/vaex_viz-0.5.4-py3-none-any.whl", hash = "sha256:7e8d0cc06ac47e8d00cdb2ac2ea679218afe72200234675f3c9645bbbcf53f40", size = 19619, upload-time = "2022-09-23T18:11:17.116Z" },
]
+[[package]]
+name = "watchdog"
+version = "4.0.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform == 'win32'",
+ "python_full_version <= '3.8' and sys_platform == 'win32'",
+ "python_full_version > '3.8' and python_full_version < '3.9' and sys_platform != 'win32'",
+ "python_full_version <= '3.8' and sys_platform != 'win32'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4f/38/764baaa25eb5e35c9a043d4c4588f9836edfe52a708950f4b6d5f714fd42/watchdog-4.0.2.tar.gz", hash = "sha256:b4dfbb6c49221be4535623ea4474a4d6ee0a9cef4a80b20c28db4d858b64e270", size = 126587, upload-time = "2024-08-11T07:38:01.623Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/46/b0/219893d41c16d74d0793363bf86df07d50357b81f64bba4cb94fe76e7af4/watchdog-4.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ede7f010f2239b97cc79e6cb3c249e72962404ae3865860855d5cbe708b0fd22", size = 100257, upload-time = "2024-08-11T07:37:04.209Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/c6/8e90c65693e87d98310b2e1e5fd7e313266990853b489e85ce8396cc26e3/watchdog-4.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a2cffa171445b0efa0726c561eca9a27d00a1f2b83846dbd5a4f639c4f8ca8e1", size = 92249, upload-time = "2024-08-11T07:37:06.364Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/cd/2e306756364a934532ff8388d90eb2dc8bb21fe575cd2b33d791ce05a02f/watchdog-4.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c50f148b31b03fbadd6d0b5980e38b558046b127dc483e5e4505fcef250f9503", size = 92888, upload-time = "2024-08-11T07:37:08.275Z" },
+ { url = "https://files.pythonhosted.org/packages/de/78/027ad372d62f97642349a16015394a7680530460b1c70c368c506cb60c09/watchdog-4.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7c7d4bf585ad501c5f6c980e7be9c4f15604c7cc150e942d82083b31a7548930", size = 100256, upload-time = "2024-08-11T07:37:11.017Z" },
+ { url = "https://files.pythonhosted.org/packages/59/a9/412b808568c1814d693b4ff1cec0055dc791780b9dc947807978fab86bc1/watchdog-4.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:914285126ad0b6eb2258bbbcb7b288d9dfd655ae88fa28945be05a7b475a800b", size = 92252, upload-time = "2024-08-11T07:37:13.098Z" },
+ { url = "https://files.pythonhosted.org/packages/04/57/179d76076cff264982bc335dd4c7da6d636bd3e9860bbc896a665c3447b6/watchdog-4.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:984306dc4720da5498b16fc037b36ac443816125a3705dfde4fd90652d8028ef", size = 92888, upload-time = "2024-08-11T07:37:15.077Z" },
+ { url = "https://files.pythonhosted.org/packages/92/f5/ea22b095340545faea37ad9a42353b265ca751f543da3fb43f5d00cdcd21/watchdog-4.0.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1cdcfd8142f604630deef34722d695fb455d04ab7cfe9963055df1fc69e6727a", size = 100342, upload-time = "2024-08-11T07:37:16.393Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/d2/8ce97dff5e465db1222951434e3115189ae54a9863aef99c6987890cc9ef/watchdog-4.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7ab624ff2f663f98cd03c8b7eedc09375a911794dfea6bf2a359fcc266bff29", size = 92306, upload-time = "2024-08-11T07:37:17.997Z" },
+ { url = "https://files.pythonhosted.org/packages/49/c4/1aeba2c31b25f79b03b15918155bc8c0b08101054fc727900f1a577d0d54/watchdog-4.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:132937547a716027bd5714383dfc40dc66c26769f1ce8a72a859d6a48f371f3a", size = 92915, upload-time = "2024-08-11T07:37:19.967Z" },
+ { url = "https://files.pythonhosted.org/packages/79/63/eb8994a182672c042d85a33507475c50c2ee930577524dd97aea05251527/watchdog-4.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:cd67c7df93eb58f360c43802acc945fa8da70c675b6fa37a241e17ca698ca49b", size = 100343, upload-time = "2024-08-11T07:37:21.935Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/82/027c0c65c2245769580605bcd20a1dc7dfd6c6683c8c4e2ef43920e38d27/watchdog-4.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcfd02377be80ef3b6bc4ce481ef3959640458d6feaae0bd43dd90a43da90a7d", size = 92313, upload-time = "2024-08-11T07:37:23.314Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/89/ad4715cbbd3440cb0d336b78970aba243a33a24b1a79d66f8d16b4590d6a/watchdog-4.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:980b71510f59c884d684b3663d46e7a14b457c9611c481e5cef08f4dd022eed7", size = 92919, upload-time = "2024-08-11T07:37:24.715Z" },
+ { url = "https://files.pythonhosted.org/packages/55/08/1a9086a3380e8828f65b0c835b86baf29ebb85e5e94a2811a2eb4f889cfd/watchdog-4.0.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:aa160781cafff2719b663c8a506156e9289d111d80f3387cf3af49cedee1f040", size = 100255, upload-time = "2024-08-11T07:37:26.862Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/3e/064974628cf305831f3f78264800bd03b3358ec181e3e9380a36ff156b93/watchdog-4.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f6ee8dedd255087bc7fe82adf046f0b75479b989185fb0bdf9a98b612170eac7", size = 92257, upload-time = "2024-08-11T07:37:28.253Z" },
+ { url = "https://files.pythonhosted.org/packages/23/69/1d2ad9c12d93bc1e445baa40db46bc74757f3ffc3a3be592ba8dbc51b6e5/watchdog-4.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0b4359067d30d5b864e09c8597b112fe0a0a59321a0f331498b013fb097406b4", size = 92886, upload-time = "2024-08-11T07:37:29.52Z" },
+ { url = "https://files.pythonhosted.org/packages/68/eb/34d3173eceab490d4d1815ba9a821e10abe1da7a7264a224e30689b1450c/watchdog-4.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:770eef5372f146997638d737c9a3c597a3b41037cfbc5c41538fc27c09c3a3f9", size = 100254, upload-time = "2024-08-11T07:37:30.888Z" },
+ { url = "https://files.pythonhosted.org/packages/18/a1/4bbafe7ace414904c2cc9bd93e472133e8ec11eab0b4625017f0e34caad8/watchdog-4.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eeea812f38536a0aa859972d50c76e37f4456474b02bd93674d1947cf1e39578", size = 92249, upload-time = "2024-08-11T07:37:32.193Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/11/ec5684e0ca692950826af0de862e5db167523c30c9cbf9b3f4ce7ec9cc05/watchdog-4.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b2c45f6e1e57ebb4687690c05bc3a2c1fb6ab260550c4290b8abb1335e0fd08b", size = 92891, upload-time = "2024-08-11T07:37:34.212Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/9a/6f30f023324de7bad8a3eb02b0afb06bd0726003a3550e9964321315df5a/watchdog-4.0.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:10b6683df70d340ac3279eff0b2766813f00f35a1d37515d2c99959ada8f05fa", size = 91775, upload-time = "2024-08-11T07:37:35.567Z" },
+ { url = "https://files.pythonhosted.org/packages/87/62/8be55e605d378a154037b9ba484e00a5478e627b69c53d0f63e3ef413ba6/watchdog-4.0.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f7c739888c20f99824f7aa9d31ac8a97353e22d0c0e54703a547a218f6637eb3", size = 92255, upload-time = "2024-08-11T07:37:37.596Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/59/12e03e675d28f450bade6da6bc79ad6616080b317c472b9ae688d2495a03/watchdog-4.0.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c100d09ac72a8a08ddbf0629ddfa0b8ee41740f9051429baa8e31bb903ad7508", size = 91682, upload-time = "2024-08-11T07:37:38.901Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/69/241998de9b8e024f5c2fbdf4324ea628b4231925305011ca8b7e1c3329f6/watchdog-4.0.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:f5315a8c8dd6dd9425b974515081fc0aadca1d1d61e078d2246509fd756141ee", size = 92249, upload-time = "2024-08-11T07:37:40.143Z" },
+ { url = "https://files.pythonhosted.org/packages/70/3f/2173b4d9581bc9b5df4d7f2041b6c58b5e5448407856f68d4be9981000d0/watchdog-4.0.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2d468028a77b42cc685ed694a7a550a8d1771bb05193ba7b24006b8241a571a1", size = 91773, upload-time = "2024-08-11T07:37:42.095Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/de/6fff29161d5789048f06ef24d94d3ddcc25795f347202b7ea503c3356acb/watchdog-4.0.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f15edcae3830ff20e55d1f4e743e92970c847bcddc8b7509bcd172aa04de506e", size = 92250, upload-time = "2024-08-11T07:37:44.052Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/b1/25acf6767af6f7e44e0086309825bd8c098e301eed5868dc5350642124b9/watchdog-4.0.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:936acba76d636f70db8f3c66e76aa6cb5136a936fc2a5088b9ce1c7a3508fc83", size = 82947, upload-time = "2024-08-11T07:37:45.388Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/90/aebac95d6f954bd4901f5d46dcd83d68e682bfd21798fd125a95ae1c9dbf/watchdog-4.0.2-py3-none-manylinux2014_armv7l.whl", hash = "sha256:e252f8ca942a870f38cf785aef420285431311652d871409a64e2a0a52a2174c", size = 82942, upload-time = "2024-08-11T07:37:46.722Z" },
+ { url = "https://files.pythonhosted.org/packages/15/3a/a4bd8f3b9381824995787488b9282aff1ed4667e1110f31a87b871ea851c/watchdog-4.0.2-py3-none-manylinux2014_i686.whl", hash = "sha256:0e83619a2d5d436a7e58a1aea957a3c1ccbf9782c43c0b4fed80580e5e4acd1a", size = 82947, upload-time = "2024-08-11T07:37:48.941Z" },
+ { url = "https://files.pythonhosted.org/packages/09/cc/238998fc08e292a4a18a852ed8274159019ee7a66be14441325bcd811dfd/watchdog-4.0.2-py3-none-manylinux2014_ppc64.whl", hash = "sha256:88456d65f207b39f1981bf772e473799fcdc10801062c36fd5ad9f9d1d463a73", size = 82946, upload-time = "2024-08-11T07:37:50.279Z" },
+ { url = "https://files.pythonhosted.org/packages/80/f1/d4b915160c9d677174aa5fae4537ae1f5acb23b3745ab0873071ef671f0a/watchdog-4.0.2-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:32be97f3b75693a93c683787a87a0dc8db98bb84701539954eef991fb35f5fbc", size = 82947, upload-time = "2024-08-11T07:37:51.55Z" },
+ { url = "https://files.pythonhosted.org/packages/db/02/56ebe2cf33b352fe3309588eb03f020d4d1c061563d9858a9216ba004259/watchdog-4.0.2-py3-none-manylinux2014_s390x.whl", hash = "sha256:c82253cfc9be68e3e49282831afad2c1f6593af80c0daf1287f6a92657986757", size = 82944, upload-time = "2024-08-11T07:37:52.855Z" },
+ { url = "https://files.pythonhosted.org/packages/01/d2/c8931ff840a7e5bd5dcb93f2bb2a1fd18faf8312e9f7f53ff1cf76ecc8ed/watchdog-4.0.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:c0b14488bd336c5b1845cee83d3e631a1f8b4e9c5091ec539406e4a324f882d8", size = 82947, upload-time = "2024-08-11T07:37:55.172Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/d8/cdb0c21a4a988669d7c210c75c6a2c9a0e16a3b08d9f7e633df0d9a16ad8/watchdog-4.0.2-py3-none-win32.whl", hash = "sha256:0d8a7e523ef03757a5aa29f591437d64d0d894635f8a50f370fe37f913ce4e19", size = 82935, upload-time = "2024-08-11T07:37:56.668Z" },
+ { url = "https://files.pythonhosted.org/packages/99/2e/b69dfaae7a83ea64ce36538cc103a3065e12c447963797793d5c0a1d5130/watchdog-4.0.2-py3-none-win_amd64.whl", hash = "sha256:c344453ef3bf875a535b0488e3ad28e341adbd5a9ffb0f7d62cefacc8824ef2b", size = 82934, upload-time = "2024-08-11T07:37:57.991Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/0b/43b96a9ecdd65ff5545b1b13b687ca486da5c6249475b1a45f24d63a1858/watchdog-4.0.2-py3-none-win_ia64.whl", hash = "sha256:baececaa8edff42cd16558a639a9b0ddf425f93d892e8392a56bf904f5eff22c", size = 82933, upload-time = "2024-08-11T07:37:59.573Z" },
+]
+
+[[package]]
+name = "watchdog"
+version = "6.0.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.12'",
+ "python_full_version == '3.11.*'",
+ "python_full_version == '3.10.*'",
+ "python_full_version == '3.9.*'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size = 96390, upload-time = "2024-11-01T14:06:24.793Z" },
+ { url = "https://files.pythonhosted.org/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112", size = 88389, upload-time = "2024-11-01T14:06:27.112Z" },
+ { url = "https://files.pythonhosted.org/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3", size = 89020, upload-time = "2024-11-01T14:06:29.876Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393, upload-time = "2024-11-01T14:06:31.756Z" },
+ { url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392, upload-time = "2024-11-01T14:06:32.99Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019, upload-time = "2024-11-01T14:06:34.963Z" },
+ { url = "https://files.pythonhosted.org/packages/39/ea/3930d07dafc9e286ed356a679aa02d777c06e9bfd1164fa7c19c288a5483/watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948", size = 96471, upload-time = "2024-11-01T14:06:37.745Z" },
+ { url = "https://files.pythonhosted.org/packages/12/87/48361531f70b1f87928b045df868a9fd4e253d9ae087fa4cf3f7113be363/watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860", size = 88449, upload-time = "2024-11-01T14:06:39.748Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/7e/8f322f5e600812e6f9a31b75d242631068ca8f4ef0582dd3ae6e72daecc8/watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0", size = 89054, upload-time = "2024-11-01T14:06:41.009Z" },
+ { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" },
+ { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" },
+ { url = "https://files.pythonhosted.org/packages/05/52/7223011bb760fce8ddc53416beb65b83a3ea6d7d13738dde75eeb2c89679/watchdog-6.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8", size = 96390, upload-time = "2024-11-01T14:06:49.325Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/62/d2b21bc4e706d3a9d467561f487c2938cbd881c69f3808c43ac1ec242391/watchdog-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a", size = 88386, upload-time = "2024-11-01T14:06:50.536Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/22/1c90b20eda9f4132e4603a26296108728a8bfe9584b006bd05dd94548853/watchdog-6.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c", size = 89017, upload-time = "2024-11-01T14:06:51.717Z" },
+ { url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902, upload-time = "2024-11-01T14:06:53.119Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380, upload-time = "2024-11-01T14:06:55.19Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/79/69f2b0e8d3f2afd462029031baafb1b75d11bb62703f0e1022b2e54d49ee/watchdog-6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa", size = 87903, upload-time = "2024-11-01T14:06:57.052Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/2b/dc048dd71c2e5f0f7ebc04dd7912981ec45793a03c0dc462438e0591ba5d/watchdog-6.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e", size = 88381, upload-time = "2024-11-01T14:06:58.193Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", size = 79077, upload-time = "2024-11-01T14:07:03.893Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", size = 79078, upload-time = "2024-11-01T14:07:05.189Z" },
+ { url = "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", size = 79077, upload-time = "2024-11-01T14:07:06.376Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" },
+ { url = "https://files.pythonhosted.org/packages/07/f6/d0e5b343768e8bcb4cda79f0f2f55051bf26177ecd5651f84c07567461cf/watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a", size = 79065, upload-time = "2024-11-01T14:07:09.525Z" },
+ { url = "https://files.pythonhosted.org/packages/db/d9/c495884c6e548fce18a8f40568ff120bc3a4b7b99813081c8ac0c936fa64/watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680", size = 79070, upload-time = "2024-11-01T14:07:10.686Z" },
+ { url = "https://files.pythonhosted.org/packages/33/e8/e40370e6d74ddba47f002a32919d91310d6074130fe4e17dabcafc15cbf1/watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f", size = 79067, upload-time = "2024-11-01T14:07:11.845Z" },
+]
+
[[package]]
name = "watchfiles"
version = "0.24.0"
@@ -7990,6 +8687,15 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload-time = "2025-03-05T20:03:39.41Z" },
]
+[[package]]
+name = "wheel"
+version = "0.45.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/8a/98/2d9906746cdc6a6ef809ae6338005b3f21bb568bea3165cfc6a243fdc25c/wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729", size = 107545, upload-time = "2024-11-23T00:18:23.513Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248", size = 72494, upload-time = "2024-11-23T00:18:21.207Z" },
+]
+
[[package]]
name = "widgetsnbextension"
version = "4.0.14"
From ec4b6cdedfedd9a04532af5672ffaec32ec17cb4 Mon Sep 17 00:00:00 2001
From: Liam Connors
Date: Thu, 17 Jul 2025 16:28:00 -0400
Subject: [PATCH 15/29] Update figurewidget.md
---
doc/python/figurewidget.md | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/doc/python/figurewidget.md b/doc/python/figurewidget.md
index c2d76327e7b..9482c29f767 100644
--- a/doc/python/figurewidget.md
+++ b/doc/python/figurewidget.md
@@ -22,7 +22,7 @@ jupyter:
pygments_lexer: ipython3
version: 3.6.5
plotly:
- description: Introduction to the new Plotly FigureWidget
+ description: Introduction to the Plotly FigureWidget
display_as: chart_events
language: python
layout: base
@@ -34,6 +34,12 @@ jupyter:
redirect_from: /python/ipython-widgets/
---
+The Plotly FigureWidget allows you to add Plotly charts as interactive widgets in Jupyter and other compatible notebooks. To use the FigureWidget, you'll need to install `anywidget`:
+
+```bash
+pip install anywidget
+```
+
#### Create a Simple FigureWidget
Create an empty FigureWidget and then view it.
From 3dced444a044a73a3d3c8d4c4d047b763fa2d808 Mon Sep 17 00:00:00 2001
From: Liam Connors
Date: Tue, 22 Jul 2025 10:35:49 -0400
Subject: [PATCH 16/29] preload _plotly_utils
---
mkdocs.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/mkdocs.yml b/mkdocs.yml
index c92823309e2..d7a8ab7e7cc 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -13,6 +13,8 @@ plugins:
handlers:
python:
options:
+ preload_modules:
+ - _plotly_utils
docstring_style: google
show_source: false
show_root_heading: true
From bc32c86143ba07e9dc04200cde1e4ae6cf602208 Mon Sep 17 00:00:00 2001
From: Liam Connors
Date: Mon, 2 Dec 2024 16:18:44 -0500
Subject: [PATCH 17/29] add docstrings directly to px functions
---
plotly/express/_chart_types.py | 5757 ++++++++++++++++++++++-
plotly/express/_doc.py | 31 -
plotly/express/_imshow.py | 30 +-
plotly/figure_factory/_hexbin_mapbox.py | 125 +-
4 files changed, 5700 insertions(+), 243 deletions(-)
diff --git a/plotly/express/_chart_types.py b/plotly/express/_chart_types.py
index 9ec2b4a6a63..cfcabb319e3 100644
--- a/plotly/express/_chart_types.py
+++ b/plotly/express/_chart_types.py
@@ -1,7 +1,6 @@
from warnings import warn
from ._core import make_figure
-from ._doc import make_docstring
import plotly.graph_objs as go
_wide_mode_xy_append = [
@@ -65,13 +64,247 @@ def scatter(
"""
In a scatter plot, each row of `data_frame` is represented by a symbol
mark in 2D space.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the x axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ symbol : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign symbols to marks.
+ size : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign mark sizes.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ error_x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size x-axis error bars. If `error_x_minus` is `None`, error bars will
+ be symmetrical, otherwise `error_x` is used for the positive direction
+ only.
+ error_x_minus : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size x-axis error bars in the negative direction. Ignored if `error_x`
+ is `None`.
+ error_y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size y-axis error bars. If `error_y_minus` is `None`, error bars will
+ be symmetrical, otherwise `error_y` is used for the positive direction
+ only.
+ error_y_minus : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size y-axis error bars in the negative direction. Ignored if `error_y`
+ is `None`.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ orientation : str, one of `'h'` for horizontal or `'v'` for vertical.
+ (default `'v'` if `x` and `y` are provided and both continuous or both
+ categorical, otherwise `'v'`(`'h'`) if `x`(`y`) is categorical and
+ `y`(`x`) is continuous, otherwise `'v'`(`'h'`) if only `x`(`y`) is
+ provided)
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ symbol_sequence : list of str
+ Strings should define valid plotly.js symbols. When `symbol` is set,
+ values in that column are assigned symbols by cycling through
+ `symbol_sequence` in the order described in `category_orders`, unless
+ the value of `symbol` is a key in `symbol_map`.
+ symbol_map : dict with str keys and str values (default `{}`)
+ String values should define plotly.js symbols Used to override
+ `symbol_sequence` to assign a specific symbols to marks corresponding
+ with specific values. Keys in `symbol_map` should be values in the
+ column denoted by `symbol`. Alternatively, if the values of `symbol`
+ are valid symbol names, the string `'identity'` may be passed to cause
+ them to be used directly.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ size_max : int (default `20`)
+ Set the maximum mark size when using `size`.
+ marginal_x : str
+ One of `'rug'`, `'box'`, `'violin'`, or `'histogram'`. If set, a
+ horizontal subplot is drawn above the main plot, visualizing the
+ x-distribution.
+ marginal_y : str
+ One of `'rug'`, `'box'`, `'violin'`, or `'histogram'`. If set, a
+ vertical subplot is drawn to the right of the main plot, visualizing
+ the y-distribution.
+ trendline : str
+ One of `'ols'`, `'lowess'`, `'rolling'`, `'expanding'` or `'ewm'`. If
+ `'ols'`, an Ordinary Least Squares regression line will be drawn for
+ each discrete-color/symbol group. If `'lowess`', a Locally Weighted
+ Scatterplot Smoothing line will be drawn for each discrete-color/symbol
+ group. If `'rolling`', a Rolling (e.g. rolling average, rolling median)
+ line will be drawn for each discrete-color/symbol group. If
+ `'expanding`', an Expanding (e.g. expanding average, expanding sum)
+ line will be drawn for each discrete-color/symbol group. If `'ewm`', an
+ Exponentially Weighted Moment (e.g. exponentially-weighted moving
+ average) line will be drawn for each discrete-color/symbol group. See
+ the docstrings for the functions in
+ `plotly.express.trendline_functions` for more details on these
+ functions and how to configure them with the `trendline_options`
+ argument.
+ trendline_options : dict
+ Options passed as the first argument to the function from
+ `plotly.express.trendline_functions` named in the `trendline`
+ argument.
+ trendline_color_override : str
+ Valid CSS color. If provided, and if `trendline` is set, all trendlines
+ will be drawn in this color rather than in the same color as the traces
+ from which they draw their inputs.
+ trendline_scope : str (one of `'trace'` or `'overall'`, default `'trace'`)
+ If `'trace'`, then one trendline is drawn per trace (i.e. per color,
+ symbol, facet, animation frame etc) and if `'overall'` then one
+ trendline is computed for the entire dataset, and replicated across all
+ facets.
+ log_x : boolean (default `False`)
+ If `True`, the x-axis is log-scaled in cartesian coordinates.
+ log_y : boolean (default `False`)
+ If `True`, the y-axis is log-scaled in cartesian coordinates.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ render_mode : str
+ One of `'auto'`, `'svg'` or `'webgl'`, default `'auto'` Controls the
+ browser API used to draw marks. `'svg'` is appropriate for figures of
+ less than 1000 data points, and will allow for fully-vectorized output.
+ `'webgl'` is likely necessary for acceptable performance above 1000
+ points but rasterizes part of the output. `'auto'` uses heuristics to
+ choose the mode.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(args=locals(), constructor=go.Scatter)
-scatter.__doc__ = make_docstring(scatter, append_dict=_cartesian_append_dict)
-
-
def density_contour(
data_frame=None,
x=None,
@@ -117,6 +350,194 @@ def density_contour(
In a density contour plot, rows of `data_frame` are grouped together
into contour marks to visualize the 2D distribution of an aggregate
function `histfunc` (e.g. the count or sum) of the value `z`.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the x axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ z : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the z axis in cartesian coordinates. For
+ `density_heatmap` and `density_contour` these values are used as the
+ inputs to `histfunc`.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ orientation : str, one of `'h'` for horizontal or `'v'` for vertical.
+ (default `'v'` if `x` and `y` are provided and both continous or both
+ categorical, otherwise `'v'`(`'h'`) if `x`(`y`) is categorical and
+ `y`(`x`) is continuous, otherwise `'v'`(`'h'`) if only `x`(`y`) is
+ provided)
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ marginal_x : str
+ One of `'rug'`, `'box'`, `'violin'`, or `'histogram'`. If set, a
+ horizontal subplot is drawn above the main plot, visualizing the
+ x-distribution.
+ marginal_y : str
+ One of `'rug'`, `'box'`, `'violin'`, or `'histogram'`. If set, a
+ vertical subplot is drawn to the right of the main plot, visualizing
+ the y-distribution.
+ trendline : str
+ One of `'ols'`, `'lowess'`, `'rolling'`, `'expanding'` or `'ewm'`. If
+ `'ols'`, an Ordinary Least Squares regression line will be drawn for
+ each discrete-color/symbol group. If `'lowess`', a Locally Weighted
+ Scatterplot Smoothing line will be drawn for each discrete-color/symbol
+ group. If `'rolling`', a Rolling (e.g. rolling average, rolling median)
+ line will be drawn for each discrete-color/symbol group. If
+ `'expanding`', an Expanding (e.g. expanding average, expanding sum)
+ line will be drawn for each discrete-color/symbol group. If `'ewm`', an
+ Exponentially Weighted Moment (e.g. exponentially-weighted moving
+ average) line will be drawn for each discrete-color/symbol group. See
+ the docstrings for the functions in
+ `plotly.express.trendline_functions` for more details on these
+ functions and how to configure them with the `trendline_options`
+ argument.
+ trendline_options : dict
+ Options passed as the first argument to the function from
+ `plotly.express.trendline_functions` named in the `trendline`
+ argument.
+ trendline_color_override : str
+ Valid CSS color. If provided, and if `trendline` is set, all trendlines
+ will be drawn in this color rather than in the same color as the traces
+ from which they draw their inputs.
+ trendline_scope : str (one of `'trace'` or `'overall'`, default `'trace'`)
+ If `'trace'`, then one trendline is drawn per trace (i.e. per color,
+ symbol, facet, animation frame etc) and if `'overall'` then one
+ trendline is computed for the entire dataset, and replicated across all
+ facets.
+ log_x : boolean (default `False`)
+ If `True`, the x-axis is log-scaled in cartesian coordinates.
+ log_y : boolean (default `False`)
+ If `True`, the y-axis is log-scaled in cartesian coordinates.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ histfunc : str (default `'count'` if no arguments are provided, else `'sum'`)
+ One of `'count'`, `'sum'`, `'avg'`, `'min'`, or `'max'`. Function used
+ to aggregate values for summarization (note: can be normalized with
+ `histnorm`). The arguments to this function are the values of `z`.
+ histnorm : str (default `None`)
+ One of `'percent'`, `'probability'`, `'density'`, or `'probability
+ density'` If `None`, the output of `histfunc` is used as is. If
+ `'probability'`, the output of `histfunc` for a given bin is divided by
+ the sum of the output of `histfunc` for all bins. If `'percent'`, the
+ output of `histfunc` for a given bin is divided by the sum of the
+ output of `histfunc` for all bins and multiplied by 100. If
+ `'density'`, the output of `histfunc` for a given bin is divided by the
+ size of the bin. If `'probability density'`, the output of `histfunc`
+ for a given bin is normalized such that it corresponds to the
+ probability that a random event whose distribution is described by the
+ output of `histfunc` will fall into that bin.
+ nbinsx : int
+ Positive integer. Sets the number of bins along the x axis.
+ nbinsy : int
+ Positive integer. Sets the number of bins along the y axis.
+ text_auto : bool or string (default `False`)
+ If `True` or a string, the x or y or z values will be displayed as
+ text, depending on the orientation A string like `'.2f'` will be
+ interpreted as a `texttemplate` numeric formatting directive.
+ title : str
+ The figure title.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ --------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(),
@@ -133,19 +554,6 @@ def density_contour(
)
-density_contour.__doc__ = make_docstring(
- density_contour,
- append_dict=dict(
- x=_wide_mode_xy_append,
- y=_wide_mode_xy_append,
- z=[
- "For `density_heatmap` and `density_contour` these values are used as the inputs to `histfunc`.",
- ],
- histfunc=["The arguments to this function are the values of `z`."],
- ),
-)
-
-
def density_heatmap(
data_frame=None,
x=None,
@@ -188,6 +596,165 @@ def density_heatmap(
In a density heatmap, rows of `data_frame` are grouped together into
colored rectangular tiles to visualize the 2D distribution of an
aggregate function `histfunc` (e.g. the count or sum) of the value `z`.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the x axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ z : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the z axis in cartesian coordinates. For
+ `density_heatmap` and `density_contour` these values are used as the
+ inputs to `histfunc`.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ orientation : str, one of `'h'` for horizontal or `'v'` for vertical.
+ (default `'v'` if `x` and `y` are provided and both continuous or both
+ categorical, otherwise `'v'`(`'h'`) if `x`(`y`) is categorical and
+ `y`(`x`) is continuous, otherwise `'v'`(`'h'`) if only `x`(`y`) is
+ provided)
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ marginal_x : str
+ One of `'rug'`, `'box'`, `'violin'`, or `'histogram'`. If set, a
+ horizontal subplot is drawn above the main plot, visualizing the
+ x-distribution.
+ marginal_y : str
+ One of `'rug'`, `'box'`, `'violin'`, or `'histogram'`. If set, a
+ vertical subplot is drawn to the right of the main plot, visualizing
+ the y-distribution.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ log_x : boolean (default `False`)
+ If `True`, the x-axis is log-scaled in cartesian coordinates.
+ log_y : boolean (default `False`)
+ If `True`, the y-axis is log-scaled in cartesian coordinates.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ histfunc : str (default `'count'` if no arguments are provided, else `'sum'`)
+ One of `'count'`, `'sum'`, `'avg'`, `'min'`, or `'max'`. Function used
+ to aggregate values for summarization (note: can be normalized with
+ `histnorm`). The arguments to this function are the values of `z`.
+ histnorm: str (default `None`)
+ One of `'percent'`, `'probability'`, `'density'`, or `'probability
+ density'` If `None`, the output of `histfunc` is used as is. If
+ `'probability'`, the output of `histfunc` for a given bin is divided by
+ the sum of the output of `histfunc` for all bins. If `'percent'`, the
+ output of `histfunc` for a given bin is divided by the sum of the
+ output of `histfunc` for all bins and multiplied by 100. If
+ `'density'`, the output of `histfunc` for a given bin is divided by the
+ size of the bin. If `'probability density'`, the output of `histfunc`
+ for a given bin is normalized such that it corresponds to the
+ probability that a random event whose distribution is described by the
+ output of `histfunc` will fall into that bin.
+ nbinsx : int
+ Positive integer. Sets the number of bins along the x axis.
+ nbinsy : int
+ Positive integer. Sets the number of bins along the y axis.
+ text_auto : bool or string (default `False`)
+ If `True` or a string, the x or y or z values will be displayed as
+ text, depending on the orientation A string like `'.2f'` will be
+ interpreted as a `texttemplate` numeric formatting directive.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(),
@@ -203,21 +770,6 @@ def density_heatmap(
)
-density_heatmap.__doc__ = make_docstring(
- density_heatmap,
- append_dict=dict(
- x=_wide_mode_xy_append,
- y=_wide_mode_xy_append,
- z=[
- "For `density_heatmap` and `density_contour` these values are used as the inputs to `histfunc`.",
- ],
- histfunc=[
- "The arguments to this function are the values of `z`.",
- ],
- ),
-)
-
-
def line(
data_frame=None,
x=None,
@@ -266,13 +818,214 @@ def line(
"""
In a 2D line plot, each row of `data_frame` is represented as a vertex of
a polyline mark in 2D space.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the x axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ line_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ group rows of `data_frame` into lines.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ line_dash : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign dash-patterns to lines.
+ symbol : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign symbols to marks.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ error_x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size x-axis error bars. If `error_x_minus` is `None`, error bars will
+ be symmetrical, otherwise `error_x` is used for the positive direction
+ only.
+ error_x_minus : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size x-axis error bars in the negative direction. Ignored if `error_x`
+ is `None`.
+ error_y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size y-axis error bars. If `error_y_minus` is `None`, error bars will
+ be symmetrical, otherwise `error_y` is used for the positive direction
+ only.
+ error_y_minus : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size y-axis error bars in the negative direction. Ignored if `error_y`
+ is `None`.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ orientation : str, one of `'h'` for horizontal or `'v'` for vertical.
+ (default `'v'` if `x` and `y` are provided and both continuous or both
+ categorical, otherwise `'v'`(`'h'`) if `x`(`y`) is categorical and
+ `y`(`x`) is continuous, otherwise `'v'`(`'h'`) if only `x`(`y`) is
+ provided)
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ line_dash_sequence : list of str
+ Strings should define valid plotly.js dash-patterns. When `line_dash`
+ is set, values in that column are assigned dash-patterns by cycling
+ through `line_dash_sequence` in the order described in
+ `category_orders`, unless the value of `line_dash` is a key in
+ `line_dash_map`.
+ line_dash_map : dict with str keys and str values (default `{}`)
+ Strings values define plotly.js dash-patterns. Used to override
+ `line_dash_sequences` to assign a specific dash-patterns to lines
+ corresponding with specific values. Keys in `line_dash_map` should be
+ values in the column denoted by `line_dash`. Alternatively, if the
+ values of `line_dash` are valid line-dash names, the string
+ `'identity'` may be passed to cause them to be used directly.
+ symbol_sequence : list of str
+ Strings should define valid plotly.js symbols. When `symbol` is set,
+ values in that column are assigned symbols by cycling through
+ `symbol_sequence` in the order described in `category_orders`, unless
+ the value of `symbol` is a key in `symbol_map`.
+ symbol_map : dict with str keys and str values (default `{}`)
+ String values should define plotly.js symbols Used to override
+ `symbol_sequence` to assign a specific symbols to marks corresponding
+ with specific values. Keys in `symbol_map` should be values in the
+ column denoted by `symbol`. Alternatively, if the values of `symbol`
+ are valid symbol names, the string `'identity'` may be passed to cause
+ them to be used directly.
+ markers : boolean (default `False`)
+ If `True`, markers are shown on lines.
+ log_x : boolean (default `False`)
+ If `True`, the x-axis is log-scaled in cartesian coordinates.
+ log_y : boolean (default `False`)
+ If `True`, the y-axis is log-scaled in cartesian coordinates.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ line_shape : str (default `'linear'`)
+ One of `'linear'`, `'spline'`, `'hv'`, `'vh'`, `'hvh'`, or `'vhv'`
+ render_mode : str
+ One of `'auto'`, `'svg'` or `'webgl'`, default `'auto'` Controls the
+ browser API used to draw marks. `'svg'` is appropriate for figures of
+ less than 1000 data points, and will allow for fully-vectorized output.
+ `'webgl'` is likely necessary for acceptable performance above 1000
+ points but rasterizes part of the output. `'auto'` uses heuristics to
+ choose the mode.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(args=locals(), constructor=go.Scatter)
-line.__doc__ = make_docstring(line, append_dict=_cartesian_append_dict)
-
-
def area(
data_frame=None,
x=None,
@@ -318,6 +1071,186 @@ def area(
In a stacked area plot, each row of `data_frame` is represented as
a vertex of a polyline mark in 2D space. The area between
successive polylines is filled.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the x axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ line_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ group rows of `data_frame` into lines.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ pattern_shape : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign pattern shapes to marks.
+ symbol : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign symbols to marks.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ pattern_shape_sequence : list of str
+ Strings should define valid plotly.js patterns-shapes. When
+ `pattern_shape` is set, values in that column are assigned patterns-
+ shapes by cycling through `pattern_shape_sequence` in the order
+ described in `category_orders`, unless the value of `pattern_shape` is
+ a key in `pattern_shape_map`.
+ pattern_shape_map : dict with str keys and str values (default `{}`)
+ Strings values define plotly.js patterns-shapes. Used to override
+ `pattern_shape_sequences` to assign a specific patterns-shapes to lines
+ corresponding with specific values. Keys in `pattern_shape_map` should
+ be values in the column denoted by `pattern_shape`. Alternatively, if
+ the values of `pattern_shape` are valid patterns-shapes names, the
+ string `'identity'` may be passed to cause them to be used directly.
+ symbol_sequence : list of str
+ Strings should define valid plotly.js symbols. When `symbol` is set,
+ values in that column are assigned symbols by cycling through
+ `symbol_sequence` in the order described in `category_orders`, unless
+ the value of `symbol` is a key in `symbol_map`.
+ symbol_map : dict with str keys and str values (default `{}`)
+ String values should define plotly.js symbols Used to override
+ `symbol_sequence` to assign a specific symbols to marks corresponding
+ with specific values. Keys in `symbol_map` should be values in the
+ column denoted by `symbol`. Alternatively, if the values of `symbol`
+ are valid symbol names, the string `'identity'` may be passed to cause
+ them to be used directly.
+ markers : boolean (default `False`)
+ If `True`, markers are shown on lines.
+ orientation : str, one of `'h'` for horizontal or `'v'` for vertical.
+ (default `'v'` if `x` and `y` are provided and both continuous or both
+ categorical, otherwise `'v'`(`'h'`) if `x`(`y`) is categorical and
+ `y`(`x`) is continuous, otherwise `'v'`(`'h'`) if only `x`(`y`) is
+ provided)
+ groupnorm : str (default `None`)
+ One of `'fraction'` or `'percent'`. If `'fraction'`, the value of each
+ point is divided by the sum of all values at that location coordinate.
+ `'percent'` is the same but multiplied by 100 to show percentages.
+ `None` will stack up all values at each location coordinate.
+ log_x : boolean (default `False`)
+ If `True`, the x-axis is log-scaled in cartesian coordinates.
+ log_y : boolean (default `False`)
+ If `True`, the y-axis is log-scaled in cartesian coordinates.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ line_shape : str (default `'linear'`)
+ One of `'linear'`, `'spline'`, `'hv'`, `'vh'`, `'hvh'`, or `'vhv'`
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(),
@@ -326,9 +1259,6 @@ def area(
)
-area.__doc__ = make_docstring(area, append_dict=_cartesian_append_dict)
-
-
def bar(
data_frame=None,
x=None,
@@ -377,6 +1307,208 @@ def bar(
"""
In a bar plot, each row of `data_frame` is represented as a rectangular
mark.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the x axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ pattern_shape : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign pattern shapes to marks.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ base : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position the base of the bar.
+ error_x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size x-axis error bars. If `error_x_minus` is `None`, error bars will
+ be symmetrical, otherwise `error_x` is used for the positive direction
+ only.
+ error_x_minus : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size x-axis error bars in the negative direction. Ignored if `error_x`
+ is `None`.
+ error_y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size y-axis error bars. If `error_y_minus` is `None`, error bars will
+ be symmetrical, otherwise `error_y` is used for the positive direction
+ only.
+ error_y_minus : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size y-axis error bars in the negative direction. Ignored if `error_y`
+ is `None`.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ pattern_shape_sequence : list of str
+ Strings should define valid plotly.js patterns-shapes. When
+ `pattern_shape` is set, values in that column are assigned patterns-
+ shapes by cycling through `pattern_shape_sequence` in the order
+ described in `category_orders`, unless the value of `pattern_shape` is
+ a key in `pattern_shape_map`.
+ pattern_shape_map : dict with str keys and str values (default `{}`)
+ Strings values define plotly.js patterns-shapes. Used to override
+ `pattern_shape_sequences` to assign a specific patterns-shapes to lines
+ corresponding with specific values. Keys in `pattern_shape_map` should
+ be values in the column denoted by `pattern_shape`. Alternatively, if
+ the values of `pattern_shape` are valid patterns-shapes names, the
+ string `'identity'` may be passed to cause them to be used directly.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ orientation : str, one of `'h'` for horizontal or `'v'` for vertical.
+ (default `'v'` if `x` and `y` are provided and both continuous or both
+ categorical, otherwise `'v'`(`'h'`) if `x`(`y`) is categorical and
+ `y`(`x`) is continuous, otherwise `'v'`(`'h'`) if only `x`(`y`) is
+ provided)
+ barmode : str (default `'relative'`)
+ One of `'group'`, `'overlay'` or `'relative'` In `'relative'` mode,
+ bars are stacked above zero for positive values and below zero for
+ negative values. In `'overlay'` mode, bars are drawn on top of one
+ another. In `'group'` mode, bars are placed beside each other.
+ log_x : boolean (default `False`)
+ If `True`, the x-axis is log-scaled in cartesian coordinates.
+ log_y : boolean (default `False`)
+ If `True`, the y-axis is log-scaled in cartesian coordinates.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ text_auto : bool or string (default `False`)
+ If `True` or a string, the x or y or z values will be displayed as
+ text, depending on the orientation A string like `'.2f'` will be
+ interpreted as a `texttemplate` numeric formatting directive.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(),
@@ -386,9 +1518,6 @@ def bar(
)
-bar.__doc__ = make_docstring(bar, append_dict=_cartesian_append_dict)
-
-
def timeline(
data_frame=None,
x_start=None,
@@ -428,6 +1557,162 @@ def timeline(
"""
In a timeline plot, each row of `data_frame` is represented as a rectangular
mark on an x axis of type `date`, spanning from `x_start` to `x_end`.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x_start : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. (required) Values from this column or array_like are
+ used to position marks along the x axis in cartesian coordinates.
+ x_end : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. (required) Values from this column or array_like are
+ used to position marks along the x axis in cartesian coordinates.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ pattern_shape : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign pattern shapes to marks.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ pattern_shape_sequence : list of str
+ Strings should define valid plotly.js patterns-shapes. When
+ `pattern_shape` is set, values in that column are assigned patterns-
+ shapes by cycling through `pattern_shape_sequence` in the order
+ described in `category_orders`, unless the value of `pattern_shape` is
+ a key in `pattern_shape_map`.
+ pattern_shape_map : dict with str keys and str values (default `{}`)
+ Strings values define plotly.js patterns-shapes. Used to override
+ `pattern_shape_sequences` to assign a specific patterns-shapes to lines
+ corresponding with specific values. Keys in `pattern_shape_map` should
+ be values in the column denoted by `pattern_shape`. Alternatively, if
+ the values of `pattern_shape` are valid patterns-shapes names, the
+ string `'identity'` may be passed to cause them to be used directly.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(),
@@ -437,9 +1722,6 @@ def timeline(
)
-timeline.__doc__ = make_docstring(timeline)
-
-
def histogram(
data_frame=None,
x=None,
@@ -486,6 +1768,189 @@ def histogram(
rectangular mark to visualize the 1D distribution of an aggregate
function `histfunc` (e.g. the count or sum) of the value `y` (or `x` if
`orientation` is `'h'`).
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the x axis in cartesian coordinates. If
+ `orientation` is `'h'`, these values are used as inputs to `histfunc`.
+ Either `x` or `y` can optionally be a list of column references or
+ array_likes, in which case the data will be treated as if it were
+ 'wide' rather than 'long'.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates. If
+ `orientation` is `'v'`, these values are used as inputs to `histfunc`.
+ Either `x` or `y` can optionally be a list of column references or
+ array_likes, in which case the data will be treated as if it were
+ 'wide' rather than 'long'.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ pattern_shape : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign pattern shapes to marks.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ pattern_shape_sequence : list of str
+ Strings should define valid plotly.js patterns-shapes. When
+ `pattern_shape` is set, values in that column are assigned patterns-
+ shapes by cycling through `pattern_shape_sequence` in the order
+ described in `category_orders`, unless the value of `pattern_shape` is
+ a key in `pattern_shape_map`.
+ pattern_shape_map : dict with str keys and str values (default `{}`)
+ Strings values define plotly.js patterns-shapes. Used to override
+ `pattern_shape_sequences` to assign a specific patterns-shapes to lines
+ corresponding with specific values. Keys in `pattern_shape_map` should
+ be values in the column denoted by `pattern_shape`. Alternatively, if
+ the values of `pattern_shape` are valid patterns-shapes names, the
+ string `'identity'` may be passed to cause them to be used directly.
+ marginal : str
+ One of `'rug'`, `'box'`, `'violin'`, or `'histogram'`. If set, a
+ subplot is drawn alongside the main plot, visualizing the distribution.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ orientation : str, one of `'h'` for horizontal or `'v'` for vertical.
+ (default `'v'` if `x` and `y` are provided and both continuous or both
+ categorical, otherwise `'v'`(`'h'`) if `x`(`y`) is categorical and
+ `y`(`x`) is continuous, otherwise `'v'`(`'h'`) if only `x`(`y`) is
+ provided)
+ barmode : str (default `'relative'`)
+ One of `'group'`, `'overlay'` or `'relative'` In `'relative'` mode,
+ bars are stacked above zero for positive values and below zero for
+ negative values. In `'overlay'` mode, bars are drawn on top of one
+ another. In `'group'` mode, bars are placed beside each other.
+ barnorm : str (default `None`)
+ One of `'fraction'` or `'percent'`. If `'fraction'`, the value of each
+ bar is divided by the sum of all values at that location coordinate.
+ `'percent'` is the same but multiplied by 100 to show percentages.
+ `None` will stack up all values at each location coordinate.
+ histnorm: str (default `None`)
+ One of `'percent'`, `'probability'`, `'density'`, or `'probability
+ density'` If `None`, the output of `histfunc` is used as is. If
+ `'probability'`, the output of `histfunc` for a given bin is divided by
+ the sum of the output of `histfunc` for all bins. If `'percent'`, the
+ output of `histfunc` for a given bin is divided by the sum of the
+ output of `histfunc` for all bins and multiplied by 100. If
+ `'density'`, the output of `histfunc` for a given bin is divided by the
+ size of the bin. If `'probability density'`, the output of `histfunc`
+ for a given bin is normalized such that it corresponds to the
+ probability that a random event whose distribution is described by the
+ output of `histfunc` will fall into that bin.
+ log_x : boolean (default `False`)
+ If `True`, the x-axis is log-scaled in cartesian coordinates.
+ log_y : boolean (default `False`)
+ If `True`, the y-axis is log-scaled in cartesian coordinates.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ histfunc : str (default `'count'` if no arguments are provided, else `'sum'`)
+ One of `'count'`, `'sum'`, `'avg'`, `'min'`, or `'max'`. Function used
+ to aggregate values for summarization (note: can be normalized with
+ `histnorm`). The arguments to this function are the values of `y` (`x`)
+ if `orientation` is `'v'` (`'h'`).
+ cumulative : boolean (default `False`)
+ If `True`, histogram values are cumulative.
+ nbins : int
+ Positive integer. Sets the number of bins.
+ text_auto : bool or string (default `False`)
+ If `True` or a string, the x or y or z values will be displayed as
+ text, depending on the orientation A string like `'.2f'` will be
+ interpreted as a `texttemplate` numeric formatting directive.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(),
@@ -499,20 +1964,6 @@ def histogram(
)
-histogram.__doc__ = make_docstring(
- histogram,
- append_dict=dict(
- x=["If `orientation` is `'h'`, these values are used as inputs to `histfunc`."]
- + _wide_mode_xy_append,
- y=["If `orientation` is `'v'`, these values are used as inputs to `histfunc`."]
- + _wide_mode_xy_append,
- histfunc=[
- "The arguments to this function are the values of `y` (`x`) if `orientation` is `'v'` (`'h'`).",
- ],
- ),
-)
-
-
def ecdf(
data_frame=None,
x=None,
@@ -561,25 +2012,201 @@ def ecdf(
are sorted by the value `x` (or `y` if `orientation` is `'h'`) and their cumulative
count (or the cumulative sum of `y` if supplied and `orientation` is `h`) is drawn
as a line.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the x axis in cartesian coordinates. If
+ `orientation` is `'h'`, the cumulative sum of this argument is plotted
+ rather than the cumulative count. Either `x` or `y` can optionally be a
+ list of column references or array_likes, in which case the data will
+ be treated as if it were 'wide' rather than 'long'.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates. If
+ `orientation` is `'v'`, the cumulative sum of this argument is plotted
+ rather than the cumulative count. Either `x` or `y` can optionally be a
+ list of column references or array_likes, in which case the data will
+ be treated as if it were 'wide' rather than 'long'.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ line_dash : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign dash-patterns to lines.
+ symbol : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign symbols to marks.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ markers : boolean (default `False`)
+ If `True`, markers are shown on lines.
+ lines : boolean (default `True`)
+ If `False`, lines are not drawn (forced to `True` if `markers` is
+ `False`).
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ line_dash_sequence : list of str
+ Strings should define valid plotly.js dash-patterns. When `line_dash`
+ is set, values in that column are assigned dash-patterns by cycling
+ through `line_dash_sequence` in the order described in
+ `category_orders`, unless the value of `line_dash` is a key in
+ `line_dash_map`.
+ line_dash_map : dict with str keys and str values (default `{}`)
+ Strings values define plotly.js dash-patterns. Used to override
+ `line_dash_sequences` to assign a specific dash-patterns to lines
+ corresponding with specific values. Keys in `line_dash_map` should be
+ values in the column denoted by `line_dash`. Alternatively, if the
+ values of `line_dash` are valid line-dash names, the string
+ `'identity'` may be passed to cause them to be used directly.
+ symbol_sequence : list of str
+ Strings should define valid plotly.js symbols. When `symbol` is set,
+ values in that column are assigned symbols by cycling through
+ `symbol_sequence` in the order described in `category_orders`, unless
+ the value of `symbol` is a key in `symbol_map`.
+ symbol_map : dict with str keys and str values (default `{}`)
+ String values should define plotly.js symbols Used to override
+ `symbol_sequence` to assign a specific symbols to marks corresponding
+ with specific values. Keys in `symbol_map` should be values in the
+ column denoted by `symbol`. Alternatively, if the values of `symbol`
+ are valid symbol names, the string `'identity'` may be passed to cause
+ them to be used directly.
+ marginal : str
+ One of `'rug'`, `'box'`, `'violin'`, or `'histogram'`. If set, a
+ subplot is drawn alongside the main plot, visualizing the distribution.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ orientation : str, one of `'h'` for horizontal or `'v'` for vertical.
+ (default `'v'` if `x` and `y` are provided and both continuous or both
+ categorical, otherwise `'v'`(`'h'`) if `x`(`y`) is categorical and
+ `y`(`x`) is continuous, otherwise `'v'`(`'h'`) if only `x`(`y`) is
+ provided)
+ ecdfnorm : string or `None` (default `'probability'`)
+ One of `'probability'` or `'percent'` If `None`, values will be raw
+ counts or sums. If `'probability', values will be probabilities
+ normalized from 0 to 1. If `'percent', values will be percentages
+ normalized from 0 to 100.
+ ecdfmode : string (default `'standard'`)
+ One of `'standard'`, `'complementary'` or `'reversed'` If `'standard'`,
+ the ECDF is plotted such that values represent data at or below the
+ point. If `'complementary'`, the CCDF is plotted such that values
+ represent data above the point. If `'reversed'`, a variant of the CCDF
+ is plotted such that values represent data at or above the point.
+ render_mode : str
+ One of `'auto'`, `'svg'` or `'webgl'`, default `'auto'` Controls the
+ browser API used to draw marks. `'svg'` is appropriate for figures of
+ less than 1000 data points, and will allow for fully-vectorized output.
+ `'webgl'` is likely necessary for acceptable performance above 1000
+ points but rasterizes part of the output. `'auto'` uses heuristics to
+ choose the mode.
+ log_x : boolean (default `False`)
+ If `True`, the x-axis is log-scaled in cartesian coordinates.
+ log_y : boolean (default `False`)
+ If `True`, the y-axis is log-scaled in cartesian coordinates.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(args=locals(), constructor=go.Scatter)
-ecdf.__doc__ = make_docstring(
- ecdf,
- append_dict=dict(
- x=[
- "If `orientation` is `'h'`, the cumulative sum of this argument is plotted rather than the cumulative count."
- ]
- + _wide_mode_xy_append,
- y=[
- "If `orientation` is `'v'`, the cumulative sum of this argument is plotted rather than the cumulative count."
- ]
- + _wide_mode_xy_append,
- ),
-)
-
-
def violin(
data_frame=None,
x=None,
@@ -616,6 +2243,151 @@ def violin(
"""
In a violin plot, rows of `data_frame` are grouped together into a
curved mark to visualize their distribution.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the x axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ orientation : str, one of `'h'` for horizontal or `'v'` for vertical.
+ (default `'v'` if `x` and `y` are provided and both continuous or both
+ categorical, otherwise `'v'`(`'h'`) if `x`(`y`) is categorical and
+ `y`(`x`) is continuous, otherwise `'v'`(`'h'`) if only `x`(`y`) is
+ provided)
+ violinmode : str (default `'group'`)
+ One of `'group'` or `'overlay'` In `'overlay'` mode, violins are on
+ drawn top of one another. In `'group'` mode, violins are placed beside
+ each other.
+ log_x : boolean (default `False`)
+ If `True`, the x-axis is log-scaled in cartesian coordinates.
+ log_y : boolean (default `False`)
+ If `True`, the y-axis is log-scaled in cartesian coordinates.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ points : str or boolean (default `'outliers'`)
+ One of `'outliers'`, `'suspectedoutliers'`, `'all'`, or `False`. If
+ `'outliers'`, only the sample points lying outside the whiskers are
+ shown. If `'suspectedoutliers'`, all outlier points are shown and those
+ less than 4*Q1-3*Q3 or greater than 4*Q3-3*Q1 are highlighted with the
+ marker's `'outliercolor'`. If `'outliers'`, only the sample points
+ lying outside the whiskers are shown. If `'all'`, all sample points are
+ shown. If `False`, no sample points are shown and the whiskers extend
+ to the full range of the sample.
+ box : boolean (default `False`)
+ If `True`, boxes are drawn inside the violins.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(),
@@ -631,9 +2403,6 @@ def violin(
)
-violin.__doc__ = make_docstring(violin, append_dict=_cartesian_append_dict)
-
-
def box(
data_frame=None,
x=None,
@@ -675,6 +2444,151 @@ def box(
quartile (Q2) is marked by a line inside the box. By default, the
whiskers correspond to the box' edges +/- 1.5 times the interquartile
range (IQR: Q3-Q1), see "points" for other options.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the x axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ orientation : str, one of `'h'` for horizontal or `'v'` for vertical.
+ (default `'v'` if `x` and `y` are provided and both continuous or both
+ categorical, otherwise `'v'`(`'h'`) if `x`(`y`) is categorical and
+ `y`(`x`) is continuous, otherwise `'v'`(`'h'`) if only `x`(`y`) is
+ provided)
+ boxmode : str (default `'group'`)
+ One of `'group'` or `'overlay'` In `'overlay'` mode, boxes are on drawn
+ top of one another. In `'group'` mode, boxes are placed beside each
+ other.
+ log_x : boolean (default `False`)
+ If `True`, the x-axis is log-scaled in cartesian coordinates.
+ log_y : boolean (default `False`)
+ If `True`, the y-axis is log-scaled in cartesian coordinates.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ points : str or boolean (default `'outliers'`)
+ One of `'outliers'`, `'suspectedoutliers'`, `'all'`, or `False`. If
+ `'outliers'`, only the sample points lying outside the whiskers are
+ shown. If `'suspectedoutliers'`, all outlier points are shown and those
+ less than 4*Q1-3*Q3 or greater than 4*Q3-3*Q1 are highlighted with the
+ marker's `'outliercolor'`. If `'outliers'`, only the sample points
+ lying outside the whiskers are shown. If `'all'`, all sample points are
+ shown. If `False`, no sample points are shown and the whiskers extend
+ to the full range of the sample.
+ notched : boolean (default `False`)
+ If `True`, boxes are drawn with notches.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(),
@@ -684,9 +2598,6 @@ def box(
)
-box.__doc__ = make_docstring(box, append_dict=_cartesian_append_dict)
-
-
def strip(
data_frame=None,
x=None,
@@ -721,6 +2632,140 @@ def strip(
"""
In a strip plot each row of `data_frame` is represented as a jittered
mark within categories.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the x axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ orientation : str, one of `'h'` for horizontal or `'v'` for vertical.
+ (default `'v'` if `x` and `y` are provided and both continuous or both
+ categorical, otherwise `'v'`(`'h'`) if `x`(`y`) is categorical and
+ `y`(`x`) is continuous, otherwise `'v'`(`'h'`) if only `x`(`y`) is
+ provided)
+ stripmode: str (default `'group'`)
+ One of `'group'` or `'overlay'` In `'overlay'` mode, strips are on
+ drawn top of one another. In `'group'` mode, strips are placed beside
+ each other.
+ log_x : boolean (default `False`)
+ If `True`, the x-axis is log-scaled in cartesian coordinates.
+ log_y : boolean (default `False`)
+ If `True`, the y-axis is log-scaled in cartesian coordinates.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(),
@@ -738,9 +2783,6 @@ def strip(
)
-strip.__doc__ = make_docstring(strip, append_dict=_cartesian_append_dict)
-
-
def scatter_3d(
data_frame=None,
x=None,
@@ -787,13 +2829,196 @@ def scatter_3d(
"""
In a 3D scatter plot, each row of `data_frame` is represented by a
symbol mark in 3D space.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the x axis in cartesian coordinates.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates.
+ z : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the z axis in cartesian coordinates.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ symbol : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign symbols to marks.
+ size : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign mark sizes.
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ error_x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size x-axis error bars. If `error_x_minus` is `None`, error bars will
+ be symmetrical, otherwise `error_x` is used for the positive direction
+ only.
+ error_x_minus : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size x-axis error bars in the negative direction. Ignored if `error_x`
+ is `None`.
+ error_y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size y-axis error bars. If `error_y_minus` is `None`, error bars will
+ be symmetrical, otherwise `error_y` is used for the positive direction
+ only.
+ error_y_minus : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size y-axis error bars in the negative direction. Ignored if `error_y`
+ is `None`.
+ error_z : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size z-axis error bars. If `error_z_minus` is `None`, error bars will
+ be symmetrical, otherwise `error_z` is used for the positive direction
+ only.
+ error_z_minus : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size z-axis error bars in the negative direction. Ignored if `error_z`
+ is `None`.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ size_max : int (default `20`)
+ Set the maximum mark size when using `size`.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ symbol_sequence : list of str
+ Strings should define valid plotly.js symbols. When `symbol` is set,
+ values in that column are assigned symbols by cycling through
+ `symbol_sequence` in the order described in `category_orders`, unless
+ the value of `symbol` is a key in `symbol_map`.
+ symbol_map : dict with str keys and str values (default `{}`)
+ String values should define plotly.js symbols Used to override
+ `symbol_sequence` to assign a specific symbols to marks corresponding
+ with specific values. Keys in `symbol_map` should be values in the
+ column denoted by `symbol`. Alternatively, if the values of `symbol`
+ are valid symbol names, the string `'identity'` may be passed to cause
+ them to be used directly.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ log_x : boolean (default `False`)
+ If `True`, the x-axis is log-scaled in cartesian coordinates.
+ log_y : boolean (default `False`)
+ If `True`, the y-axis is log-scaled in cartesian coordinates.
+ log_z : boolean (default `False`)
+ If `True`, the z-axis is log-scaled in cartesian coordinates.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ range_z : list of two numbers
+ If provided, overrides auto-scaling on the z-axis in cartesian
+ coordinates.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(args=locals(), constructor=go.Scatter3d)
-scatter_3d.__doc__ = make_docstring(scatter_3d)
-
-
def line_3d(
data_frame=None,
x=None,
@@ -839,13 +3064,197 @@ def line_3d(
"""
In a 3D line plot, each row of `data_frame` is represented as a vertex of
a polyline mark in 3D space.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the x axis in cartesian coordinates.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates.
+ z : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the z axis in cartesian coordinates.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ line_dash : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign dash-patterns to lines.
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ line_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ group rows of `data_frame` into lines.
+ symbol : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign symbols to marks.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ error_x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size x-axis error bars. If `error_x_minus` is `None`, error bars will
+ be symmetrical, otherwise `error_x` is used for the positive direction
+ only.
+ error_x_minus : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size x-axis error bars in the negative direction. Ignored if `error_x`
+ is `None`.
+ error_y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size y-axis error bars. If `error_y_minus` is `None`, error bars will
+ be symmetrical, otherwise `error_y` is used for the positive direction
+ only.
+ error_y_minus : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size y-axis error bars in the negative direction. Ignored if `error_y`
+ is `None`.
+ error_z : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size z-axis error bars. If `error_z_minus` is `None`, error bars will
+ be symmetrical, otherwise `error_z` is used for the positive direction
+ only.
+ error_z_minus : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ size z-axis error bars in the negative direction. Ignored if `error_z`
+ is `None`.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ line_dash_sequence : list of str
+ Strings should define valid plotly.js dash-patterns. When `line_dash`
+ is set, values in that column are assigned dash-patterns by cycling
+ through `line_dash_sequence` in the order described in
+ `category_orders`, unless the value of `line_dash` is a key in
+ `line_dash_map`.
+ line_dash_map : dict with str keys and str values (default `{}`)
+ Strings values define plotly.js dash-patterns. Used to override
+ `line_dash_sequences` to assign a specific dash-patterns to lines
+ corresponding with specific values. Keys in `line_dash_map` should be
+ values in the column denoted by `line_dash`. Alternatively, if the
+ values of `line_dash` are valid line-dash names, the string
+ `'identity'` may be passed to cause them to be used directly.
+ symbol_sequence : list of str
+ Strings should define valid plotly.js symbols. When `symbol` is set,
+ values in that column are assigned symbols by cycling through
+ `symbol_sequence` in the order described in `category_orders`, unless
+ the value of `symbol` is a key in `symbol_map`.
+ symbol_map : dict with str keys and str values (default `{}`)
+ String values should define plotly.js symbols Used to override
+ `symbol_sequence` to assign a specific symbols to marks corresponding
+ with specific values. Keys in `symbol_map` should be values in the
+ column denoted by `symbol`. Alternatively, if the values of `symbol`
+ are valid symbol names, the string `'identity'` may be passed to cause
+ them to be used directly.
+ markers : boolean (default `False`)
+ If `True`, markers are shown on lines.
+ log_x : boolean (default `False`)
+ If `True`, the x-axis is log-scaled in cartesian coordinates.
+ log_y : boolean (default `False`)
+ If `True`, the y-axis is log-scaled in cartesian coordinates.
+ log_z : boolean (default `False`)
+ If `True`, the z-axis is log-scaled in cartesian coordinates.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ range_z : list of two numbers
+ If provided, overrides auto-scaling on the z-axis in cartesian
+ coordinates.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(args=locals(), constructor=go.Scatter3d)
-line_3d.__doc__ = make_docstring(line_3d)
-
-
def scatter_ternary(
data_frame=None,
a=None,
@@ -880,13 +3289,148 @@ def scatter_ternary(
"""
In a ternary scatter plot, each row of `data_frame` is represented by a
symbol mark in ternary coordinates.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ a : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the a axis in ternary coordinates.
+ b : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the b axis in ternary coordinates.
+ c : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the c axis in ternary coordinates.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ symbol : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign symbols to marks.
+ size : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign mark sizes.
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ symbol_sequence : list of str
+ Strings should define valid plotly.js symbols. When `symbol` is set,
+ values in that column are assigned symbols by cycling through
+ `symbol_sequence` in the order described in `category_orders`, unless
+ the value of `symbol` is a key in `symbol_map`.
+ symbol_map : dict with str keys and str values (default `{}`)
+ String values should define plotly.js symbols Used to override
+ `symbol_sequence` to assign a specific symbols to marks corresponding
+ with specific values. Keys in `symbol_map` should be values in the
+ column denoted by `symbol`. Alternatively, if the values of `symbol`
+ are valid symbol names, the string `'identity'` may be passed to cause
+ them to be used directly.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ size_max : int (default `20`)
+ Set the maximum mark size when using `size`.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(args=locals(), constructor=go.Scatterternary)
-scatter_ternary.__doc__ = make_docstring(scatter_ternary)
-
-
def line_ternary(
data_frame=None,
a=None,
@@ -921,13 +3465,151 @@ def line_ternary(
"""
In a ternary line plot, each row of `data_frame` is represented as
a vertex of a polyline mark in ternary coordinates.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ a : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the a axis in ternary coordinates.
+ b : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the b axis in ternary coordinates.
+ c : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the c axis in ternary coordinates.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ line_dash : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign dash-patterns to lines.
+ line_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ group rows of `data_frame` into lines.
+ symbol : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign symbols to marks.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ line_dash_sequence : list of str
+ Strings should define valid plotly.js dash-patterns. When `line_dash`
+ is set, values in that column are assigned dash-patterns by cycling
+ through `line_dash_sequence` in the order described in
+ `category_orders`, unless the value of `line_dash` is a key in
+ `line_dash_map`.
+ line_dash_map : dict with str keys and str values (default `{}`)
+ Strings values define plotly.js dash-patterns. Used to override
+ `line_dash_sequences` to assign a specific dash-patterns to lines
+ corresponding with specific values. Keys in `line_dash_map` should be
+ values in the column denoted by `line_dash`. Alternatively, if the
+ values of `line_dash` are valid line-dash names, the string
+ `'identity'` may be passed to cause them to be used directly.
+ symbol_sequence : list of str
+ Strings should define valid plotly.js symbols. When `symbol` is set,
+ values in that column are assigned symbols by cycling through
+ `symbol_sequence` in the order described in `category_orders`, unless
+ the value of `symbol` is a key in `symbol_map`.
+ symbol_map : dict with str keys and str values (default `{}`)
+ String values should define plotly.js symbols Used to override
+ `symbol_sequence` to assign a specific symbols to marks corresponding
+ with specific values. Keys in `symbol_map` should be values in the
+ column denoted by `symbol`. Alternatively, if the values of `symbol`
+ are valid symbol names, the string `'identity'` may be passed to cause
+ them to be used directly.
+ markers : boolean (default `False`)
+ If `True`, markers are shown on lines.
+ line_shape : str (default `'linear'`)
+ One of `'linear'`, `'spline'`, `'hv'`, `'vh'`, `'hvh'`, or `'vhv'`
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(args=locals(), constructor=go.Scatterternary)
-line_ternary.__doc__ = make_docstring(line_ternary)
-
-
def scatter_polar(
data_frame=None,
r=None,
@@ -967,13 +3649,166 @@ def scatter_polar(
"""
In a polar scatter plot, each row of `data_frame` is represented by a
symbol mark in polar coordinates.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ r : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the radial axis in polar coordinates.
+ theta : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the angular axis in polar coordinates.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ symbol : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign symbols to marks.
+ size : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign mark sizes.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ symbol_sequence : list of str
+ Strings should define valid plotly.js symbols. When `symbol` is set,
+ values in that column are assigned symbols by cycling through
+ `symbol_sequence` in the order described in `category_orders`, unless
+ the value of `symbol` is a key in `symbol_map`.
+ symbol_map : dict with str keys and str values (default `{}`)
+ String values should define plotly.js symbols Used to override
+ `symbol_sequence` to assign a specific symbols to marks corresponding
+ with specific values. Keys in `symbol_map` should be values in the
+ column denoted by `symbol`. Alternatively, if the values of `symbol`
+ are valid symbol names, the string `'identity'` may be passed to cause
+ them to be used directly.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ direction : str
+ One of '`counterclockwise'` or `'clockwise'`. Default is `'clockwise'`
+ Sets the direction in which increasing values of the angular axis are
+ drawn.
+ start_angle : int (default `90`)
+ Sets start angle for the angular axis, with 0 being due east and 90
+ being due north.
+ size_max : int (default `20`)
+ Set the maximum mark size when using `size`.
+ range_r : list of two numbers
+ If provided, overrides auto-scaling on the radial axis in polar
+ coordinates.
+ range_theta : list of two numbers
+ If provided, overrides auto-scaling on the angular axis in polar
+ coordinates.
+ log_r : boolean (default `False`)
+ If `True`, the radial axis is log-scaled in polar coordinates.
+ render_mode : str
+ One of `'auto'`, `'svg'` or `'webgl'`, default `'auto'` Controls the
+ browser API used to draw marks. `'svg'` is appropriate for figures of
+ less than 1000 data points, and will allow for fully-vectorized output.
+ `'webgl'` is likely necessary for acceptable performance above 1000
+ points but rasterizes part of the output. `'auto'` uses heuristics to
+ choose the mode.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(args=locals(), constructor=go.Scatterpolar)
-scatter_polar.__doc__ = make_docstring(scatter_polar)
-
-
def line_polar(
data_frame=None,
r=None,
@@ -1014,13 +3849,172 @@ def line_polar(
"""
In a polar line plot, each row of `data_frame` is represented as a
vertex of a polyline mark in polar coordinates.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ r : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the radial axis in polar coordinates.
+ theta : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the angular axis in polar coordinates.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ line_dash : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign dash-patterns to lines.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ line_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ group rows of `data_frame` into lines.
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ symbol : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign symbols to marks.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ line_dash_sequence : list of str
+ Strings should define valid plotly.js dash-patterns. When `line_dash`
+ is set, values in that column are assigned dash-patterns by cycling
+ through `line_dash_sequence` in the order described in
+ `category_orders`, unless the value of `line_dash` is a key in
+ `line_dash_map`.
+ line_dash_map : dict with str keys and str values (default `{}`)
+ Strings values define plotly.js dash-patterns. Used to override
+ `line_dash_sequences` to assign a specific dash-patterns to lines
+ corresponding with specific values. Keys in `line_dash_map` should be
+ values in the column denoted by `line_dash`. Alternatively, if the
+ values of `line_dash` are valid line-dash names, the string
+ `'identity'` may be passed to cause them to be used directly.
+ symbol_sequence : list of str
+ Strings should define valid plotly.js symbols. When `symbol` is set,
+ values in that column are assigned symbols by cycling through
+ `symbol_sequence` in the order described in `category_orders`, unless
+ the value of `symbol` is a key in `symbol_map`.
+ symbol_map : dict with str keys and str values (default `{}`)
+ String values should define plotly.js symbols Used to override
+ `symbol_sequence` to assign a specific symbols to marks corresponding
+ with specific values. Keys in `symbol_map` should be values in the
+ column denoted by `symbol`. Alternatively, if the values of `symbol`
+ are valid symbol names, the string `'identity'` may be passed to cause
+ them to be used directly.
+ markers : boolean (default `False`)
+ If `True`, markers are shown on lines.
+ direction : str
+ One of '`counterclockwise'` or `'clockwise'`. Default is `'clockwise'`
+ Sets the direction in which increasing values of the angular axis are
+ drawn.
+ start_angle : int (default `90`)
+ Sets start angle for the angular axis, with 0 being due east and 90
+ being due north.
+ line_close: boolean (default `False`)
+ If `True`, an extra line segment is drawn between the first and last
+ point.
+ line_shape : str (default `'linear'`)
+ One of `'linear'`, `'spline'`, `'hv'`, `'vh'`, `'hvh'`, or `'vhv'`
+ render_mode : str
+ One of `'auto'`, `'svg'` or `'webgl'`, default `'auto'` Controls the
+ browser API used to draw marks. `'svg'` is appropriate for figures of
+ less than 1000 data points, and will allow for fully-vectorized output.
+ `'webgl'` is likely necessary for acceptable performance above 1000
+ points but rasterizes part of the output. `'auto'` uses heuristics to
+ choose the mode.
+ range_r : list of two numbers
+ If provided, overrides auto-scaling on the radial axis in polar
+ coordinates.
+ range_theta : list of two numbers
+ If provided, overrides auto-scaling on the angular axis in polar
+ coordinates.
+ log_r : boolean (default `False`)
+ If `True`, the radial axis is log-scaled in polar coordinates.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(args=locals(), constructor=go.Scatterpolar)
-line_polar.__doc__ = make_docstring(line_polar)
-
-
def bar_polar(
data_frame=None,
r=None,
@@ -1058,6 +4052,158 @@ def bar_polar(
"""
In a polar bar plot, each row of `data_frame` is represented as a wedge
mark in polar coordinates.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ r : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the radial axis in polar coordinates.
+ theta : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the angular axis in polar coordinates.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ pattern_shape : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign pattern shapes to marks.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ base : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position the base of the bar.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ pattern_shape_sequence : list of str
+ Strings should define valid plotly.js patterns-shapes. When
+ `pattern_shape` is set, values in that column are assigned patterns-
+ shapes by cycling through `pattern_shape_sequence` in the order
+ described in `category_orders`, unless the value of `pattern_shape` is
+ a key in `pattern_shape_map`.
+ pattern_shape_map : dict with str keys and str values (default `{}`)
+ Strings values define plotly.js patterns-shapes. Used to override
+ `pattern_shape_sequences` to assign a specific patterns-shapes to lines
+ corresponding with specific values. Keys in `pattern_shape_map` should
+ be values in the column denoted by `pattern_shape`. Alternatively, if
+ the values of `pattern_shape` are valid patterns-shapes names, the
+ string `'identity'` may be passed to cause them to be used directly.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ barnorm : str (default `None`)
+ One of `'fraction'` or `'percent'`. If `'fraction'`, the value of each
+ bar is divided by the sum of all values at that location coordinate.
+ `'percent'` is the same but multiplied by 100 to show percentages.
+ `None` will stack up all values at each location coordinate.
+ barmode : str (default `'relative'`)
+ One of `'group'`, `'overlay'` or `'relative'` In `'relative'` mode,
+ bars are stacked above zero for positive values and below zero for
+ negative values. In `'overlay'` mode, bars are drawn on top of one
+ another. In `'group'` mode, bars are placed beside each other.
+ direction : str
+ One of '`counterclockwise'` or `'clockwise'`. Default is `'clockwise'`
+ Sets the direction in which increasing values of the angular axis are
+ drawn.
+ start_angle : int (default `90`)
+ Sets start angle for the angular axis, with 0 being due east and 90
+ being due north.
+ range_r : list of two numbers
+ If provided, overrides auto-scaling on the radial axis in polar
+ coordinates.
+ range_theta : list of two numbers
+ If provided, overrides auto-scaling on the angular axis in polar
+ coordinates.
+ log_r : boolean (default `False`)
+ If `True`, the radial axis is log-scaled in polar coordinates.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(),
@@ -1066,9 +4212,6 @@ def bar_polar(
)
-bar_polar.__doc__ = make_docstring(bar_polar)
-
-
def choropleth(
data_frame=None,
lat=None,
@@ -1109,6 +4252,162 @@ def choropleth(
"""
In a choropleth map, each row of `data_frame` is represented by a
colored region mark on a map.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ lat : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to latitude on a map.
+ lon : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to longitude on a map.
+ locations : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are to be
+ interpreted according to `locationmode` and mapped to
+ longitude/latitude.
+ locationmode : str
+ One of 'ISO-3', 'USA-states', or 'country names' Determines the set of
+ locations used to match entries in `locations` to regions on the map.
+ geojson : GeoJSON-formatted dict
+ Must contain a Polygon feature collection, with IDs, which are
+ references from `locations`.
+ featureidkey : str (default: `'id'`)
+ Path to field in GeoJSON feature object with which to match the values
+ passed in to `locations`.The most common alternative to the default is
+ of the form `'properties.`.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ projection : str
+ One of `'equirectangular'`, `'mercator'`, `'orthographic'`, `'natural
+ earth'`, `'kavrayskiy7'`, `'miller'`, `'robinson'`, `'eckert4'`,
+ `'azimuthal equal area'`, `'azimuthal equidistant'`, `'conic equal
+ area'`, `'conic conformal'`, `'conic equidistant'`, `'gnomonic'`,
+ `'stereographic'`, `'mollweide'`, `'hammer'`, `'transverse mercator'`,
+ `'albers usa'`, `'winkel tripel'`, `'aitoff'`, or `'sinusoidal'`Default
+ depends on `scope`.
+ scope : str (default `'world'`).
+ One of `'world'`, `'usa'`, `'europe'`, `'asia'`, `'africa'`, `'north
+ america'`, or `'south america'`Default is `'world'` unless `projection`
+ is set to `'albers usa'`, which forces `'usa'`.
+ center : dict
+ Dict keys are `'lat'` and `'lon'` Sets the center point of the map.
+ fitbounds : str (default `False`).
+ One of `False`, `locations` or `geojson`.
+ basemap_visible : bool
+ Force the basemap visibility.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(),
@@ -1117,9 +4416,6 @@ def choropleth(
)
-choropleth.__doc__ = make_docstring(choropleth)
-
-
def scatter_geo(
data_frame=None,
lat=None,
@@ -1167,6 +4463,190 @@ def scatter_geo(
"""
In a geographic scatter plot, each row of `data_frame` is represented
by a symbol mark on a map.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ lat : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to latitude on a map.
+ lon : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to longitude on a map.
+ locations : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are to be
+ interpreted according to `locationmode` and mapped to
+ longitude/latitude.
+ locationmode : str
+ One of 'ISO-3', 'USA-states', or 'country names' Determines the set of
+ locations used to match entries in `locations` to regions on the map.
+ geojson : GeoJSON-formatted dict
+ Must contain a Polygon feature collection, with IDs, which are
+ references from `locations`.
+ featureidkey : str (default: `'id'`)
+ Path to field in GeoJSON feature object with which to match the values
+ passed in to `locations`.The most common alternative to the default is
+ of the form `'properties.`.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ symbol : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign symbols to marks.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ size : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign mark sizes.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ symbol_sequence : list of str
+ Strings should define valid plotly.js symbols. When `symbol` is set,
+ values in that column are assigned symbols by cycling through
+ `symbol_sequence` in the order described in `category_orders`, unless
+ the value of `symbol` is a key in `symbol_map`.
+ symbol_map : dict with str keys and str values (default `{}`)
+ String values should define plotly.js symbols Used to override
+ `symbol_sequence` to assign a specific symbols to marks corresponding
+ with specific values. Keys in `symbol_map` should be values in the
+ column denoted by `symbol`. Alternatively, if the values of `symbol`
+ are valid symbol names, the string `'identity'` may be passed to cause
+ them to be used directly.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ size_max : int (default `20`)
+ Set the maximum mark size when using `size`.
+ projection : str
+ One of `'equirectangular'`, `'mercator'`, `'orthographic'`, `'natural
+ earth'`, `'kavrayskiy7'`, `'miller'`, `'robinson'`, `'eckert4'`,
+ `'azimuthal equal area'`, `'azimuthal equidistant'`, `'conic equal
+ area'`, `'conic conformal'`, `'conic equidistant'`, `'gnomonic'`,
+ `'stereographic'`, `'mollweide'`, `'hammer'`, `'transverse mercator'`,
+ `'albers usa'`, `'winkel tripel'`, `'aitoff'`, or `'sinusoidal'`Default
+ depends on `scope`.
+ scope : str (default `'world'`).
+ One of `'world'`, `'usa'`, `'europe'`, `'asia'`, `'africa'`, `'north
+ america'`, or `'south america'`Default is `'world'` unless `projection`
+ is set to `'albers usa'`, which forces `'usa'`.
+ center : dict
+ Dict keys are `'lat'` and `'lon'` Sets the center point of the map.
+ fitbounds : str (default `False`).
+ One of `False`, `locations` or `geojson`.
+ basemap_visible : bool
+ Force the basemap visibility.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(),
@@ -1175,9 +4655,6 @@ def scatter_geo(
)
-scatter_geo.__doc__ = make_docstring(scatter_geo)
-
-
def line_geo(
data_frame=None,
lat=None,
@@ -1224,6 +4701,191 @@ def line_geo(
"""
In a geographic line plot, each row of `data_frame` is represented as
a vertex of a polyline mark on a map.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ lat : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to latitude on a map.
+ lon : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to longitude on a map.
+ locations : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are to be
+ interpreted according to `locationmode` and mapped to
+ longitude/latitude.
+ locationmode : str
+ One of 'ISO-3', 'USA-states', or 'country names' Determines the set of
+ locations used to match entries in `locations` to regions on the map.
+ geojson : GeoJSON-formatted dict
+ Must contain a Polygon feature collection, with IDs, which are
+ references from `locations`.
+ featureidkey : str (default: `'id'`)
+ Path to field in GeoJSON feature object with which to match the values
+ passed in to `locations`.The most common alternative to the default is
+ of the form `'properties.`.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ line_dash : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign dash-patterns to lines.
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ line_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ group rows of `data_frame` into lines.
+ symbol : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign symbols to marks.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ line_dash_sequence : list of str
+ Strings should define valid plotly.js dash-patterns. When `line_dash`
+ is set, values in that column are assigned dash-patterns by cycling
+ through `line_dash_sequence` in the order described in
+ `category_orders`, unless the value of `line_dash` is a key in
+ `line_dash_map`.
+ line_dash_map : dict with str keys and str values (default `{}`)
+ Strings values define plotly.js dash-patterns. Used to override
+ `line_dash_sequences` to assign a specific dash-patterns to lines
+ corresponding with specific values. Keys in `line_dash_map` should be
+ values in the column denoted by `line_dash`. Alternatively, if the
+ values of `line_dash` are valid line-dash names, the string
+ `'identity'` may be passed to cause them to be used directly.
+ symbol_sequence : list of str
+ Strings should define valid plotly.js symbols. When `symbol` is set,
+ values in that column are assigned symbols by cycling through
+ `symbol_sequence` in the order described in `category_orders`, unless
+ the value of `symbol` is a key in `symbol_map`.
+ symbol_map : dict with str keys and str values (default `{}`)
+ String values should define plotly.js symbols Used to override
+ `symbol_sequence` to assign a specific symbols to marks corresponding
+ with specific values. Keys in `symbol_map` should be values in the
+ column denoted by `symbol`. Alternatively, if the values of `symbol`
+ are valid symbol names, the string `'identity'` may be passed to cause
+ them to be used directly.
+ markers : boolean (default `False`)
+ If `True`, markers are shown on lines.
+ projection : str
+ One of `'equirectangular'`, `'mercator'`, `'orthographic'`, `'natural
+ earth'`, `'kavrayskiy7'`, `'miller'`, `'robinson'`, `'eckert4'`,
+ `'azimuthal equal area'`, `'azimuthal equidistant'`, `'conic equal
+ area'`, `'conic conformal'`, `'conic equidistant'`, `'gnomonic'`,
+ `'stereographic'`, `'mollweide'`, `'hammer'`, `'transverse mercator'`,
+ `'albers usa'`, `'winkel tripel'`, `'aitoff'`, or `'sinusoidal'`Default
+ depends on `scope`.
+ scope : str (default `'world'`).
+ One of `'world'`, `'usa'`, `'europe'`, `'asia'`, `'africa'`, `'north
+ america'`, or `'south america'`Default is `'world'` unless `projection`
+ is set to `'albers usa'`, which forces `'usa'`.
+ center : dict
+ Dict keys are `'lat'` and `'lon'` Sets the center point of the map.
+ fitbounds : str (default `False`).
+ One of `False`, `locations` or `geojson`.
+ basemap_visible : bool
+ Force the basemap visibility.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(),
@@ -1232,9 +4894,6 @@ def line_geo(
)
-line_geo.__doc__ = make_docstring(line_geo)
-
-
def scatter_map(
data_frame=None,
lat=None,
@@ -1268,11 +4927,137 @@ def scatter_map(
"""
In a scatter map, each row of `data_frame` is represented by a
symbol mark on the map.
- """
- return make_figure(args=locals(), constructor=go.Scattermap)
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ lat : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to latitude on a map.
+ lon : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to longitude on a map.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ size : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign mark sizes.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ size_max : int (default `20`)
+ Set the maximum mark size when using `size`.
+ zoom : int (default `8`)
+ Between 0 and 20. Sets map zoom level.
+ center : dict
+ Dict keys are `'lat'` and `'lon'` Sets the center point of the map.
+ map_style : str (default `'basic'`)
+ Identifier of base map style. Allowed values are `'basic'`, `'carto-
+ darkmatter'`, `'carto-darkmatter-nolabels'`, `'carto-positron'`,
+ `'carto-positron-nolabels'`, `'carto-voyager'`, `'carto-voyager-
+ nolabels'`, `'dark'`, `'light'`, `'open-street-map'`, `'outdoors'`,
+ `'satellite'`, `'satellite-streets'`, `'streets'`, `'white-bg'`.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
-scatter_map.__doc__ = make_docstring(scatter_map)
+ """
+ return make_figure(args=locals(), constructor=go.Scattermap)
def choropleth_map(
@@ -1306,13 +5091,132 @@ def choropleth_map(
"""
In a choropleth map, each row of `data_frame` is represented by a
colored region on the map.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ geojson : GeoJSON-formatted dict
+ Must contain a Polygon feature collection, with IDs, which are
+ references from `locations`.
+ featureidkey : str (default: `'id'`)
+ Path to field in GeoJSON feature object with which to match the values
+ passed in to `locations`.The most common alternative to the default is
+ of the form `'properties.`.
+ locations : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are to be
+ interpreted according to `locationmode` and mapped to
+ longitude/latitude.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ zoom : int (default `8`)
+ Between 0 and 20. Sets map zoom level.
+ center : dict
+ Dict keys are `'lat'` and `'lon'` Sets the center point of the map.
+ map_style : str (default `'basic'`)
+ Identifier of base map style. Allowed values are `'basic'`, `'carto-
+ darkmatter'`, `'carto-darkmatter-nolabels'`, `'carto-positron'`,
+ `'carto-positron-nolabels'`, `'carto-voyager'`, `'carto-voyager-
+ nolabels'`, `'dark'`, `'light'`, `'open-street-map'`, `'outdoors'`,
+ `'satellite'`, `'satellite-streets'`, `'streets'`, `'white-bg'`.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(args=locals(), constructor=go.Choroplethmap)
-choropleth_map.__doc__ = make_docstring(choropleth_map)
-
-
def density_map(
data_frame=None,
lat=None,
@@ -1342,15 +5246,117 @@ def density_map(
"""
In a density map, each row of `data_frame` contributes to the intensity of
the color of the region around the corresponding point on the map.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ lat : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to latitude on a map.
+ lon : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to longitude on a map.
+ z : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the z axis in cartesian coordinates.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ zoom : int (default `8`)
+ Between 0 and 20. Sets map zoom level.
+ center : dict
+ Dict keys are `'lat'` and `'lon'` Sets the center point of the map.
+ map_style : str (default `'basic'`)
+ Identifier of base map style. Allowed values are `'basic'`, `'carto-
+ darkmatter'`, `'carto-darkmatter-nolabels'`, `'carto-positron'`,
+ `'carto-positron-nolabels'`, `'carto-voyager'`, `'carto-voyager-
+ nolabels'`, `'dark'`, `'light'`, `'open-street-map'`, `'outdoors'`,
+ `'satellite'`, `'satellite-streets'`, `'streets'`, `'white-bg'`.
+ radius : int (default is 30)
+ Sets the radius of influence of each point.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(), constructor=go.Densitymap, trace_patch=dict(radius=radius)
)
-density_map.__doc__ = make_docstring(density_map)
-
-
def line_map(
data_frame=None,
lat=None,
@@ -1379,13 +5385,120 @@ def line_map(
"""
In a line map, each row of `data_frame` is represented as
a vertex of a polyline mark on the map.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ lat : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to latitude on a map.
+ lon : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to longitude on a map.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ line_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ group rows of `data_frame` into lines.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ zoom : int (default `8`)
+ Between 0 and 20. Sets map zoom level.
+ center : dict
+ Dict keys are `'lat'` and `'lon'` Sets the center point of the map.
+ map_style : str (default `'basic'`)
+ Identifier of base map style. Allowed values are `'basic'`, `'carto-
+ darkmatter'`, `'carto-darkmatter-nolabels'`, `'carto-positron'`,
+ `'carto-positron-nolabels'`, `'carto-voyager'`, `'carto-voyager-
+ nolabels'`, `'dark'`, `'light'`, `'open-street-map'`, `'outdoors'`,
+ `'satellite'`, `'satellite-streets'`, `'streets'`, `'white-bg'`.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(args=locals(), constructor=go.Scattermap)
-line_map.__doc__ = make_docstring(line_map)
-
-
def scatter_mapbox(
data_frame=None,
lat=None,
@@ -1421,6 +5534,138 @@ def scatter_mapbox(
Learn more at: https://plotly.com/python/mapbox-to-maplibre/
In a Mapbox scatter plot, each row of `data_frame` is represented by a
symbol mark on a Mapbox map.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ lat : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to latitude on a map.
+ lon : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to longitude on a map.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ size : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign mark sizes.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ size_max : int (default `20`)
+ Set the maximum mark size when using `size`.
+ zoom : int (default `8`)
+ Between 0 and 20. Sets map zoom level.
+ center : dict
+ Dict keys are `'lat'` and `'lon'` Sets the center point of the map.
+ mapbox_style : str (default `'basic'`, needs Mapbox API token)
+ Identifier of base map style, some of which require a Mapbox or Stadia
+ Maps API token to be set using
+ `plotly.express.set_mapbox_access_token()`. Allowed values which do not
+ require a token are `'open-street-map'`, `'white-bg'`, `'carto-
+ positron'`, `'carto-darkmatter'`. Allowed values which require a Mapbox
+ API token are `'basic'`, `'streets'`, `'outdoors'`, `'light'`,
+ `'dark'`, `'satellite'`, `'satellite-streets'`. Allowed values which
+ require a Stadia Maps API token are `'stamen-terrain'`, `'stamen-
+ toner'`, `'stamen-watercolor'`.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
warn(
"*scatter_mapbox* is deprecated!"
@@ -1432,9 +5677,6 @@ def scatter_mapbox(
return make_figure(args=locals(), constructor=go.Scattermapbox)
-scatter_mapbox.__doc__ = make_docstring(scatter_mapbox)
-
-
def choropleth_mapbox(
data_frame=None,
geojson=None,
@@ -1468,6 +5710,132 @@ def choropleth_mapbox(
Learn more at: https://plotly.com/python/mapbox-to-maplibre/
In a Mapbox choropleth map, each row of `data_frame` is represented by a
colored region on a Mapbox map.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ geojson : GeoJSON-formatted dict
+ Must contain a Polygon feature collection, with IDs, which are
+ references from `locations`.
+ featureidkey : str (default: `'id'`)
+ Path to field in GeoJSON feature object with which to match the values
+ passed in to `locations`.The most common alternative to the default is
+ of the form `'properties.`.
+ locations : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are to be
+ interpreted according to `locationmode` and mapped to
+ longitude/latitude.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ zoom : int (default `8`)
+ Between 0 and 20. Sets map zoom level.
+ center : dict
+ Dict keys are `'lat'` and `'lon'` Sets the center point of the map.
+ mapbox_style : str (default `'basic'`, needs Mapbox API token)
+ Identifier of base map style, some of which require a Mapbox or Stadia
+ Maps API token to be set using
+ `plotly.express.set_mapbox_access_token()`. Allowed values which do not
+ require a token are `'open-street-map'`, `'white-bg'`, `'carto-
+ positron'`, `'carto-darkmatter'`. Allowed values which require a Mapbox
+ API token are `'basic'`, `'streets'`, `'outdoors'`, `'light'`,
+ `'dark'`, `'satellite'`, `'satellite-streets'`. Allowed values which
+ require a Stadia Maps API token are `'stamen-terrain'`, `'stamen-
+ toner'`, `'stamen-watercolor'`.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
warn(
"*choropleth_mapbox* is deprecated!"
@@ -1479,9 +5847,6 @@ def choropleth_mapbox(
return make_figure(args=locals(), constructor=go.Choroplethmapbox)
-choropleth_mapbox.__doc__ = make_docstring(choropleth_mapbox)
-
-
def density_mapbox(
data_frame=None,
lat=None,
@@ -1513,6 +5878,115 @@ def density_mapbox(
Learn more at: https://plotly.com/python/mapbox-to-maplibre/
In a Mapbox density map, each row of `data_frame` contributes to the intensity of
the color of the region around the corresponding point on the map
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ lat : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to latitude on a map.
+ lon : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to longitude on a map.
+ z : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the z axis in cartesian coordinates.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ zoom : int (default `8`)
+ Between 0 and 20. Sets map zoom level.
+ center : dict
+ Dict keys are `'lat'` and `'lon'` Sets the center point of the map.
+ mapbox_style : str (default `'basic'`, needs Mapbox API token)
+ Identifier of base map style, some of which require a Mapbox or Stadia
+ Maps API token to be set using
+ `plotly.express.set_mapbox_access_token()`. Allowed values which do not
+ require a token are `'open-street-map'`, `'white-bg'`, `'carto-
+ positron'`, `'carto-darkmatter'`. Allowed values which require a Mapbox
+ API token are `'basic'`, `'streets'`, `'outdoors'`, `'light'`,
+ `'dark'`, `'satellite'`, `'satellite-streets'`. Allowed values which
+ require a Stadia Maps API token are `'stamen-terrain'`, `'stamen-
+ toner'`, `'stamen-watercolor'`.
+ radius : int (default is 30)
+ Sets the radius of influence of each point.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
warn(
"*density_mapbox* is deprecated!"
@@ -1526,9 +6000,6 @@ def density_mapbox(
)
-density_mapbox.__doc__ = make_docstring(density_mapbox)
-
-
def line_mapbox(
data_frame=None,
lat=None,
@@ -1559,6 +6030,121 @@ def line_mapbox(
Learn more at: https://plotly.com/python/mapbox-to-maplibre/
In a Mapbox line plot, each row of `data_frame` is represented as
a vertex of a polyline mark on a Mapbox map.
+
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ lat : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to latitude on a map.
+ lon : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to longitude on a map.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ line_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ group rows of `data_frame` into lines.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ zoom : int (default `8`)
+ Between 0 and 20. Sets map zoom level.
+ center : dict
+ Dict keys are `'lat'` and `'lon'` Sets the center point of the map.
+ mapbox_style : str (default `'basic'`, needs Mapbox API token)
+ Identifier of base map style, some of which require a Mapbox or Stadia
+ Maps API token to be set using
+ `plotly.express.set_mapbox_access_token()`. Allowed values which do not
+ require a token are `'open-street-map'`, `'white-bg'`, `'carto-
+ positron'`, `'carto-darkmatter'`. Allowed values which require a Mapbox
+ API token are `'basic'`, `'streets'`, `'outdoors'`, `'light'`,
+ `'dark'`, `'satellite'`, `'satellite-streets'`. Allowed values which
+ require a Stadia Maps API token are `'stamen-terrain'`, `'stamen-
+ toner'`, `'stamen-watercolor'`.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
warn(
"*line_mapbox* is deprecated!"
@@ -1570,9 +6156,6 @@ def line_mapbox(
return make_figure(args=locals(), constructor=go.Scattermapbox)
-line_mapbox.__doc__ = make_docstring(line_mapbox)
-
-
def scatter_matrix(
data_frame=None,
dimensions=None,
@@ -1604,15 +6187,128 @@ def scatter_matrix(
represented by a multiple symbol marks, one in each cell of a grid of
2D scatter plots, which plot each pair of `dimensions` against each
other.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ dimensions : list of str or int, or Series or array-like
+ Either names of columns in `data_frame`, or pandas Series, or
+ array_like objects Values from these columns are used for
+ multidimensional visualization.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ symbol : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign symbols to marks.
+ size : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign mark sizes.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ symbol_sequence : list of str
+ Strings should define valid plotly.js symbols. When `symbol` is set,
+ values in that column are assigned symbols by cycling through
+ `symbol_sequence` in the order described in `category_orders`, unless
+ the value of `symbol` is a key in `symbol_map`.
+ symbol_map : dict with str keys and str values (default `{}`)
+ String values should define plotly.js symbols Used to override
+ `symbol_sequence` to assign a specific symbols to marks corresponding
+ with specific values. Keys in `symbol_map` should be values in the
+ column denoted by `symbol`. Alternatively, if the values of `symbol`
+ are valid symbol names, the string `'identity'` may be passed to cause
+ them to be used directly.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ size_max : int (default `20`)
+ Set the maximum mark size when using `size`.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(
args=locals(), constructor=go.Splom, layout_patch=dict(dragmode="select")
)
-scatter_matrix.__doc__ = make_docstring(scatter_matrix)
-
-
def parallel_coordinates(
data_frame=None,
dimensions=None,
@@ -1631,13 +6327,60 @@ def parallel_coordinates(
In a parallel coordinates plot, each row of `data_frame` is represented
by a polyline mark which traverses a set of parallel axes, one for each
of the `dimensions`.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ dimensions : list of str or int, or Series or array-like
+ Either names of columns in `data_frame`, or pandas Series, or
+ array_like objects Values from these columns are used for
+ multidimensional visualization.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(args=locals(), constructor=go.Parcoords)
-parallel_coordinates.__doc__ = make_docstring(parallel_coordinates)
-
-
def parallel_categories(
data_frame=None,
dimensions=None,
@@ -1658,13 +6401,64 @@ def parallel_categories(
`data_frame` is grouped with other rows that share the same values of
`dimensions` and then plotted as a polyline mark through a set of
parallel axes, one for each of the `dimensions`.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ dimensions : list of str or int, or Series or array-like
+ Either names of columns in `data_frame`, or pandas Series, or
+ array_like objects Values from these columns are used for
+ multidimensional visualization.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+ dimensions_max_cardinality : int (default 50)
+ When `dimensions` is `None` and `data_frame` is provided, columns with
+ more than this number of unique values are excluded from the output.
+ Not used when `dimensions` is passed.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(args=locals(), constructor=go.Parcats)
-parallel_categories.__doc__ = make_docstring(parallel_categories)
-
-
def pie(
data_frame=None,
names=None,
@@ -1693,6 +6487,110 @@ def pie(
"""
In a pie plot, each row of `data_frame` is represented as a sector of a
pie.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ names : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used as
+ labels for sectors.
+ values : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ set values associated to sectors.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ hole : float
+ Sets the fraction of the radius to cut out of the pie.Use this to make
+ a donut chart.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
if color_discrete_sequence is not None:
layout_patch = {"piecolorway": color_discrete_sequence}
@@ -1706,18 +6604,6 @@ def pie(
)
-pie.__doc__ = make_docstring(
- pie,
- override_dict=dict(
- hole=[
- "float",
- "Sets the fraction of the radius to cut out of the pie."
- "Use this to make a donut chart.",
- ],
- ),
-)
-
-
def sunburst(
data_frame=None,
names=None,
@@ -1746,6 +6632,116 @@ def sunburst(
"""
A sunburst plot represents hierarchial data as sectors laid out over
several levels of concentric rings.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ names : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used as
+ labels for sectors.
+ values : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ set values associated to sectors.
+ parents : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used as
+ parents in sunburst and treemap charts.
+ path : list of str or int, or Series or array-like
+ Either names of columns in `data_frame`, or pandas Series, or
+ array_like objects List of columns names or columns of a rectangular
+ dataframe defining the hierarchy of sectors, from root to leaves. An
+ error is raised if path AND ids or parents is passed
+ ids : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ set ids of sectors
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+ branchvalues : str
+ 'total' or 'remainder' Determines how the items in `values` are summed.
+ Whenset to 'total', items in `values` are taken to be valueof all its
+ descendants. When set to 'remainder', itemsin `values` corresponding to
+ the root and the branches:sectors are taken to be the extra part not
+ part of thesum of the values at their leaves.
+ maxdepth : int
+ Positive integer Sets the number of rendered sectors from any given
+ `level`. Set `maxdepth` to -1 to render all thelevels in the hierarchy.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
if color_discrete_sequence is not None:
layout_patch = {"sunburstcolorway": color_discrete_sequence}
@@ -1766,9 +6762,6 @@ def sunburst(
)
-sunburst.__doc__ = make_docstring(sunburst)
-
-
def treemap(
data_frame=None,
names=None,
@@ -1797,6 +6790,116 @@ def treemap(
"""
A treemap plot represents hierarchial data as nested rectangular
sectors.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ names : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used as
+ labels for sectors.
+ values : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ set values associated to sectors.
+ parents : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used as
+ parents in sunburst and treemap charts.
+ ids : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ set ids of sectors
+ path : list of str or int, or Series or array-like
+ Either names of columns in `data_frame`, or pandas Series, or
+ array_like objects List of columns names or columns of a rectangular
+ dataframe defining the hierarchy of sectors, from root to leaves. An
+ error is raised if path AND ids or parents is passed
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+ branchvalues : str
+ 'total' or 'remainder' Determines how the items in `values` are summed.
+ Whenset to 'total', items in `values` are taken to be valueof all its
+ descendants. When set to 'remainder', itemsin `values` corresponding to
+ the root and the branches:sectors are taken to be the extra part not
+ part of thesum of the values at their leaves.
+ maxdepth : int
+ Positive integer Sets the number of rendered sectors from any given
+ `level`. Set `maxdepth` to -1 to render all thelevels in the hierarchy.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
if color_discrete_sequence is not None:
layout_patch = {"treemapcolorway": color_discrete_sequence}
@@ -1817,9 +6920,6 @@ def treemap(
)
-treemap.__doc__ = make_docstring(treemap)
-
-
def icicle(
data_frame=None,
names=None,
@@ -1848,6 +6948,116 @@ def icicle(
"""
An icicle plot represents hierarchial data with adjoined rectangular
sectors that all cascade from root down to leaf in one direction.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ names : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used as
+ labels for sectors.
+ values : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ set values associated to sectors.
+ parents : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used as
+ parents in sunburst and treemap charts.
+ path : list of str or int, or Series or array-like
+ Either names of columns in `data_frame`, or pandas Series, or
+ array_like objects List of columns names or columns of a rectangular
+ dataframe defining the hierarchy of sectors, from root to leaves. An
+ error is raised if path AND ids or parents is passed
+ ids : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ set ids of sectors
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+ branchvalues : str
+ 'total' or 'remainder' Determines how the items in `values` are summed.
+ Whenset to 'total', items in `values` are taken to be valueof all its
+ descendants. When set to 'remainder', itemsin `values` corresponding to
+ the root and the branches:sectors are taken to be the extra part not
+ part of thesum of the values at their leaves.
+ maxdepth : int
+ Positive integer Sets the number of rendered sectors from any given
+ `level`. Set `maxdepth` to -1 to render all thelevels in the hierarchy.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
if color_discrete_sequence is not None:
layout_patch = {"iciclecolorway": color_discrete_sequence}
@@ -1868,9 +7078,6 @@ def icicle(
)
-icicle.__doc__ = make_docstring(icicle)
-
-
def funnel(
data_frame=None,
x=None,
@@ -1906,13 +7113,146 @@ def funnel(
"""
In a funnel plot, each row of `data_frame` is represented as a
rectangular sector of a funnel.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ x : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the x axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ y : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks along the y axis in cartesian coordinates. Either `x` or
+ `y` can optionally be a list of column references or array_likes, in
+ which case the data will be treated as if it were 'wide' rather than
+ 'long'.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ facet_row : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the vertical direction.
+ facet_col : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to facetted subplots in the horizontal direction.
+ facet_col_wrap : int
+ Maximum number of facet columns. Wraps the column variable at this
+ width, so that the column facets span multiple rows. Ignored if 0, and
+ forced to 0 if `facet_row` or a `marginal` is set.
+ facet_row_spacing : float between 0 and 1
+ Spacing between facet rows, in paper units. Default is 0.03 or 0.07
+ when facet_col_wrap is used.
+ facet_col_spacing : float between 0 and 1
+ Spacing between facet columns, in paper units Default is 0.02.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ text : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in the
+ figure as text labels.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ animation_group : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ provide object-constancy across animation frames: rows with matching
+ `animation_group`s will be treated as if they describe the same object
+ in each frame.
+ category_orders : dict with str keys and list of str values (default `{}`)
+ By default, in Python 3.6+, the order of categorical values in axes,
+ legends and facets depends on the order in which these values are first
+ encountered in `data_frame` (and no order is guaranteed by default in
+ Python below 3.6). This parameter is used to force a specific ordering
+ of values per column. The keys of this dict should correspond to column
+ names, and the values should be lists of strings corresponding to the
+ specific display order desired.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ orientation : str, one of `'h'` for horizontal or `'v'` for vertical.
+ (default `'v'` if `x` and `y` are provided and both continuous or both
+ categorical, otherwise `'v'`(`'h'`) if `x`(`y`) is categorical and
+ `y`(`x`) is continuous, otherwise `'v'`(`'h'`) if only `x`(`y`) is
+ provided)
+ log_x : boolean (default `False`)
+ If `True`, the x-axis is log-scaled in cartesian coordinates.
+ log_y : boolean (default `False`)
+ If `True`, the y-axis is log-scaled in cartesian coordinates.
+ range_x : list of two numbers
+ If provided, overrides auto-scaling on the x-axis in cartesian
+ coordinates.
+ range_y : list of two numbers
+ If provided, overrides auto-scaling on the y-axis in cartesian
+ coordinates.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
return make_figure(args=locals(), constructor=go.Funnel)
-funnel.__doc__ = make_docstring(funnel, append_dict=_cartesian_append_dict)
-
-
def funnel_area(
data_frame=None,
names=None,
@@ -1934,6 +7274,82 @@ def funnel_area(
"""
In a funnel area plot, each row of `data_frame` is represented as a
trapezoidal sector of a funnel.
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ names : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used as
+ labels for sectors.
+ values : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ set values associated to sectors.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ hover_name : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like appear in bold
+ in the hover tooltip.
+ hover_data : str, or list of str or int, or Series or array-like, or dict
+ Either a name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects or a dict with column names as keys, with
+ values True (for default formatting) False (in order to remove this
+ column from hover information), or a formatting string, for example
+ ':.3f' or '|%a' or list-like data to appear in the hover tooltip or
+ tuples with a bool or formatting string as first element, and list-like
+ data to appear in hover as second element Values from these columns
+ appear as extra data in the hover tooltip.
+ custom_data : str, or list of str or int, or Series or array-like
+ Either name or list of names of columns in `data_frame`, or pandas
+ Series, or array_like objects Values from these columns are extra data,
+ to be used in widgets or Dash callbacks for example. This data is not
+ user-visible but is included in events emitted by the figure (lasso
+ selection etc.)
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ title : str
+ The figure title.
+ subtitle : str
+ The figure subtitle.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
if color_discrete_sequence is not None:
layout_patch = {"funnelareacolorway": color_discrete_sequence}
@@ -1945,6 +7361,3 @@ def funnel_area(
trace_patch=dict(showlegend=(names is not None)),
layout_patch=layout_patch,
)
-
-
-funnel_area.__doc__ = make_docstring(funnel_area)
diff --git a/plotly/express/_doc.py b/plotly/express/_doc.py
index 59faac4c0b3..7bb2be56770 100644
--- a/plotly/express/_doc.py
+++ b/plotly/express/_doc.py
@@ -607,34 +607,3 @@
"A string like `'.2f'` will be interpreted as a `texttemplate` numeric formatting directive.",
],
)
-
-
-def make_docstring(fn, override_dict=None, append_dict=None):
- override_dict = {} if override_dict is None else override_dict
- append_dict = {} if append_dict is None else append_dict
- tw = TextWrapper(
- width=75,
- initial_indent=" ",
- subsequent_indent=" ",
- break_on_hyphens=False,
- )
- result = (fn.__doc__ or "") + "\nParameters\n----------\n"
- for param in getfullargspec(fn)[0]:
- if override_dict.get(param):
- param_doc = list(override_dict[param])
- else:
- param_doc = list(docs[param])
- if append_dict.get(param):
- param_doc += append_dict[param]
- param_desc_list = param_doc[1:]
- param_desc = (
- tw.fill(" ".join(param_desc_list or ""))
- if param in docs or param in override_dict
- else "(documentation missing from map)"
- )
-
- param_type = param_doc[0]
- result += "%s: %s\n%s\n" % (param, param_type, param_desc)
- result += "\nReturns\n-------\n"
- result += " plotly.graph_objects.Figure"
- return result
diff --git a/plotly/express/_imshow.py b/plotly/express/_imshow.py
index ce6ddb84286..83dee3e3dc6 100644
--- a/plotly/express/_imshow.py
+++ b/plotly/express/_imshow.py
@@ -87,7 +87,7 @@ def imshow(
Parameters
----------
- img: array-like image, or xarray
+ img : array-like image, or xarray
The image data. Supported array shapes are
- (M, N): an image with scalar data. The data is visualized
@@ -115,28 +115,28 @@ def imshow(
names are used for axis titles, and long name for the colorbar title
(unless overridden in ``labels``). Possible keys are: x, y, and color.
- x, y: list-like, optional
+ x, y : list-like, optional
x and y are used to label the axes of single-channel heatmap visualizations and
their lengths must match the lengths of the second and first dimensions of the
img argument. They are auto-populated if the input is an xarray.
- animation_frame: int or str, optional (default None)
+ animation_frame : int or str, optional (default None)
axis number along which the image array is sliced to create an animation plot.
If `img` is an xarray, `animation_frame` can be the name of one the dimensions.
- facet_col: int or str, optional (default None)
+ facet_col : int or str, optional (default None)
axis number along which the image array is sliced to create a facetted plot.
If `img` is an xarray, `facet_col` can be the name of one the dimensions.
- facet_col_wrap: int
+ facet_col_wrap : int
Maximum number of facet columns. Wraps the column variable at this width,
so that the column facets span multiple rows.
Ignored if `facet_col` is None.
- facet_col_spacing: float between 0 and 1
+ facet_col_spacing : float between 0 and 1
Spacing between facet columns, in paper units. Default is 0.02.
- facet_row_spacing: float between 0 and 1
+ facet_row_spacing : float between 0 and 1
Spacing between facet rows created when ``facet_col_wrap`` is used, in
paper units. Default is 0.0.7.
@@ -164,10 +164,10 @@ def imshow(
width : number
The figure width in pixels.
- height: number
+ height : number
The figure height in pixels.
- aspect: 'equal', 'auto', or None
+ aspect : 'equal', 'auto', or None
- 'equal': Ensures an aspect ratio of 1 or pixels (square pixels)
- 'auto': The axes is kept fixed and the aspect ratio of pixels is
adjusted so that the data fit in the axes. In general, this will
@@ -175,13 +175,13 @@ def imshow(
- if None, 'equal' is used for numpy arrays and 'auto' for xarrays
(which have typically heterogeneous coordinates)
- contrast_rescaling: 'minmax', 'infer', or None
+ contrast_rescaling : 'minmax', 'infer', or None
how to determine data values corresponding to the bounds of the color
range, when zmin or zmax are not passed. If `minmax`, the min and max
values of the image are used. If `infer`, a heuristic based on the image
data type is used.
- binary_string: bool, default None
+ binary_string : bool, default None
if True, the image data are first rescaled and encoded as uint8 and
then passed to plotly.js as a b64 PNG string. If False, data are passed
unchanged as a numerical array. Setting to True may lead to performance
@@ -191,12 +191,12 @@ def imshow(
represented as grayscale and with no colorbar if use_binary_string is
True.
- binary_backend: str, 'auto' (default), 'pil' or 'pypng'
+ binary_backend : str, 'auto' (default), 'pil' or 'pypng'
Third-party package for the transformation of numpy arrays to
png b64 strings. If 'auto', Pillow is used if installed, otherwise
pypng.
- binary_compression_level: int, between 0 and 9 (default 4)
+ binary_compression_level : int, between 0 and 9 (default 4)
png compression level to be passed to the backend when transforming an
array to a png b64 string. Increasing `binary_compression` decreases the
size of the png string, but the compression step takes more time. For most
@@ -204,12 +204,12 @@ def imshow(
test `len(fig.data[0].source)` and to time the execution of `imshow` to
tune the level of compression. 0 means no compression (not recommended).
- binary_format: str, 'png' (default) or 'jpg'
+ binary_format : str, 'png' (default) or 'jpg'
compression format used to generate b64 string. 'png' is recommended
since it uses lossless compression, but 'jpg' (lossy) compression can
result if smaller binary strings for natural images.
- text_auto: bool or str (default `False`)
+ text_auto : bool or str (default `False`)
If `True` or a string, single-channel `img` values will be displayed as text.
A string like `'.2f'` will be interpreted as a `texttemplate` numeric formatting directive.
diff --git a/plotly/figure_factory/_hexbin_mapbox.py b/plotly/figure_factory/_hexbin_mapbox.py
index c76352248b0..efff98ef4f8 100644
--- a/plotly/figure_factory/_hexbin_mapbox.py
+++ b/plotly/figure_factory/_hexbin_mapbox.py
@@ -1,5 +1,4 @@
from plotly.express._core import build_dataframe
-from plotly.express._doc import make_docstring
from plotly.express._chart_types import choropleth_mapbox, scatter_mapbox
import narwhals.stable.v1 as nw
import numpy as np
@@ -350,6 +349,106 @@ def create_hexbin_mapbox(
):
"""
Returns a figure aggregating scattered points into connected hexagons
+
+ Parameters
+ ----------
+ data_frame : DataFrame or array-like or dict
+ This argument needs to be passed for column names (and not keyword
+ names) to be used. Array-like and dict are transformed internally to a
+ pandas DataFrame. Optional: if missing, a DataFrame gets constructed
+ under the hood using the other arguments.
+ lat : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to latitude on a map.
+ lon : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ position marks according to longitude on a map.
+ color : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign color to marks.
+ nx_hexagon : int
+ Number of hexagons (horizontally) to be created
+ agg_func : function
+ Numpy array aggregator, it must take as input a 1D array and output a
+ scalar value.
+ animation_frame : str or int or Series or array-like
+ Either a name of a column in `data_frame`, or a pandas Series or
+ array_like object. Values from this column or array_like are used to
+ assign marks to animation frames.
+ color_discrete_sequence : list of str
+ Strings should define valid CSS-colors. When `color` is set and the
+ values in the corresponding column are not numeric, values in that
+ column are assigned colors by cycling through `color_discrete_sequence`
+ in the order described in `category_orders`, unless the value of
+ `color` is a key in `color_discrete_map`. Various useful color
+ sequences are available in the `plotly.express.colors` submodules,
+ specifically `plotly.express.colors.qualitative`.
+ color_discrete_map : dict with str keys and str values (default `{}`)
+ String values should define valid CSS-colors Used to override
+ `color_discrete_sequence` to assign a specific colors to marks
+ corresponding with specific values. Keys in `color_discrete_map` should
+ be values in the column denoted by `color`. Alternatively, if the
+ values of `color` are valid colors, the string `'identity'` may be
+ passed to cause them to be used directly.
+ labels : dict with str keys and str values (default `{}`)
+ By default, column names are used in the figure for axis titles, legend
+ entries and hovers. This parameter allows this to be overridden. The
+ keys of this dict should correspond to column names, and the values
+ should correspond to the desired label to be displayed.
+ color_continuous_scale : list of str
+ Strings should define valid CSS-colors This list is used to build a
+ continuous color scale when the column denoted by `color` contains
+ numeric data. Various useful color scales are available in the
+ `plotly.express.colors` submodules, specifically
+ `plotly.express.colors.sequential`, `plotly.express.colors.diverging`
+ and `plotly.express.colors.cyclical`.
+ range_color : list of two numbers
+ If provided, overrides auto-scaling on the continuous color scale.
+ color_continuous_midpoint : number (default `None`)
+ If set, computes the bounds of the continuous color scale to have the
+ desired midpoint. Setting this value is recommended when using
+ `plotly.express.colors.diverging` color scales as the inputs to
+ `color_continuous_scale`.
+ opacity : float
+ Value between 0 and 1. Sets the opacity for markers.
+ zoom : int (default `8`)
+ Between 0 and 20. Sets map zoom level.
+ center : dict
+ Dict keys are `'lat'` and `'lon'` Sets the center point of the map.
+ mapbox_style : str (default `'basic'`, needs Mapbox API token)
+ Identifier of base map style, some of which require a Mapbox or Stadia
+ Maps API token to be set using
+ `plotly.express.set_mapbox_access_token()`. Allowed values which do not
+ require a token are `'open-street-map'`, `'white-bg'`, `'carto-
+ positron'`, `'carto-darkmatter'`. Allowed values which require a Mapbox
+ API token are `'basic'`, `'streets'`, `'outdoors'`, `'light'`,
+ `'dark'`, `'satellite'`, `'satellite-streets'`. Allowed values which
+ require a Stadia Maps API token are `'stamen-terrain'`, `'stamen-
+ toner'`, `'stamen-watercolor'`.
+ title : str
+ The figure title.
+ template : str or dict or plotly.graph_objects.layout.Template instance
+ The figure template name (must be a key in plotly.io.templates) or
+ definition.
+ width : int (default `None`)
+ The figure width in pixels.
+ height : int (default `None`)
+ The figure height in pixels.
+ min_count : int
+ Minimum number of points in a hexagon for it to be displayed. If None
+ and color is not set, display all hexagons. If None and color is set,
+ only display hexagons that contain points.
+ show_original_data : bool
+ Whether to show the original data on top of the hexbin aggregation.
+ original_data_marker : dict
+ Scattermapbox marker options.
+
+ Returns
+ -------
+ plotly.graph_objects.Figure
"""
args = build_dataframe(args=locals(), constructor=None)
native_namespace = nw.get_native_namespace(args["data_frame"])
@@ -500,27 +599,3 @@ def create_hexbin_mapbox(
]
return fig
-
-
-create_hexbin_mapbox.__doc__ = make_docstring(
- create_hexbin_mapbox,
- override_dict=dict(
- nx_hexagon=["int", "Number of hexagons (horizontally) to be created"],
- agg_func=[
- "function",
- "Numpy array aggregator, it must take as input a 1D array",
- "and output a scalar value.",
- ],
- min_count=[
- "int",
- "Minimum number of points in a hexagon for it to be displayed.",
- "If None and color is not set, display all hexagons.",
- "If None and color is set, only display hexagons that contain points.",
- ],
- show_original_data=[
- "bool",
- "Whether to show the original data on top of the hexbin aggregation.",
- ],
- original_data_marker=["dict", "Scattermapbox marker options."],
- ),
-)
From 174b0e951a713651342226ab52d4c5a423c6b4f0 Mon Sep 17 00:00:00 2001
From: Liam Connors
Date: Tue, 22 Jul 2025 10:52:48 -0400
Subject: [PATCH 18/29] change docstring style
---
mkdocs.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mkdocs.yml b/mkdocs.yml
index c92823309e2..523322efff5 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -13,7 +13,7 @@ plugins:
handlers:
python:
options:
- docstring_style: google
+ docstring_style: numpy
show_source: false
show_root_heading: true
show_root_toc_entry: true
From 76b36dd29e8732d31f1e639dfbf3aa9a23192f59 Mon Sep 17 00:00:00 2001
From: Greg Wilson
Date: Tue, 22 Jul 2025 12:52:10 -0400
Subject: [PATCH 19/29] feat: numpy documentation style
---
mkdocs.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mkdocs.yml b/mkdocs.yml
index d7a8ab7e7cc..8755f084ca8 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -15,7 +15,7 @@ plugins:
options:
preload_modules:
- _plotly_utils
- docstring_style: google
+ docstring_style: numpy
show_source: false
show_root_heading: true
show_root_toc_entry: true
From 96af9f6f7a7e272916ad60c6899fd18ba4658279 Mon Sep 17 00:00:00 2001
From: Greg Wilson
Date: Tue, 22 Jul 2025 12:53:07 -0400
Subject: [PATCH 20/29] feat: regenerating Python code with .js fixes
---
plotly/graph_objs/_bar.py | 8 +-
plotly/graph_objs/_barpolar.py | 12 +-
plotly/graph_objs/_box.py | 12 +-
plotly/graph_objs/_choropleth.py | 12 +-
plotly/graph_objs/_choroplethmap.py | 6 +-
plotly/graph_objs/_choroplethmapbox.py | 6 +-
plotly/graph_objs/_cone.py | 12 +-
plotly/graph_objs/_contour.py | 12 +-
plotly/graph_objs/_densitymap.py | 12 +-
plotly/graph_objs/_densitymapbox.py | 12 +-
plotly/graph_objs/_figure.py | 199 +++++++++++-------
plotly/graph_objs/_figurewidget.py | 199 +++++++++++-------
plotly/graph_objs/_funnel.py | 12 +-
plotly/graph_objs/_funnelarea.py | 12 +-
plotly/graph_objs/_heatmap.py | 12 +-
plotly/graph_objs/_histogram.py | 6 +-
plotly/graph_objs/_histogram2d.py | 12 +-
plotly/graph_objs/_histogram2dcontour.py | 12 +-
plotly/graph_objs/_icicle.py | 14 +-
plotly/graph_objs/_image.py | 18 +-
plotly/graph_objs/_isosurface.py | 12 +-
plotly/graph_objs/_mesh3d.py | 12 +-
plotly/graph_objs/_parcats.py | 8 +-
plotly/graph_objs/_pie.py | 12 +-
plotly/graph_objs/_scatter.py | 12 +-
plotly/graph_objs/_scatter3d.py | 12 +-
plotly/graph_objs/_scattercarpet.py | 12 +-
plotly/graph_objs/_scattergeo.py | 12 +-
plotly/graph_objs/_scattergl.py | 12 +-
plotly/graph_objs/_scattermap.py | 12 +-
plotly/graph_objs/_scattermapbox.py | 12 +-
plotly/graph_objs/_scatterpolar.py | 12 +-
plotly/graph_objs/_scatterpolargl.py | 12 +-
plotly/graph_objs/_scattersmith.py | 12 +-
plotly/graph_objs/_scatterternary.py | 12 +-
plotly/graph_objs/_splom.py | 12 +-
plotly/graph_objs/_streamtube.py | 14 +-
plotly/graph_objs/_sunburst.py | 14 +-
plotly/graph_objs/_surface.py | 12 +-
plotly/graph_objs/_treemap.py | 14 +-
plotly/graph_objs/_violin.py | 12 +-
plotly/graph_objs/_volume.py | 12 +-
plotly/graph_objs/_waterfall.py | 12 +-
plotly/graph_objs/bar/marker/_pattern.py | 62 ++++++
plotly/graph_objs/barpolar/marker/_pattern.py | 62 ++++++
plotly/graph_objs/carpet/_aaxis.py | 6 +-
plotly/graph_objs/carpet/_baxis.py | 6 +-
plotly/graph_objs/contour/_contours.py | 50 ++---
plotly/graph_objs/contourcarpet/_contours.py | 50 ++---
.../graph_objs/funnelarea/marker/_pattern.py | 62 ++++++
.../graph_objs/histogram/marker/_pattern.py | 62 ++++++
.../histogram2dcontour/_contours.py | 50 ++---
plotly/graph_objs/icicle/marker/_pattern.py | 62 ++++++
plotly/graph_objs/layout/_annotation.py | 29 +--
plotly/graph_objs/layout/_grid.py | 8 +-
plotly/graph_objs/layout/_image.py | 4 +-
plotly/graph_objs/layout/_legend.py | 50 +++++
plotly/graph_objs/layout/_selection.py | 4 +-
plotly/graph_objs/layout/_shape.py | 4 +-
plotly/graph_objs/layout/_xaxis.py | 104 ++++++---
plotly/graph_objs/layout/_yaxis.py | 104 ++++++---
plotly/graph_objs/layout/map/layer/_symbol.py | 6 +-
plotly/graph_objs/layout/polar/_radialaxis.py | 6 +-
plotly/graph_objs/layout/scene/_annotation.py | 21 +-
plotly/graph_objs/layout/scene/_xaxis.py | 6 +-
plotly/graph_objs/layout/scene/_yaxis.py | 6 +-
plotly/graph_objs/layout/scene/_zaxis.py | 6 +-
plotly/graph_objs/parcats/_line.py | 8 +-
plotly/graph_objs/parcoords/_dimension.py | 4 +-
plotly/graph_objs/pie/marker/_pattern.py | 62 ++++++
plotly/graph_objs/sankey/_link.py | 6 +-
plotly/graph_objs/sankey/_node.py | 14 +-
plotly/graph_objs/scatter/_fillpattern.py | 62 ++++++
plotly/graph_objs/scattermap/_marker.py | 6 +-
plotly/graph_objs/sunburst/marker/_pattern.py | 62 ++++++
plotly/graph_objs/table/_cells.py | 22 +-
plotly/graph_objs/table/_header.py | 12 +-
plotly/graph_objs/treemap/marker/_pattern.py | 62 ++++++
plotly/validators/_validators.json | 186 ++++++++++++++++
resources/plot-schema.json | 88 ++++----
80 files changed, 1674 insertions(+), 628 deletions(-)
diff --git a/plotly/graph_objs/_bar.py b/plotly/graph_objs/_bar.py
index 0e12061a8f9..5bce1c93010 100644
--- a/plotly/graph_objs/_bar.py
+++ b/plotly/graph_objs/_bar.py
@@ -386,8 +386,8 @@ def hovertemplate(self):
(the ones that are `arrayOk: true`) are available. Finally, the
template string has access to variables `value` and `label`.
Anything contained in tag `` is displayed in the
- secondary box, for example "{fullData.name}". To
- hide the secondary box completely, use an empty tag
+ secondary box, for example `%{fullData.name}`.
+ To hide the secondary box completely, use an empty tag
``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1731,7 +1731,7 @@ def _prop_descriptions(self):
are available. Finally, the template string has access
to variables `value` and `label`. Anything contained in
tag `` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
@@ -2197,7 +2197,7 @@ def __init__(
are available. Finally, the template string has access
to variables `value` and `label`. Anything contained in
tag `` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
diff --git a/plotly/graph_objs/_barpolar.py b/plotly/graph_objs/_barpolar.py
index a45eb7bc638..380e811c61f 100644
--- a/plotly/graph_objs/_barpolar.py
+++ b/plotly/graph_objs/_barpolar.py
@@ -260,7 +260,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1086,8 +1086,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1368,8 +1369,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_box.py b/plotly/graph_objs/_box.py
index 34ef561d87e..c9df0f218c6 100644
--- a/plotly/graph_objs/_box.py
+++ b/plotly/graph_objs/_box.py
@@ -377,7 +377,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1996,8 +1996,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -2567,8 +2568,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_choropleth.py b/plotly/graph_objs/_choropleth.py
index 9c55f8a52b1..8e060bcd33e 100644
--- a/plotly/graph_objs/_choropleth.py
+++ b/plotly/graph_objs/_choropleth.py
@@ -370,7 +370,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1196,8 +1196,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1515,8 +1516,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_choroplethmap.py b/plotly/graph_objs/_choroplethmap.py
index 7c23376023d..abcd14e4a76 100644
--- a/plotly/graph_objs/_choroplethmap.py
+++ b/plotly/graph_objs/_choroplethmap.py
@@ -368,7 +368,7 @@ def hovertemplate(self):
(the ones that are `arrayOk: true`) are available. Finally, the
template string has access to variable `properties` Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1193,7 +1193,7 @@ def _prop_descriptions(self):
are available. Finally, the template string has access
to variable `properties` Anything contained in tag
`` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
@@ -1510,7 +1510,7 @@ def __init__(
are available. Finally, the template string has access
to variable `properties` Anything contained in tag
`` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
diff --git a/plotly/graph_objs/_choroplethmapbox.py b/plotly/graph_objs/_choroplethmapbox.py
index 8225c27ab30..ec4745dc0be 100644
--- a/plotly/graph_objs/_choroplethmapbox.py
+++ b/plotly/graph_objs/_choroplethmapbox.py
@@ -369,7 +369,7 @@ def hovertemplate(self):
(the ones that are `arrayOk: true`) are available. Finally, the
template string has access to variable `properties` Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1198,7 +1198,7 @@ def _prop_descriptions(self):
are available. Finally, the template string has access
to variable `properties` Anything contained in tag
`` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
@@ -1525,7 +1525,7 @@ def __init__(
are available. Finally, the template string has access
to variable `properties` Anything contained in tag
`` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
diff --git a/plotly/graph_objs/_cone.py b/plotly/graph_objs/_cone.py
index 0e85f56d56d..b5c73b2e67d 100644
--- a/plotly/graph_objs/_cone.py
+++ b/plotly/graph_objs/_cone.py
@@ -421,7 +421,7 @@ def hovertemplate(self):
(the ones that are `arrayOk: true`) are available. Finally, the
template string has access to variable `norm` Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1509,8 +1509,9 @@ def _prop_descriptions(self):
are available. Finally, the template string has access
to variable `norm` Anything contained in tag ``
is displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1927,8 +1928,9 @@ def __init__(
are available. Finally, the template string has access
to variable `norm` Anything contained in tag ``
is displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_contour.py b/plotly/graph_objs/_contour.py
index 3d4eb5c2236..51f6f9ecf0c 100644
--- a/plotly/graph_objs/_contour.py
+++ b/plotly/graph_objs/_contour.py
@@ -470,7 +470,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1759,8 +1759,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -2233,8 +2234,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_densitymap.py b/plotly/graph_objs/_densitymap.py
index 42918490a36..25d129bb9d0 100644
--- a/plotly/graph_objs/_densitymap.py
+++ b/plotly/graph_objs/_densitymap.py
@@ -325,7 +325,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1161,8 +1161,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1475,8 +1476,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_densitymapbox.py b/plotly/graph_objs/_densitymapbox.py
index e483328534d..59761b4739d 100644
--- a/plotly/graph_objs/_densitymapbox.py
+++ b/plotly/graph_objs/_densitymapbox.py
@@ -326,7 +326,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1166,8 +1166,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1489,8 +1490,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_figure.py b/plotly/graph_objs/_figure.py
index a3c9f839c96..f43df0e4160 100644
--- a/plotly/graph_objs/_figure.py
+++ b/plotly/graph_objs/_figure.py
@@ -816,7 +816,7 @@ def add_bar(
are available. Finally, the template string has access
to variables `value` and `label`. Anything contained in
tag `` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
@@ -1336,8 +1336,9 @@ def add_barpolar(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1767,8 +1768,9 @@ def add_box(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -3068,8 +3070,9 @@ def add_choropleth(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -3452,7 +3455,7 @@ def add_choroplethmap(
are available. Finally, the template string has access
to variable `properties` Anything contained in tag
`` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
@@ -3839,7 +3842,7 @@ def add_choroplethmapbox(
are available. Finally, the template string has access
to variable `properties` Anything contained in tag
`` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
@@ -4247,8 +4250,9 @@ def add_cone(
are available. Finally, the template string has access
to variable `norm` Anything contained in tag ``
is displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -4763,8 +4767,9 @@ def add_contour(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -5685,8 +5690,9 @@ def add_densitymap(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -6068,8 +6074,9 @@ def add_densitymapbox(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -6462,8 +6469,9 @@ def add_funnel(
to variables `percentInitial`, `percentPrevious` and
`percentTotal`. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -6967,8 +6975,9 @@ def add_funnelarea(
to variables `label`, `color`, `value`, `text` and
`percent`. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -7397,8 +7406,9 @@ def add_heatmap(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -7971,7 +7981,7 @@ def add_histogram(
are available. Finally, the template string has access
to variable `binNumber` Anything contained in tag
`` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
@@ -8514,8 +8524,9 @@ def add_histogram2d(
are available. Finally, the template string has access
to variable `z` Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -9056,8 +9067,9 @@ def add_histogram2dcontour(
are available. Finally, the template string has access
to variable `z` Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -9522,8 +9534,9 @@ def add_icicle(
`percentRoot`, `percentEntry` and `percentParent`.
Anything contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -9899,8 +9912,9 @@ def add_image(
to variables `z`, `color` and `colormodel`. Anything
contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -9963,7 +9977,7 @@ def add_image(
source
Specifies the data URI of the image to be visualized.
The URI consists of "data:image/[][;base64],"
+ subtype>]\\[;base64],"
stream
:class:`plotly.graph_objects.image.Stream` instance or
dict with compatible properties
@@ -10505,8 +10519,9 @@ def add_isosurface(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -11014,8 +11029,9 @@ def add_mesh3d(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -11841,7 +11857,7 @@ def add_parcats(
`probability`, `category`, `categorycount`,
`colorcount` and `bandcolorcount`. Anything contained
in tag `` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
labelfont
@@ -12294,8 +12310,9 @@ def add_pie(
to variables `label`, `color`, `value`, `percent` and
`text`. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -13005,8 +13022,9 @@ def add_scatter(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -13540,8 +13558,9 @@ def add_scatter3d(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -13994,8 +14013,9 @@ def add_scattercarpet(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -14401,8 +14421,9 @@ def add_scattergeo(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -14832,8 +14853,9 @@ def add_scattergl(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -15307,8 +15329,9 @@ def add_scattermap(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -15688,8 +15711,9 @@ def add_scattermapbox(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -16095,8 +16119,9 @@ def add_scatterpolar(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -16514,8 +16539,9 @@ def add_scatterpolargl(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -16923,8 +16949,9 @@ def add_scattersmith(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -17348,8 +17375,9 @@ def add_scatterternary(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -17717,8 +17745,9 @@ def add_splom(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -18125,8 +18154,9 @@ def add_streamtube(
`tubev`, `tubew`, `norm` and `divergence`. Anything
contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -18553,8 +18583,9 @@ def add_sunburst(
`percentRoot`, `percentEntry` and `percentParent`.
Anything contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -19002,8 +19033,9 @@ def add_surface(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -19627,8 +19659,9 @@ def add_treemap(
`percentRoot`, `percentEntry` and `percentParent`.
Anything contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -20031,8 +20064,9 @@ def add_violin(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -20583,8 +20617,9 @@ def add_volume(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -21051,8 +21086,9 @@ def add_waterfall(
to variables `initial`, `delta` and `final`. Anything
contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -23141,9 +23177,10 @@ def add_annotation(
text
Sets the text associated with this annotation. Plotly
uses a subset of HTML tags to do things like newline
- (
), bold (), italics (), hyperlinks
- (). Tags , , , ,
- are also supported.
+ (`
`), bold (``), italics (``),
+ hyperlinks (``). Tags ``,
+ ``, ``, ``, ``, and `` are also
+ supported.
textangle
Sets the angle at which the `text` is drawn with
respect to the horizontal.
diff --git a/plotly/graph_objs/_figurewidget.py b/plotly/graph_objs/_figurewidget.py
index 9731635870c..a67d1870e9d 100644
--- a/plotly/graph_objs/_figurewidget.py
+++ b/plotly/graph_objs/_figurewidget.py
@@ -818,7 +818,7 @@ def add_bar(
are available. Finally, the template string has access
to variables `value` and `label`. Anything contained in
tag `` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
@@ -1338,8 +1338,9 @@ def add_barpolar(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1769,8 +1770,9 @@ def add_box(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -3070,8 +3072,9 @@ def add_choropleth(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -3454,7 +3457,7 @@ def add_choroplethmap(
are available. Finally, the template string has access
to variable `properties` Anything contained in tag
`` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
@@ -3841,7 +3844,7 @@ def add_choroplethmapbox(
are available. Finally, the template string has access
to variable `properties` Anything contained in tag
`` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
@@ -4249,8 +4252,9 @@ def add_cone(
are available. Finally, the template string has access
to variable `norm` Anything contained in tag ``
is displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -4765,8 +4769,9 @@ def add_contour(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -5687,8 +5692,9 @@ def add_densitymap(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -6070,8 +6076,9 @@ def add_densitymapbox(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -6464,8 +6471,9 @@ def add_funnel(
to variables `percentInitial`, `percentPrevious` and
`percentTotal`. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -6969,8 +6977,9 @@ def add_funnelarea(
to variables `label`, `color`, `value`, `text` and
`percent`. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -7399,8 +7408,9 @@ def add_heatmap(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -7973,7 +7983,7 @@ def add_histogram(
are available. Finally, the template string has access
to variable `binNumber` Anything contained in tag
`` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
@@ -8516,8 +8526,9 @@ def add_histogram2d(
are available. Finally, the template string has access
to variable `z` Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -9058,8 +9069,9 @@ def add_histogram2dcontour(
are available. Finally, the template string has access
to variable `z` Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -9524,8 +9536,9 @@ def add_icicle(
`percentRoot`, `percentEntry` and `percentParent`.
Anything contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -9901,8 +9914,9 @@ def add_image(
to variables `z`, `color` and `colormodel`. Anything
contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -9965,7 +9979,7 @@ def add_image(
source
Specifies the data URI of the image to be visualized.
The URI consists of "data:image/[][;base64],"
+ subtype>]\\[;base64],"
stream
:class:`plotly.graph_objects.image.Stream` instance or
dict with compatible properties
@@ -10507,8 +10521,9 @@ def add_isosurface(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -11016,8 +11031,9 @@ def add_mesh3d(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -11843,7 +11859,7 @@ def add_parcats(
`probability`, `category`, `categorycount`,
`colorcount` and `bandcolorcount`. Anything contained
in tag `` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
labelfont
@@ -12296,8 +12312,9 @@ def add_pie(
to variables `label`, `color`, `value`, `percent` and
`text`. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -13007,8 +13024,9 @@ def add_scatter(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -13542,8 +13560,9 @@ def add_scatter3d(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -13996,8 +14015,9 @@ def add_scattercarpet(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -14403,8 +14423,9 @@ def add_scattergeo(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -14834,8 +14855,9 @@ def add_scattergl(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -15309,8 +15331,9 @@ def add_scattermap(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -15690,8 +15713,9 @@ def add_scattermapbox(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -16097,8 +16121,9 @@ def add_scatterpolar(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -16516,8 +16541,9 @@ def add_scatterpolargl(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -16925,8 +16951,9 @@ def add_scattersmith(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -17350,8 +17377,9 @@ def add_scatterternary(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -17719,8 +17747,9 @@ def add_splom(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -18127,8 +18156,9 @@ def add_streamtube(
`tubev`, `tubew`, `norm` and `divergence`. Anything
contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -18555,8 +18585,9 @@ def add_sunburst(
`percentRoot`, `percentEntry` and `percentParent`.
Anything contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -19004,8 +19035,9 @@ def add_surface(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -19629,8 +19661,9 @@ def add_treemap(
`percentRoot`, `percentEntry` and `percentParent`.
Anything contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -20033,8 +20066,9 @@ def add_violin(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -20585,8 +20619,9 @@ def add_volume(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -21053,8 +21088,9 @@ def add_waterfall(
to variables `initial`, `delta` and `final`. Anything
contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -23145,9 +23181,10 @@ def add_annotation(
text
Sets the text associated with this annotation. Plotly
uses a subset of HTML tags to do things like newline
- (
), bold (), italics (), hyperlinks
- (). Tags , , , ,
- are also supported.
+ (`
`), bold (``), italics (``),
+ hyperlinks (``). Tags ``,
+ ``, ``, ``, ``, and `` are also
+ supported.
textangle
Sets the angle at which the `text` is drawn with
respect to the horizontal.
diff --git a/plotly/graph_objs/_funnel.py b/plotly/graph_objs/_funnel.py
index fd2682f9cc7..6689f3092aa 100644
--- a/plotly/graph_objs/_funnel.py
+++ b/plotly/graph_objs/_funnel.py
@@ -323,7 +323,7 @@ def hovertemplate(self):
template string has access to variables `percentInitial`,
`percentPrevious` and `percentTotal`. Anything contained in tag
`` is displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary box
+ `%{fullData.name}`. To hide the secondary box
completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1565,8 +1565,9 @@ def _prop_descriptions(self):
to variables `percentInitial`, `percentPrevious` and
`percentTotal`. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -2007,8 +2008,9 @@ def __init__(
to variables `percentInitial`, `percentPrevious` and
`percentTotal`. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_funnelarea.py b/plotly/graph_objs/_funnelarea.py
index 50e316bdd19..0d4d58b99d2 100644
--- a/plotly/graph_objs/_funnelarea.py
+++ b/plotly/graph_objs/_funnelarea.py
@@ -259,7 +259,7 @@ def hovertemplate(self):
template string has access to variables `label`, `color`,
`value`, `text` and `percent`. Anything contained in tag
`` is displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary box
+ `%{fullData.name}`. To hide the secondary box
completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1090,8 +1090,9 @@ def _prop_descriptions(self):
to variables `label`, `color`, `value`, `text` and
`percent`. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1388,8 +1389,9 @@ def __init__(
to variables `label`, `color`, `value`, `text` and
`percent`. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_heatmap.py b/plotly/graph_objs/_heatmap.py
index 0a6819e3946..45146b6495a 100644
--- a/plotly/graph_objs/_heatmap.py
+++ b/plotly/graph_objs/_heatmap.py
@@ -403,7 +403,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1691,8 +1691,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -2155,8 +2156,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_histogram.py b/plotly/graph_objs/_histogram.py
index 9bc14623c32..efa2fecfb7c 100644
--- a/plotly/graph_objs/_histogram.py
+++ b/plotly/graph_objs/_histogram.py
@@ -447,7 +447,7 @@ def hovertemplate(self):
(the ones that are `arrayOk: true`) are available. Finally, the
template string has access to variable `binNumber` Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1628,7 +1628,7 @@ def _prop_descriptions(self):
are available. Finally, the template string has access
to variable `binNumber` Anything contained in tag
`` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
@@ -2075,7 +2075,7 @@ def __init__(
are available. Finally, the template string has access
to variable `binNumber` Anything contained in tag
`` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
hovertemplatesrc
diff --git a/plotly/graph_objs/_histogram2d.py b/plotly/graph_objs/_histogram2d.py
index bf1befd5d35..154861bceef 100644
--- a/plotly/graph_objs/_histogram2d.py
+++ b/plotly/graph_objs/_histogram2d.py
@@ -439,7 +439,7 @@ def hovertemplate(self):
(the ones that are `arrayOk: true`) are available. Finally, the
template string has access to variable `z` Anything contained
in tag `` is displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary box
+ `%{fullData.name}`. To hide the secondary box
completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1588,8 +1588,9 @@ def _prop_descriptions(self):
are available. Finally, the template string has access
to variable `z` Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -2029,8 +2030,9 @@ def __init__(
are available. Finally, the template string has access
to variable `z` Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_histogram2dcontour.py b/plotly/graph_objs/_histogram2dcontour.py
index 2cfc1edb21f..ae9e3762e02 100644
--- a/plotly/graph_objs/_histogram2dcontour.py
+++ b/plotly/graph_objs/_histogram2dcontour.py
@@ -480,7 +480,7 @@ def hovertemplate(self):
(the ones that are `arrayOk: true`) are available. Finally, the
template string has access to variable `z` Anything contained
in tag `` is displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary box
+ `%{fullData.name}`. To hide the secondary box
completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1626,8 +1626,9 @@ def _prop_descriptions(self):
are available. Finally, the template string has access
to variable `z` Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -2082,8 +2083,9 @@ def __init__(
are available. Finally, the template string has access
to variable `z` Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_icicle.py b/plotly/graph_objs/_icicle.py
index 94d491975f9..7f657c17d86 100644
--- a/plotly/graph_objs/_icicle.py
+++ b/plotly/graph_objs/_icicle.py
@@ -254,8 +254,8 @@ def hovertemplate(self):
template string has access to variables `currentPath`, `root`,
`entry`, `percentRoot`, `percentEntry` and `percentParent`.
Anything contained in tag `` is displayed in the
- secondary box, for example "{fullData.name}". To
- hide the secondary box completely, use an empty tag
+ secondary box, for example `%{fullData.name}`.
+ To hide the secondary box completely, use an empty tag
``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1170,8 +1170,9 @@ def _prop_descriptions(self):
`percentRoot`, `percentEntry` and `percentParent`.
Anything contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1492,8 +1493,9 @@ def __init__(
`percentRoot`, `percentEntry` and `percentParent`.
Anything contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_image.py b/plotly/graph_objs/_image.py
index e0f8afebd90..88220babb2a 100644
--- a/plotly/graph_objs/_image.py
+++ b/plotly/graph_objs/_image.py
@@ -237,7 +237,7 @@ def hovertemplate(self):
template string has access to variables `z`, `color` and
`colormodel`. Anything contained in tag `` is displayed
in the secondary box, for example
- "{fullData.name}". To hide the secondary box
+ `%{fullData.name}`. To hide the secondary box
completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -521,7 +521,7 @@ def opacity(self, val):
def source(self):
"""
Specifies the data URI of the image to be visualized. The URI
- consists of "data:image/[][;base64],"
+ consists of "data:image/[]\\[;base64],"
The 'source' property is a string and must be specified as:
- A string
@@ -956,8 +956,9 @@ def _prop_descriptions(self):
to variables `z`, `color` and `colormodel`. Anything
contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1020,7 +1021,7 @@ def _prop_descriptions(self):
source
Specifies the data URI of the image to be visualized.
The URI consists of "data:image/[][;base64],"
+ subtype>]\\[;base64],"
stream
:class:`plotly.graph_objects.image.Stream` instance or
dict with compatible properties
@@ -1228,8 +1229,9 @@ def __init__(
to variables `z`, `color` and `colormodel`. Anything
contained in tag `` is displayed in the
secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1292,7 +1294,7 @@ def __init__(
source
Specifies the data URI of the image to be visualized.
The URI consists of "data:image/[][;base64],"
+ subtype>]\\[;base64],"
stream
:class:`plotly.graph_objects.image.Stream` instance or
dict with compatible properties
diff --git a/plotly/graph_objs/_isosurface.py b/plotly/graph_objs/_isosurface.py
index 1705fcf211d..307bab664c3 100644
--- a/plotly/graph_objs/_isosurface.py
+++ b/plotly/graph_objs/_isosurface.py
@@ -453,7 +453,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1467,8 +1467,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1860,8 +1861,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_mesh3d.py b/plotly/graph_objs/_mesh3d.py
index 68928a8cae6..cdc62e2689c 100644
--- a/plotly/graph_objs/_mesh3d.py
+++ b/plotly/graph_objs/_mesh3d.py
@@ -564,7 +564,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1751,8 +1751,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -2224,8 +2225,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_parcats.py b/plotly/graph_objs/_parcats.py
index bea3d956e2f..5f4919a8c20 100644
--- a/plotly/graph_objs/_parcats.py
+++ b/plotly/graph_objs/_parcats.py
@@ -254,8 +254,8 @@ def hovertemplate(self):
template string has access to variables `count`, `probability`,
`category`, `categorycount`, `colorcount` and `bandcolorcount`.
Anything contained in tag `` is displayed in the
- secondary box, for example "{fullData.name}". To
- hide the secondary box completely, use an empty tag
+ secondary box, for example `%{fullData.name}`.
+ To hide the secondary box completely, use an empty tag
``.
The 'hovertemplate' property is a string and must be specified as:
@@ -626,7 +626,7 @@ def _prop_descriptions(self):
`probability`, `category`, `categorycount`,
`colorcount` and `bandcolorcount`. Anything contained
in tag `` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
labelfont
@@ -809,7 +809,7 @@ def __init__(
`probability`, `category`, `categorycount`,
`colorcount` and `bandcolorcount`. Anything contained
in tag `` is displayed in the secondary box, for
- example "{fullData.name}". To hide the
+ example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag
``.
labelfont
diff --git a/plotly/graph_objs/_pie.py b/plotly/graph_objs/_pie.py
index f2eda4ab887..615f719c720 100644
--- a/plotly/graph_objs/_pie.py
+++ b/plotly/graph_objs/_pie.py
@@ -287,7 +287,7 @@ def hovertemplate(self):
template string has access to variables `label`, `color`,
`value`, `percent` and `text`. Anything contained in tag
`` is displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary box
+ `%{fullData.name}`. To hide the secondary box
completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1249,8 +1249,9 @@ def _prop_descriptions(self):
to variables `label`, `color`, `value`, `percent` and
`text`. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1583,8 +1584,9 @@ def __init__(
to variables `label`, `color`, `value`, `percent` and
`text`. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_scatter.py b/plotly/graph_objs/_scatter.py
index 9bef62b011c..b9b6bf210f8 100644
--- a/plotly/graph_objs/_scatter.py
+++ b/plotly/graph_objs/_scatter.py
@@ -504,7 +504,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1830,8 +1830,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -2345,8 +2346,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_scatter3d.py b/plotly/graph_objs/_scatter3d.py
index 229056e2d8e..ed6889b4273 100644
--- a/plotly/graph_objs/_scatter3d.py
+++ b/plotly/graph_objs/_scatter3d.py
@@ -269,7 +269,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1316,8 +1316,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1679,8 +1680,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_scattercarpet.py b/plotly/graph_objs/_scattercarpet.py
index 4b846bffa2f..a06c597f308 100644
--- a/plotly/graph_objs/_scattercarpet.py
+++ b/plotly/graph_objs/_scattercarpet.py
@@ -374,7 +374,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1229,8 +1229,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1562,8 +1563,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_scattergeo.py b/plotly/graph_objs/_scattergeo.py
index 4c0fb090e14..c6d8936ec3d 100644
--- a/plotly/graph_objs/_scattergeo.py
+++ b/plotly/graph_objs/_scattergeo.py
@@ -320,7 +320,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1238,8 +1238,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1578,8 +1579,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_scattergl.py b/plotly/graph_objs/_scattergl.py
index bccddc41564..d81af3ed352 100644
--- a/plotly/graph_objs/_scattergl.py
+++ b/plotly/graph_objs/_scattergl.py
@@ -356,7 +356,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1520,8 +1520,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1940,8 +1941,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_scattermap.py b/plotly/graph_objs/_scattermap.py
index a4b82a931c9..ad47dfc2730 100644
--- a/plotly/graph_objs/_scattermap.py
+++ b/plotly/graph_objs/_scattermap.py
@@ -290,7 +290,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1137,8 +1137,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1449,8 +1450,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_scattermapbox.py b/plotly/graph_objs/_scattermapbox.py
index 3c20238aa02..c23b9bb8317 100644
--- a/plotly/graph_objs/_scattermapbox.py
+++ b/plotly/graph_objs/_scattermapbox.py
@@ -292,7 +292,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1143,8 +1143,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1464,8 +1465,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
diff --git a/plotly/graph_objs/_scatterpolar.py b/plotly/graph_objs/_scatterpolar.py
index 5168023fac0..34d6328bf0f 100644
--- a/plotly/graph_objs/_scatterpolar.py
+++ b/plotly/graph_objs/_scatterpolar.py
@@ -343,7 +343,7 @@ def hovertemplate(self):
Additionally, every attributes that can be specified per-point
(the ones that are `arrayOk: true`) are available. Anything
contained in tag `` is displayed in the secondary box,
- for example "{fullData.name}". To hide the
+ for example `%{fullData.name}`. To hide the
secondary box completely, use an empty tag ``.
The 'hovertemplate' property is a string and must be specified as:
@@ -1283,8 +1283,9 @@ def _prop_descriptions(self):
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "{fullData.name}". To hide the secondary
- box completely, use an empty tag ``.
+ `%{fullData.name}`. To hide the
+ secondary box completely, use an empty tag
+ ``.
hovertemplatesrc
Sets the source reference on Chart Studio Cloud for
`hovertemplate`.
@@ -1634,8 +1635,9 @@ def __init__(
specified per-point (the ones that are `arrayOk: true`)
are available. Anything contained in tag `` is
displayed in the secondary box, for example
- "