mirror of
https://github.com/aykhans/AzSuicideDataVisualization.git
synced 2025-04-22 10:28:02 +00:00
970 lines
34 KiB
Python
970 lines
34 KiB
Python
from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType
|
|
import copy as _copy
|
|
|
|
|
|
class Legend(_BaseLayoutHierarchyType):
|
|
|
|
# class properties
|
|
# --------------------
|
|
_parent_path_str = "layout"
|
|
_path_str = "layout.legend"
|
|
_valid_props = {
|
|
"bgcolor",
|
|
"bordercolor",
|
|
"borderwidth",
|
|
"font",
|
|
"groupclick",
|
|
"grouptitlefont",
|
|
"itemclick",
|
|
"itemdoubleclick",
|
|
"itemsizing",
|
|
"itemwidth",
|
|
"orientation",
|
|
"title",
|
|
"tracegroupgap",
|
|
"traceorder",
|
|
"uirevision",
|
|
"valign",
|
|
"x",
|
|
"xanchor",
|
|
"y",
|
|
"yanchor",
|
|
}
|
|
|
|
# bgcolor
|
|
# -------
|
|
@property
|
|
def bgcolor(self):
|
|
"""
|
|
Sets the legend background color. Defaults to
|
|
`layout.paper_bgcolor`.
|
|
|
|
The 'bgcolor' property is a color and may be specified as:
|
|
- A hex string (e.g. '#ff0000')
|
|
- An rgb/rgba string (e.g. 'rgb(255,0,0)')
|
|
- An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
|
|
- An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
|
|
- A named CSS color:
|
|
aliceblue, antiquewhite, aqua, aquamarine, azure,
|
|
beige, bisque, black, blanchedalmond, blue,
|
|
blueviolet, brown, burlywood, cadetblue,
|
|
chartreuse, chocolate, coral, cornflowerblue,
|
|
cornsilk, crimson, cyan, darkblue, darkcyan,
|
|
darkgoldenrod, darkgray, darkgrey, darkgreen,
|
|
darkkhaki, darkmagenta, darkolivegreen, darkorange,
|
|
darkorchid, darkred, darksalmon, darkseagreen,
|
|
darkslateblue, darkslategray, darkslategrey,
|
|
darkturquoise, darkviolet, deeppink, deepskyblue,
|
|
dimgray, dimgrey, dodgerblue, firebrick,
|
|
floralwhite, forestgreen, fuchsia, gainsboro,
|
|
ghostwhite, gold, goldenrod, gray, grey, green,
|
|
greenyellow, honeydew, hotpink, indianred, indigo,
|
|
ivory, khaki, lavender, lavenderblush, lawngreen,
|
|
lemonchiffon, lightblue, lightcoral, lightcyan,
|
|
lightgoldenrodyellow, lightgray, lightgrey,
|
|
lightgreen, lightpink, lightsalmon, lightseagreen,
|
|
lightskyblue, lightslategray, lightslategrey,
|
|
lightsteelblue, lightyellow, lime, limegreen,
|
|
linen, magenta, maroon, mediumaquamarine,
|
|
mediumblue, mediumorchid, mediumpurple,
|
|
mediumseagreen, mediumslateblue, mediumspringgreen,
|
|
mediumturquoise, mediumvioletred, midnightblue,
|
|
mintcream, mistyrose, moccasin, navajowhite, navy,
|
|
oldlace, olive, olivedrab, orange, orangered,
|
|
orchid, palegoldenrod, palegreen, paleturquoise,
|
|
palevioletred, papayawhip, peachpuff, peru, pink,
|
|
plum, powderblue, purple, red, rosybrown,
|
|
royalblue, rebeccapurple, saddlebrown, salmon,
|
|
sandybrown, seagreen, seashell, sienna, silver,
|
|
skyblue, slateblue, slategray, slategrey, snow,
|
|
springgreen, steelblue, tan, teal, thistle, tomato,
|
|
turquoise, violet, wheat, white, whitesmoke,
|
|
yellow, yellowgreen
|
|
|
|
Returns
|
|
-------
|
|
str
|
|
"""
|
|
return self["bgcolor"]
|
|
|
|
@bgcolor.setter
|
|
def bgcolor(self, val):
|
|
self["bgcolor"] = val
|
|
|
|
# bordercolor
|
|
# -----------
|
|
@property
|
|
def bordercolor(self):
|
|
"""
|
|
Sets the color of the border enclosing the legend.
|
|
|
|
The 'bordercolor' property is a color and may be specified as:
|
|
- A hex string (e.g. '#ff0000')
|
|
- An rgb/rgba string (e.g. 'rgb(255,0,0)')
|
|
- An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
|
|
- An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
|
|
- A named CSS color:
|
|
aliceblue, antiquewhite, aqua, aquamarine, azure,
|
|
beige, bisque, black, blanchedalmond, blue,
|
|
blueviolet, brown, burlywood, cadetblue,
|
|
chartreuse, chocolate, coral, cornflowerblue,
|
|
cornsilk, crimson, cyan, darkblue, darkcyan,
|
|
darkgoldenrod, darkgray, darkgrey, darkgreen,
|
|
darkkhaki, darkmagenta, darkolivegreen, darkorange,
|
|
darkorchid, darkred, darksalmon, darkseagreen,
|
|
darkslateblue, darkslategray, darkslategrey,
|
|
darkturquoise, darkviolet, deeppink, deepskyblue,
|
|
dimgray, dimgrey, dodgerblue, firebrick,
|
|
floralwhite, forestgreen, fuchsia, gainsboro,
|
|
ghostwhite, gold, goldenrod, gray, grey, green,
|
|
greenyellow, honeydew, hotpink, indianred, indigo,
|
|
ivory, khaki, lavender, lavenderblush, lawngreen,
|
|
lemonchiffon, lightblue, lightcoral, lightcyan,
|
|
lightgoldenrodyellow, lightgray, lightgrey,
|
|
lightgreen, lightpink, lightsalmon, lightseagreen,
|
|
lightskyblue, lightslategray, lightslategrey,
|
|
lightsteelblue, lightyellow, lime, limegreen,
|
|
linen, magenta, maroon, mediumaquamarine,
|
|
mediumblue, mediumorchid, mediumpurple,
|
|
mediumseagreen, mediumslateblue, mediumspringgreen,
|
|
mediumturquoise, mediumvioletred, midnightblue,
|
|
mintcream, mistyrose, moccasin, navajowhite, navy,
|
|
oldlace, olive, olivedrab, orange, orangered,
|
|
orchid, palegoldenrod, palegreen, paleturquoise,
|
|
palevioletred, papayawhip, peachpuff, peru, pink,
|
|
plum, powderblue, purple, red, rosybrown,
|
|
royalblue, rebeccapurple, saddlebrown, salmon,
|
|
sandybrown, seagreen, seashell, sienna, silver,
|
|
skyblue, slateblue, slategray, slategrey, snow,
|
|
springgreen, steelblue, tan, teal, thistle, tomato,
|
|
turquoise, violet, wheat, white, whitesmoke,
|
|
yellow, yellowgreen
|
|
|
|
Returns
|
|
-------
|
|
str
|
|
"""
|
|
return self["bordercolor"]
|
|
|
|
@bordercolor.setter
|
|
def bordercolor(self, val):
|
|
self["bordercolor"] = val
|
|
|
|
# borderwidth
|
|
# -----------
|
|
@property
|
|
def borderwidth(self):
|
|
"""
|
|
Sets the width (in px) of the border enclosing the legend.
|
|
|
|
The 'borderwidth' property is a number and may be specified as:
|
|
- An int or float in the interval [0, inf]
|
|
|
|
Returns
|
|
-------
|
|
int|float
|
|
"""
|
|
return self["borderwidth"]
|
|
|
|
@borderwidth.setter
|
|
def borderwidth(self, val):
|
|
self["borderwidth"] = val
|
|
|
|
# font
|
|
# ----
|
|
@property
|
|
def font(self):
|
|
"""
|
|
Sets the font used to text the legend items.
|
|
|
|
The 'font' property is an instance of Font
|
|
that may be specified as:
|
|
- An instance of :class:`plotly.graph_objs.layout.legend.Font`
|
|
- A dict of string/value properties that will be passed
|
|
to the Font constructor
|
|
|
|
Supported dict properties:
|
|
|
|
color
|
|
|
|
family
|
|
HTML font family - the typeface that will be
|
|
applied by the web browser. The web browser
|
|
will only be able to apply a font if it is
|
|
available on the system which it operates.
|
|
Provide multiple font families, separated by
|
|
commas, to indicate the preference in which to
|
|
apply fonts if they aren't available on the
|
|
system. The Chart Studio Cloud (at
|
|
https://chart-studio.plotly.com or on-premise)
|
|
generates images on a server, where only a
|
|
select number of fonts are installed and
|
|
supported. These include "Arial", "Balto",
|
|
"Courier New", "Droid Sans",, "Droid Serif",
|
|
"Droid Sans Mono", "Gravitas One", "Old
|
|
Standard TT", "Open Sans", "Overpass", "PT Sans
|
|
Narrow", "Raleway", "Times New Roman".
|
|
size
|
|
|
|
Returns
|
|
-------
|
|
plotly.graph_objs.layout.legend.Font
|
|
"""
|
|
return self["font"]
|
|
|
|
@font.setter
|
|
def font(self, val):
|
|
self["font"] = val
|
|
|
|
# groupclick
|
|
# ----------
|
|
@property
|
|
def groupclick(self):
|
|
"""
|
|
Determines the behavior on legend group item click.
|
|
"toggleitem" toggles the visibility of the individual item
|
|
clicked on the graph. "togglegroup" toggles the visibility of
|
|
all items in the same legendgroup as the item clicked on the
|
|
graph.
|
|
|
|
The 'groupclick' property is an enumeration that may be specified as:
|
|
- One of the following enumeration values:
|
|
['toggleitem', 'togglegroup']
|
|
|
|
Returns
|
|
-------
|
|
Any
|
|
"""
|
|
return self["groupclick"]
|
|
|
|
@groupclick.setter
|
|
def groupclick(self, val):
|
|
self["groupclick"] = val
|
|
|
|
# grouptitlefont
|
|
# --------------
|
|
@property
|
|
def grouptitlefont(self):
|
|
"""
|
|
Sets the font for group titles in legend. Defaults to
|
|
`legend.font` with its size increased about 10%.
|
|
|
|
The 'grouptitlefont' property is an instance of Grouptitlefont
|
|
that may be specified as:
|
|
- An instance of :class:`plotly.graph_objs.layout.legend.Grouptitlefont`
|
|
- A dict of string/value properties that will be passed
|
|
to the Grouptitlefont constructor
|
|
|
|
Supported dict properties:
|
|
|
|
color
|
|
|
|
family
|
|
HTML font family - the typeface that will be
|
|
applied by the web browser. The web browser
|
|
will only be able to apply a font if it is
|
|
available on the system which it operates.
|
|
Provide multiple font families, separated by
|
|
commas, to indicate the preference in which to
|
|
apply fonts if they aren't available on the
|
|
system. The Chart Studio Cloud (at
|
|
https://chart-studio.plotly.com or on-premise)
|
|
generates images on a server, where only a
|
|
select number of fonts are installed and
|
|
supported. These include "Arial", "Balto",
|
|
"Courier New", "Droid Sans",, "Droid Serif",
|
|
"Droid Sans Mono", "Gravitas One", "Old
|
|
Standard TT", "Open Sans", "Overpass", "PT Sans
|
|
Narrow", "Raleway", "Times New Roman".
|
|
size
|
|
|
|
Returns
|
|
-------
|
|
plotly.graph_objs.layout.legend.Grouptitlefont
|
|
"""
|
|
return self["grouptitlefont"]
|
|
|
|
@grouptitlefont.setter
|
|
def grouptitlefont(self, val):
|
|
self["grouptitlefont"] = val
|
|
|
|
# itemclick
|
|
# ---------
|
|
@property
|
|
def itemclick(self):
|
|
"""
|
|
Determines the behavior on legend item click. "toggle" toggles
|
|
the visibility of the item clicked on the graph. "toggleothers"
|
|
makes the clicked item the sole visible item on the graph.
|
|
False disables legend item click interactions.
|
|
|
|
The 'itemclick' property is an enumeration that may be specified as:
|
|
- One of the following enumeration values:
|
|
['toggle', 'toggleothers', False]
|
|
|
|
Returns
|
|
-------
|
|
Any
|
|
"""
|
|
return self["itemclick"]
|
|
|
|
@itemclick.setter
|
|
def itemclick(self, val):
|
|
self["itemclick"] = val
|
|
|
|
# itemdoubleclick
|
|
# ---------------
|
|
@property
|
|
def itemdoubleclick(self):
|
|
"""
|
|
Determines the behavior on legend item double-click. "toggle"
|
|
toggles the visibility of the item clicked on the graph.
|
|
"toggleothers" makes the clicked item the sole visible item on
|
|
the graph. False disables legend item double-click
|
|
interactions.
|
|
|
|
The 'itemdoubleclick' property is an enumeration that may be specified as:
|
|
- One of the following enumeration values:
|
|
['toggle', 'toggleothers', False]
|
|
|
|
Returns
|
|
-------
|
|
Any
|
|
"""
|
|
return self["itemdoubleclick"]
|
|
|
|
@itemdoubleclick.setter
|
|
def itemdoubleclick(self, val):
|
|
self["itemdoubleclick"] = val
|
|
|
|
# itemsizing
|
|
# ----------
|
|
@property
|
|
def itemsizing(self):
|
|
"""
|
|
Determines if the legend items symbols scale with their
|
|
corresponding "trace" attributes or remain "constant"
|
|
independent of the symbol size on the graph.
|
|
|
|
The 'itemsizing' property is an enumeration that may be specified as:
|
|
- One of the following enumeration values:
|
|
['trace', 'constant']
|
|
|
|
Returns
|
|
-------
|
|
Any
|
|
"""
|
|
return self["itemsizing"]
|
|
|
|
@itemsizing.setter
|
|
def itemsizing(self, val):
|
|
self["itemsizing"] = val
|
|
|
|
# itemwidth
|
|
# ---------
|
|
@property
|
|
def itemwidth(self):
|
|
"""
|
|
Sets the width (in px) of the legend item symbols (the part
|
|
other than the title.text).
|
|
|
|
The 'itemwidth' property is a number and may be specified as:
|
|
- An int or float in the interval [30, inf]
|
|
|
|
Returns
|
|
-------
|
|
int|float
|
|
"""
|
|
return self["itemwidth"]
|
|
|
|
@itemwidth.setter
|
|
def itemwidth(self, val):
|
|
self["itemwidth"] = val
|
|
|
|
# orientation
|
|
# -----------
|
|
@property
|
|
def orientation(self):
|
|
"""
|
|
Sets the orientation of the legend.
|
|
|
|
The 'orientation' property is an enumeration that may be specified as:
|
|
- One of the following enumeration values:
|
|
['v', 'h']
|
|
|
|
Returns
|
|
-------
|
|
Any
|
|
"""
|
|
return self["orientation"]
|
|
|
|
@orientation.setter
|
|
def orientation(self, val):
|
|
self["orientation"] = val
|
|
|
|
# title
|
|
# -----
|
|
@property
|
|
def title(self):
|
|
"""
|
|
The 'title' property is an instance of Title
|
|
that may be specified as:
|
|
- An instance of :class:`plotly.graph_objs.layout.legend.Title`
|
|
- A dict of string/value properties that will be passed
|
|
to the Title constructor
|
|
|
|
Supported dict properties:
|
|
|
|
font
|
|
Sets this legend's title font. Defaults to
|
|
`legend.font` with its size increased about
|
|
20%.
|
|
side
|
|
Determines the location of legend's title with
|
|
respect to the legend items. Defaulted to "top"
|
|
with `orientation` is "h". Defaulted to "left"
|
|
with `orientation` is "v". The *top left*
|
|
options could be used to expand legend area in
|
|
both x and y sides.
|
|
text
|
|
Sets the title of the legend.
|
|
|
|
Returns
|
|
-------
|
|
plotly.graph_objs.layout.legend.Title
|
|
"""
|
|
return self["title"]
|
|
|
|
@title.setter
|
|
def title(self, val):
|
|
self["title"] = val
|
|
|
|
# tracegroupgap
|
|
# -------------
|
|
@property
|
|
def tracegroupgap(self):
|
|
"""
|
|
Sets the amount of vertical space (in px) between legend
|
|
groups.
|
|
|
|
The 'tracegroupgap' property is a number and may be specified as:
|
|
- An int or float in the interval [0, inf]
|
|
|
|
Returns
|
|
-------
|
|
int|float
|
|
"""
|
|
return self["tracegroupgap"]
|
|
|
|
@tracegroupgap.setter
|
|
def tracegroupgap(self, val):
|
|
self["tracegroupgap"] = val
|
|
|
|
# traceorder
|
|
# ----------
|
|
@property
|
|
def traceorder(self):
|
|
"""
|
|
Determines the order at which the legend items are displayed.
|
|
If "normal", the items are displayed top-to-bottom in the same
|
|
order as the input data. If "reversed", the items are displayed
|
|
in the opposite order as "normal". If "grouped", the items are
|
|
displayed in groups (when a trace `legendgroup` is provided).
|
|
if "grouped+reversed", the items are displayed in the opposite
|
|
order as "grouped".
|
|
|
|
The 'traceorder' property is a flaglist and may be specified
|
|
as a string containing:
|
|
- Any combination of ['reversed', 'grouped'] joined with '+' characters
|
|
(e.g. 'reversed+grouped')
|
|
OR exactly one of ['normal'] (e.g. 'normal')
|
|
|
|
Returns
|
|
-------
|
|
Any
|
|
"""
|
|
return self["traceorder"]
|
|
|
|
@traceorder.setter
|
|
def traceorder(self, val):
|
|
self["traceorder"] = val
|
|
|
|
# uirevision
|
|
# ----------
|
|
@property
|
|
def uirevision(self):
|
|
"""
|
|
Controls persistence of legend-driven changes in trace and pie
|
|
label visibility. Defaults to `layout.uirevision`.
|
|
|
|
The 'uirevision' property accepts values of any type
|
|
|
|
Returns
|
|
-------
|
|
Any
|
|
"""
|
|
return self["uirevision"]
|
|
|
|
@uirevision.setter
|
|
def uirevision(self, val):
|
|
self["uirevision"] = val
|
|
|
|
# valign
|
|
# ------
|
|
@property
|
|
def valign(self):
|
|
"""
|
|
Sets the vertical alignment of the symbols with respect to
|
|
their associated text.
|
|
|
|
The 'valign' property is an enumeration that may be specified as:
|
|
- One of the following enumeration values:
|
|
['top', 'middle', 'bottom']
|
|
|
|
Returns
|
|
-------
|
|
Any
|
|
"""
|
|
return self["valign"]
|
|
|
|
@valign.setter
|
|
def valign(self, val):
|
|
self["valign"] = val
|
|
|
|
# x
|
|
# -
|
|
@property
|
|
def x(self):
|
|
"""
|
|
Sets the x position (in normalized coordinates) of the legend.
|
|
Defaults to 1.02 for vertical legends and defaults to 0 for
|
|
horizontal legends.
|
|
|
|
The 'x' property is a number and may be specified as:
|
|
- An int or float in the interval [-2, 3]
|
|
|
|
Returns
|
|
-------
|
|
int|float
|
|
"""
|
|
return self["x"]
|
|
|
|
@x.setter
|
|
def x(self, val):
|
|
self["x"] = val
|
|
|
|
# xanchor
|
|
# -------
|
|
@property
|
|
def xanchor(self):
|
|
"""
|
|
Sets the legend's horizontal position anchor. This anchor binds
|
|
the `x` position to the "left", "center" or "right" of the
|
|
legend. Value "auto" anchors legends to the right for `x`
|
|
values greater than or equal to 2/3, anchors legends to the
|
|
left for `x` values less than or equal to 1/3 and anchors
|
|
legends with respect to their center otherwise.
|
|
|
|
The 'xanchor' property is an enumeration that may be specified as:
|
|
- One of the following enumeration values:
|
|
['auto', 'left', 'center', 'right']
|
|
|
|
Returns
|
|
-------
|
|
Any
|
|
"""
|
|
return self["xanchor"]
|
|
|
|
@xanchor.setter
|
|
def xanchor(self, val):
|
|
self["xanchor"] = val
|
|
|
|
# y
|
|
# -
|
|
@property
|
|
def y(self):
|
|
"""
|
|
Sets the y position (in normalized coordinates) of the legend.
|
|
Defaults to 1 for vertical legends, defaults to "-0.1" for
|
|
horizontal legends on graphs w/o range sliders and defaults to
|
|
1.1 for horizontal legends on graph with one or multiple range
|
|
sliders.
|
|
|
|
The 'y' property is a number and may be specified as:
|
|
- An int or float in the interval [-2, 3]
|
|
|
|
Returns
|
|
-------
|
|
int|float
|
|
"""
|
|
return self["y"]
|
|
|
|
@y.setter
|
|
def y(self, val):
|
|
self["y"] = val
|
|
|
|
# yanchor
|
|
# -------
|
|
@property
|
|
def yanchor(self):
|
|
"""
|
|
Sets the legend's vertical position anchor This anchor binds
|
|
the `y` position to the "top", "middle" or "bottom" of the
|
|
legend. Value "auto" anchors legends at their bottom for `y`
|
|
values less than or equal to 1/3, anchors legends to at their
|
|
top for `y` values greater than or equal to 2/3 and anchors
|
|
legends with respect to their middle otherwise.
|
|
|
|
The 'yanchor' property is an enumeration that may be specified as:
|
|
- One of the following enumeration values:
|
|
['auto', 'top', 'middle', 'bottom']
|
|
|
|
Returns
|
|
-------
|
|
Any
|
|
"""
|
|
return self["yanchor"]
|
|
|
|
@yanchor.setter
|
|
def yanchor(self, val):
|
|
self["yanchor"] = val
|
|
|
|
# Self properties description
|
|
# ---------------------------
|
|
@property
|
|
def _prop_descriptions(self):
|
|
return """\
|
|
bgcolor
|
|
Sets the legend background color. Defaults to
|
|
`layout.paper_bgcolor`.
|
|
bordercolor
|
|
Sets the color of the border enclosing the legend.
|
|
borderwidth
|
|
Sets the width (in px) of the border enclosing the
|
|
legend.
|
|
font
|
|
Sets the font used to text the legend items.
|
|
groupclick
|
|
Determines the behavior on legend group item click.
|
|
"toggleitem" toggles the visibility of the individual
|
|
item clicked on the graph. "togglegroup" toggles the
|
|
visibility of all items in the same legendgroup as the
|
|
item clicked on the graph.
|
|
grouptitlefont
|
|
Sets the font for group titles in legend. Defaults to
|
|
`legend.font` with its size increased about 10%.
|
|
itemclick
|
|
Determines the behavior on legend item click. "toggle"
|
|
toggles the visibility of the item clicked on the
|
|
graph. "toggleothers" makes the clicked item the sole
|
|
visible item on the graph. False disables legend item
|
|
click interactions.
|
|
itemdoubleclick
|
|
Determines the behavior on legend item double-click.
|
|
"toggle" toggles the visibility of the item clicked on
|
|
the graph. "toggleothers" makes the clicked item the
|
|
sole visible item on the graph. False disables legend
|
|
item double-click interactions.
|
|
itemsizing
|
|
Determines if the legend items symbols scale with their
|
|
corresponding "trace" attributes or remain "constant"
|
|
independent of the symbol size on the graph.
|
|
itemwidth
|
|
Sets the width (in px) of the legend item symbols (the
|
|
part other than the title.text).
|
|
orientation
|
|
Sets the orientation of the legend.
|
|
title
|
|
:class:`plotly.graph_objects.layout.legend.Title`
|
|
instance or dict with compatible properties
|
|
tracegroupgap
|
|
Sets the amount of vertical space (in px) between
|
|
legend groups.
|
|
traceorder
|
|
Determines the order at which the legend items are
|
|
displayed. If "normal", the items are displayed top-to-
|
|
bottom in the same order as the input data. If
|
|
"reversed", the items are displayed in the opposite
|
|
order as "normal". If "grouped", the items are
|
|
displayed in groups (when a trace `legendgroup` is
|
|
provided). if "grouped+reversed", the items are
|
|
displayed in the opposite order as "grouped".
|
|
uirevision
|
|
Controls persistence of legend-driven changes in trace
|
|
and pie label visibility. Defaults to
|
|
`layout.uirevision`.
|
|
valign
|
|
Sets the vertical alignment of the symbols with respect
|
|
to their associated text.
|
|
x
|
|
Sets the x position (in normalized coordinates) of the
|
|
legend. Defaults to 1.02 for vertical legends and
|
|
defaults to 0 for horizontal legends.
|
|
xanchor
|
|
Sets the legend's horizontal position anchor. This
|
|
anchor binds the `x` position to the "left", "center"
|
|
or "right" of the legend. Value "auto" anchors legends
|
|
to the right for `x` values greater than or equal to
|
|
2/3, anchors legends to the left for `x` values less
|
|
than or equal to 1/3 and anchors legends with respect
|
|
to their center otherwise.
|
|
y
|
|
Sets the y position (in normalized coordinates) of the
|
|
legend. Defaults to 1 for vertical legends, defaults to
|
|
"-0.1" for horizontal legends on graphs w/o range
|
|
sliders and defaults to 1.1 for horizontal legends on
|
|
graph with one or multiple range sliders.
|
|
yanchor
|
|
Sets the legend's vertical position anchor This anchor
|
|
binds the `y` position to the "top", "middle" or
|
|
"bottom" of the legend. Value "auto" anchors legends at
|
|
their bottom for `y` values less than or equal to 1/3,
|
|
anchors legends to at their top for `y` values greater
|
|
than or equal to 2/3 and anchors legends with respect
|
|
to their middle otherwise.
|
|
"""
|
|
|
|
def __init__(
|
|
self,
|
|
arg=None,
|
|
bgcolor=None,
|
|
bordercolor=None,
|
|
borderwidth=None,
|
|
font=None,
|
|
groupclick=None,
|
|
grouptitlefont=None,
|
|
itemclick=None,
|
|
itemdoubleclick=None,
|
|
itemsizing=None,
|
|
itemwidth=None,
|
|
orientation=None,
|
|
title=None,
|
|
tracegroupgap=None,
|
|
traceorder=None,
|
|
uirevision=None,
|
|
valign=None,
|
|
x=None,
|
|
xanchor=None,
|
|
y=None,
|
|
yanchor=None,
|
|
**kwargs,
|
|
):
|
|
"""
|
|
Construct a new Legend object
|
|
|
|
Parameters
|
|
----------
|
|
arg
|
|
dict of properties compatible with this constructor or
|
|
an instance of :class:`plotly.graph_objs.layout.Legend`
|
|
bgcolor
|
|
Sets the legend background color. Defaults to
|
|
`layout.paper_bgcolor`.
|
|
bordercolor
|
|
Sets the color of the border enclosing the legend.
|
|
borderwidth
|
|
Sets the width (in px) of the border enclosing the
|
|
legend.
|
|
font
|
|
Sets the font used to text the legend items.
|
|
groupclick
|
|
Determines the behavior on legend group item click.
|
|
"toggleitem" toggles the visibility of the individual
|
|
item clicked on the graph. "togglegroup" toggles the
|
|
visibility of all items in the same legendgroup as the
|
|
item clicked on the graph.
|
|
grouptitlefont
|
|
Sets the font for group titles in legend. Defaults to
|
|
`legend.font` with its size increased about 10%.
|
|
itemclick
|
|
Determines the behavior on legend item click. "toggle"
|
|
toggles the visibility of the item clicked on the
|
|
graph. "toggleothers" makes the clicked item the sole
|
|
visible item on the graph. False disables legend item
|
|
click interactions.
|
|
itemdoubleclick
|
|
Determines the behavior on legend item double-click.
|
|
"toggle" toggles the visibility of the item clicked on
|
|
the graph. "toggleothers" makes the clicked item the
|
|
sole visible item on the graph. False disables legend
|
|
item double-click interactions.
|
|
itemsizing
|
|
Determines if the legend items symbols scale with their
|
|
corresponding "trace" attributes or remain "constant"
|
|
independent of the symbol size on the graph.
|
|
itemwidth
|
|
Sets the width (in px) of the legend item symbols (the
|
|
part other than the title.text).
|
|
orientation
|
|
Sets the orientation of the legend.
|
|
title
|
|
:class:`plotly.graph_objects.layout.legend.Title`
|
|
instance or dict with compatible properties
|
|
tracegroupgap
|
|
Sets the amount of vertical space (in px) between
|
|
legend groups.
|
|
traceorder
|
|
Determines the order at which the legend items are
|
|
displayed. If "normal", the items are displayed top-to-
|
|
bottom in the same order as the input data. If
|
|
"reversed", the items are displayed in the opposite
|
|
order as "normal". If "grouped", the items are
|
|
displayed in groups (when a trace `legendgroup` is
|
|
provided). if "grouped+reversed", the items are
|
|
displayed in the opposite order as "grouped".
|
|
uirevision
|
|
Controls persistence of legend-driven changes in trace
|
|
and pie label visibility. Defaults to
|
|
`layout.uirevision`.
|
|
valign
|
|
Sets the vertical alignment of the symbols with respect
|
|
to their associated text.
|
|
x
|
|
Sets the x position (in normalized coordinates) of the
|
|
legend. Defaults to 1.02 for vertical legends and
|
|
defaults to 0 for horizontal legends.
|
|
xanchor
|
|
Sets the legend's horizontal position anchor. This
|
|
anchor binds the `x` position to the "left", "center"
|
|
or "right" of the legend. Value "auto" anchors legends
|
|
to the right for `x` values greater than or equal to
|
|
2/3, anchors legends to the left for `x` values less
|
|
than or equal to 1/3 and anchors legends with respect
|
|
to their center otherwise.
|
|
y
|
|
Sets the y position (in normalized coordinates) of the
|
|
legend. Defaults to 1 for vertical legends, defaults to
|
|
"-0.1" for horizontal legends on graphs w/o range
|
|
sliders and defaults to 1.1 for horizontal legends on
|
|
graph with one or multiple range sliders.
|
|
yanchor
|
|
Sets the legend's vertical position anchor This anchor
|
|
binds the `y` position to the "top", "middle" or
|
|
"bottom" of the legend. Value "auto" anchors legends at
|
|
their bottom for `y` values less than or equal to 1/3,
|
|
anchors legends to at their top for `y` values greater
|
|
than or equal to 2/3 and anchors legends with respect
|
|
to their middle otherwise.
|
|
|
|
Returns
|
|
-------
|
|
Legend
|
|
"""
|
|
super(Legend, self).__init__("legend")
|
|
|
|
if "_parent" in kwargs:
|
|
self._parent = kwargs["_parent"]
|
|
return
|
|
|
|
# Validate arg
|
|
# ------------
|
|
if arg is None:
|
|
arg = {}
|
|
elif isinstance(arg, self.__class__):
|
|
arg = arg.to_plotly_json()
|
|
elif isinstance(arg, dict):
|
|
arg = _copy.copy(arg)
|
|
else:
|
|
raise ValueError(
|
|
"""\
|
|
The first argument to the plotly.graph_objs.layout.Legend
|
|
constructor must be a dict or
|
|
an instance of :class:`plotly.graph_objs.layout.Legend`"""
|
|
)
|
|
|
|
# Handle skip_invalid
|
|
# -------------------
|
|
self._skip_invalid = kwargs.pop("skip_invalid", False)
|
|
self._validate = kwargs.pop("_validate", True)
|
|
|
|
# Populate data dict with properties
|
|
# ----------------------------------
|
|
_v = arg.pop("bgcolor", None)
|
|
_v = bgcolor if bgcolor is not None else _v
|
|
if _v is not None:
|
|
self["bgcolor"] = _v
|
|
_v = arg.pop("bordercolor", None)
|
|
_v = bordercolor if bordercolor is not None else _v
|
|
if _v is not None:
|
|
self["bordercolor"] = _v
|
|
_v = arg.pop("borderwidth", None)
|
|
_v = borderwidth if borderwidth is not None else _v
|
|
if _v is not None:
|
|
self["borderwidth"] = _v
|
|
_v = arg.pop("font", None)
|
|
_v = font if font is not None else _v
|
|
if _v is not None:
|
|
self["font"] = _v
|
|
_v = arg.pop("groupclick", None)
|
|
_v = groupclick if groupclick is not None else _v
|
|
if _v is not None:
|
|
self["groupclick"] = _v
|
|
_v = arg.pop("grouptitlefont", None)
|
|
_v = grouptitlefont if grouptitlefont is not None else _v
|
|
if _v is not None:
|
|
self["grouptitlefont"] = _v
|
|
_v = arg.pop("itemclick", None)
|
|
_v = itemclick if itemclick is not None else _v
|
|
if _v is not None:
|
|
self["itemclick"] = _v
|
|
_v = arg.pop("itemdoubleclick", None)
|
|
_v = itemdoubleclick if itemdoubleclick is not None else _v
|
|
if _v is not None:
|
|
self["itemdoubleclick"] = _v
|
|
_v = arg.pop("itemsizing", None)
|
|
_v = itemsizing if itemsizing is not None else _v
|
|
if _v is not None:
|
|
self["itemsizing"] = _v
|
|
_v = arg.pop("itemwidth", None)
|
|
_v = itemwidth if itemwidth is not None else _v
|
|
if _v is not None:
|
|
self["itemwidth"] = _v
|
|
_v = arg.pop("orientation", None)
|
|
_v = orientation if orientation is not None else _v
|
|
if _v is not None:
|
|
self["orientation"] = _v
|
|
_v = arg.pop("title", None)
|
|
_v = title if title is not None else _v
|
|
if _v is not None:
|
|
self["title"] = _v
|
|
_v = arg.pop("tracegroupgap", None)
|
|
_v = tracegroupgap if tracegroupgap is not None else _v
|
|
if _v is not None:
|
|
self["tracegroupgap"] = _v
|
|
_v = arg.pop("traceorder", None)
|
|
_v = traceorder if traceorder is not None else _v
|
|
if _v is not None:
|
|
self["traceorder"] = _v
|
|
_v = arg.pop("uirevision", None)
|
|
_v = uirevision if uirevision is not None else _v
|
|
if _v is not None:
|
|
self["uirevision"] = _v
|
|
_v = arg.pop("valign", None)
|
|
_v = valign if valign is not None else _v
|
|
if _v is not None:
|
|
self["valign"] = _v
|
|
_v = arg.pop("x", None)
|
|
_v = x if x is not None else _v
|
|
if _v is not None:
|
|
self["x"] = _v
|
|
_v = arg.pop("xanchor", None)
|
|
_v = xanchor if xanchor is not None else _v
|
|
if _v is not None:
|
|
self["xanchor"] = _v
|
|
_v = arg.pop("y", None)
|
|
_v = y if y is not None else _v
|
|
if _v is not None:
|
|
self["y"] = _v
|
|
_v = arg.pop("yanchor", None)
|
|
_v = yanchor if yanchor is not None else _v
|
|
if _v is not None:
|
|
self["yanchor"] = _v
|
|
|
|
# Process unknown kwargs
|
|
# ----------------------
|
|
self._process_kwargs(**dict(arg, **kwargs))
|
|
|
|
# Reset skip_invalid
|
|
# ------------------
|
|
self._skip_invalid = False
|