from plotly.basedatatypes import BaseLayoutType as _BaseLayoutType
import copy as _copy
class Layout(_BaseLayoutType):
_subplotid_prop_names = [
"coloraxis",
"geo",
"legend",
"mapbox",
"polar",
"scene",
"smith",
"ternary",
"xaxis",
"yaxis",
]
import re
_subplotid_prop_re = re.compile("^(" + "|".join(_subplotid_prop_names) + r")(\d+)$")
@property
def _subplotid_validators(self):
"""
dict of validator classes for each subplot type
Returns
-------
dict
"""
from plotly.validators.layout import (
ColoraxisValidator,
GeoValidator,
LegendValidator,
MapboxValidator,
PolarValidator,
SceneValidator,
SmithValidator,
TernaryValidator,
XaxisValidator,
YaxisValidator,
)
return {
"coloraxis": ColoraxisValidator,
"geo": GeoValidator,
"legend": LegendValidator,
"mapbox": MapboxValidator,
"polar": PolarValidator,
"scene": SceneValidator,
"smith": SmithValidator,
"ternary": TernaryValidator,
"xaxis": XaxisValidator,
"yaxis": YaxisValidator,
}
def _subplot_re_match(self, prop):
return self._subplotid_prop_re.match(prop)
# class properties
# --------------------
_parent_path_str = ""
_path_str = "layout"
_valid_props = {
"activeselection",
"activeshape",
"annotationdefaults",
"annotations",
"autosize",
"autotypenumbers",
"bargap",
"bargroupgap",
"barmode",
"barnorm",
"boxgap",
"boxgroupgap",
"boxmode",
"calendar",
"clickmode",
"coloraxis",
"colorscale",
"colorway",
"computed",
"datarevision",
"dragmode",
"editrevision",
"extendfunnelareacolors",
"extendiciclecolors",
"extendpiecolors",
"extendsunburstcolors",
"extendtreemapcolors",
"font",
"funnelareacolorway",
"funnelgap",
"funnelgroupgap",
"funnelmode",
"geo",
"grid",
"height",
"hiddenlabels",
"hiddenlabelssrc",
"hidesources",
"hoverdistance",
"hoverlabel",
"hovermode",
"iciclecolorway",
"imagedefaults",
"images",
"legend",
"mapbox",
"margin",
"meta",
"metasrc",
"minreducedheight",
"minreducedwidth",
"modebar",
"newselection",
"newshape",
"paper_bgcolor",
"piecolorway",
"plot_bgcolor",
"polar",
"scattergap",
"scattermode",
"scene",
"selectdirection",
"selectiondefaults",
"selectionrevision",
"selections",
"separators",
"shapedefaults",
"shapes",
"showlegend",
"sliderdefaults",
"sliders",
"smith",
"spikedistance",
"sunburstcolorway",
"template",
"ternary",
"title",
"titlefont",
"transition",
"treemapcolorway",
"uirevision",
"uniformtext",
"updatemenudefaults",
"updatemenus",
"violingap",
"violingroupgap",
"violinmode",
"waterfallgap",
"waterfallgroupgap",
"waterfallmode",
"width",
"xaxis",
"yaxis",
}
# activeselection
# ---------------
@property
def activeselection(self):
"""
The 'activeselection' property is an instance of Activeselection
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Activeselection`
- A dict of string/value properties that will be passed
to the Activeselection constructor
Supported dict properties:
fillcolor
Sets the color filling the active selection'
interior.
opacity
Sets the opacity of the active selection.
Returns
-------
plotly.graph_objs.layout.Activeselection
"""
return self["activeselection"]
@activeselection.setter
def activeselection(self, val):
self["activeselection"] = val
# activeshape
# -----------
@property
def activeshape(self):
"""
The 'activeshape' property is an instance of Activeshape
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Activeshape`
- A dict of string/value properties that will be passed
to the Activeshape constructor
Supported dict properties:
fillcolor
Sets the color filling the active shape'
interior.
opacity
Sets the opacity of the active shape.
Returns
-------
plotly.graph_objs.layout.Activeshape
"""
return self["activeshape"]
@activeshape.setter
def activeshape(self, val):
self["activeshape"] = val
# annotations
# -----------
@property
def annotations(self):
"""
The 'annotations' property is a tuple of instances of
Annotation that may be specified as:
- A list or tuple of instances of plotly.graph_objs.layout.Annotation
- A list or tuple of dicts of string/value properties that
will be passed to the Annotation constructor
Supported dict properties:
align
Sets the horizontal alignment of the `text`
within the box. Has an effect only if `text`
spans two or more lines (i.e. `text` contains
one or more
HTML tags) or if an explicit
width is set to override the text width.
arrowcolor
Sets the color of the annotation arrow.
arrowhead
Sets the end annotation arrow head style.
arrowside
Sets the annotation arrow head position.
arrowsize
Sets the size of the end annotation arrow head,
relative to `arrowwidth`. A value of 1
(default) gives a head about 3x as wide as the
line.
arrowwidth
Sets the width (in px) of annotation arrow
line.
ax
Sets the x component of the arrow tail about
the arrow head. If `axref` is `pixel`, a
positive (negative) component corresponds to an
arrow pointing from right to left (left to
right). If `axref` is not `pixel` and is
exactly the same as `xref`, this is an absolute
value on that axis, like `x`, specified in the
same coordinates as `xref`.
axref
Indicates in what coordinates the tail of the
annotation (ax,ay) is specified. If set to a x
axis id (e.g. "x" or "x2"), the `x` position
refers to a x coordinate. If set to "paper",
the `x` position refers to the distance from
the left of the plotting area in normalized
coordinates where 0 (1) corresponds to the left
(right). If set to a x axis ID followed by
"domain" (separated by a space), the position
behaves like for "paper", but refers to the
distance in fractions of the domain length from
the left of the domain of that axis: e.g., *x2
domain* refers to the domain of the second x
axis and a x position of 0.5 refers to the
point between the left and the right of the
domain of the second x axis. In order for
absolute positioning of the arrow to work,
"axref" must be exactly the same as "xref",
otherwise "axref" will revert to "pixel"
(explained next). For relative positioning,
"axref" can be set to "pixel", in which case
the "ax" value is specified in pixels relative
to "x". Absolute positioning is useful for
trendline annotations which should continue to
indicate the correct trend when zoomed.
Relative positioning is useful for specifying
the text offset for an annotated point.
ay
Sets the y component of the arrow tail about
the arrow head. If `ayref` is `pixel`, a
positive (negative) component corresponds to an
arrow pointing from bottom to top (top to
bottom). If `ayref` is not `pixel` and is
exactly the same as `yref`, this is an absolute
value on that axis, like `y`, specified in the
same coordinates as `yref`.
ayref
Indicates in what coordinates the tail of the
annotation (ax,ay) is specified. If set to a y
axis id (e.g. "y" or "y2"), the `y` position
refers to a y coordinate. If set to "paper",
the `y` position refers to the distance from
the bottom of the plotting area in normalized
coordinates where 0 (1) corresponds to the
bottom (top). If set to a y axis ID followed by
"domain" (separated by a space), the position
behaves like for "paper", but refers to the
distance in fractions of the domain length from
the bottom of the domain of that axis: e.g.,
*y2 domain* refers to the domain of the second
y axis and a y position of 0.5 refers to the
point between the bottom and the top of the
domain of the second y axis. In order for
absolute positioning of the arrow to work,
"ayref" must be exactly the same as "yref",
otherwise "ayref" will revert to "pixel"
(explained next). For relative positioning,
"ayref" can be set to "pixel", in which case
the "ay" value is specified in pixels relative
to "y". Absolute positioning is useful for
trendline annotations which should continue to
indicate the correct trend when zoomed.
Relative positioning is useful for specifying
the text offset for an annotated point.
bgcolor
Sets the background color of the annotation.
bordercolor
Sets the color of the border enclosing the
annotation `text`.
borderpad
Sets the padding (in px) between the `text` and
the enclosing border.
borderwidth
Sets the width (in px) of the border enclosing
the annotation `text`.
captureevents
Determines whether the annotation text box
captures mouse move and click events, or allows
those events to pass through to data points in
the plot that may be behind the annotation. By
default `captureevents` is False unless
`hovertext` is provided. If you use the event
`plotly_clickannotation` without `hovertext`
you must explicitly enable `captureevents`.
clicktoshow
Makes this annotation respond to clicks on the
plot. If you click a data point that exactly
matches the `x` and `y` values of this
annotation, and it is hidden (visible: false),
it will appear. In "onoff" mode, you must click
the same point again to make it disappear, so
if you click multiple points, you can show
multiple annotations. In "onout" mode, a click
anywhere else in the plot (on another data
point or not) will hide this annotation. If you
need to show/hide this annotation in response
to different `x` or `y` values, you can set
`xclick` and/or `yclick`. This is useful for
example to label the side of a bar. To label
markers though, `standoff` is preferred over
`xclick` and `yclick`.
font
Sets the annotation text font.
height
Sets an explicit height for the text box. null
(default) lets the text set the box height.
Taller text will be clipped.
hoverlabel
:class:`plotly.graph_objects.layout.annotation.
Hoverlabel` instance or dict with compatible
properties
hovertext
Sets text to appear when hovering over this
annotation. If omitted or blank, no hover label
will appear.
name
When used in a template, named items are
created in the output figure in addition to any
items the figure already has in this array. You
can modify these items in the output figure by
making your own item with `templateitemname`
matching this `name` alongside your
modifications (including `visible: false` or
`enabled: false` to hide it). Has no effect
outside of a template.
opacity
Sets the opacity of the annotation (text +
arrow).
showarrow
Determines whether or not the annotation is
drawn with an arrow. If True, `text` is placed
near the arrow's tail. If False, `text` lines
up with the `x` and `y` provided.
standoff
Sets a distance, in pixels, to move the end
arrowhead away from the position it is pointing
at, for example to point at the edge of a
marker independent of zoom. Note that this
shortens the arrow from the `ax` / `ay` vector,
in contrast to `xshift` / `yshift` which moves
everything by this amount.
startarrowhead
Sets the start annotation arrow head style.
startarrowsize
Sets the size of the start annotation arrow
head, relative to `arrowwidth`. A value of 1
(default) gives a head about 3x as wide as the
line.
startstandoff
Sets a distance, in pixels, to move the start
arrowhead away from the position it is pointing
at, for example to point at the edge of a
marker independent of zoom. Note that this
shortens the arrow from the `ax` / `ay` vector,
in contrast to `xshift` / `yshift` which moves
everything by this amount.
templateitemname
Used to refer to a named item in this array in
the template. Named items from the template
will be created even without a matching item in
the input figure, but you can modify one by
making an item with `templateitemname` matching
its `name`, alongside your modifications
(including `visible: false` or `enabled: false`
to hide it). If there is no template or no
matching item, this item will be hidden unless
you explicitly show it with `visible: true`.
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.
textangle
Sets the angle at which the `text` is drawn
with respect to the horizontal.
valign
Sets the vertical alignment of the `text`
within the box. Has an effect only if an
explicit height is set to override the text
height.
visible
Determines whether or not this annotation is
visible.
width
Sets an explicit width for the text box. null
(default) lets the text set the box width.
Wider text will be clipped. There is no
automatic wrapping; use
to start a new
line.
x
Sets the annotation's x position. If the axis
`type` is "log", then you must take the log of
your desired range. If the axis `type` is
"date", it should be date strings, like date
data, though Date objects and unix milliseconds
will be accepted and converted to strings. If
the axis `type` is "category", it should be
numbers, using the scale where each category is
assigned a serial number from zero in the order
it appears.
xanchor
Sets the text box's horizontal position anchor
This anchor binds the `x` position to the
"left", "center" or "right" of the annotation.
For example, if `x` is set to 1, `xref` to
"paper" and `xanchor` to "right" then the
right-most portion of the annotation lines up
with the right-most edge of the plotting area.
If "auto", the anchor is equivalent to "center"
for data-referenced annotations or if there is
an arrow, whereas for paper-referenced with no
arrow, the anchor picked corresponds to the
closest side.
xclick
Toggle this annotation when clicking a data
point whose `x` value is `xclick` rather than
the annotation's `x` value.
xref
Sets the annotation's x coordinate axis. If set
to a x axis id (e.g. "x" or "x2"), the `x`
position refers to a x coordinate. If set to
"paper", the `x` position refers to the
distance from the left of the plotting area in
normalized coordinates where 0 (1) corresponds
to the left (right). If set to a x axis ID
followed by "domain" (separated by a space),
the position behaves like for "paper", but
refers to the distance in fractions of the
domain length from the left of the domain of
that axis: e.g., *x2 domain* refers to the
domain of the second x axis and a x position
of 0.5 refers to the point between the left and
the right of the domain of the second x axis.
xshift
Shifts the position of the whole annotation and
arrow to the right (positive) or left
(negative) by this many pixels.
y
Sets the annotation's y position. If the axis
`type` is "log", then you must take the log of
your desired range. If the axis `type` is
"date", it should be date strings, like date
data, though Date objects and unix milliseconds
will be accepted and converted to strings. If
the axis `type` is "category", it should be
numbers, using the scale where each category is
assigned a serial number from zero in the order
it appears.
yanchor
Sets the text box's vertical position anchor
This anchor binds the `y` position to the
"top", "middle" or "bottom" of the annotation.
For example, if `y` is set to 1, `yref` to
"paper" and `yanchor` to "top" then the top-
most portion of the annotation lines up with
the top-most edge of the plotting area. If
"auto", the anchor is equivalent to "middle"
for data-referenced annotations or if there is
an arrow, whereas for paper-referenced with no
arrow, the anchor picked corresponds to the
closest side.
yclick
Toggle this annotation when clicking a data
point whose `y` value is `yclick` rather than
the annotation's `y` value.
yref
Sets the annotation's y coordinate axis. If set
to a y axis id (e.g. "y" or "y2"), the `y`
position refers to a y coordinate. If set to
"paper", the `y` position refers to the
distance from the bottom of the plotting area
in normalized coordinates where 0 (1)
corresponds to the bottom (top). If set to a y
axis ID followed by "domain" (separated by a
space), the position behaves like for "paper",
but refers to the distance in fractions of the
domain length from the bottom of the domain of
that axis: e.g., *y2 domain* refers to the
domain of the second y axis and a y position
of 0.5 refers to the point between the bottom
and the top of the domain of the second y axis.
yshift
Shifts the position of the whole annotation and
arrow up (positive) or down (negative) by this
many pixels.
Returns
-------
tuple[plotly.graph_objs.layout.Annotation]
"""
return self["annotations"]
@annotations.setter
def annotations(self, val):
self["annotations"] = val
# annotationdefaults
# ------------------
@property
def annotationdefaults(self):
"""
When used in a template (as
layout.template.layout.annotationdefaults), sets the default
property values to use for elements of layout.annotations
The 'annotationdefaults' property is an instance of Annotation
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Annotation`
- A dict of string/value properties that will be passed
to the Annotation constructor
Supported dict properties:
Returns
-------
plotly.graph_objs.layout.Annotation
"""
return self["annotationdefaults"]
@annotationdefaults.setter
def annotationdefaults(self, val):
self["annotationdefaults"] = val
# autosize
# --------
@property
def autosize(self):
"""
Determines whether or not a layout width or height that has
been left undefined by the user is initialized on each
relayout. Note that, regardless of this attribute, an undefined
layout width or height is always initialized on the first call
to plot.
The 'autosize' property must be specified as a bool
(either True, or False)
Returns
-------
bool
"""
return self["autosize"]
@autosize.setter
def autosize(self, val):
self["autosize"] = val
# autotypenumbers
# ---------------
@property
def autotypenumbers(self):
"""
Using "strict" a numeric string in trace data is not converted
to a number. Using *convert types* a numeric string in trace
data may be treated as a number during automatic axis `type`
detection. This is the default value; however it could be
overridden for individual axes.
The 'autotypenumbers' property is an enumeration that may be specified as:
- One of the following enumeration values:
['convert types', 'strict']
Returns
-------
Any
"""
return self["autotypenumbers"]
@autotypenumbers.setter
def autotypenumbers(self, val):
self["autotypenumbers"] = val
# bargap
# ------
@property
def bargap(self):
"""
Sets the gap (in plot fraction) between bars of adjacent
location coordinates.
The 'bargap' property is a number and may be specified as:
- An int or float in the interval [0, 1]
Returns
-------
int|float
"""
return self["bargap"]
@bargap.setter
def bargap(self, val):
self["bargap"] = val
# bargroupgap
# -----------
@property
def bargroupgap(self):
"""
Sets the gap (in plot fraction) between bars of the same
location coordinate.
The 'bargroupgap' property is a number and may be specified as:
- An int or float in the interval [0, 1]
Returns
-------
int|float
"""
return self["bargroupgap"]
@bargroupgap.setter
def bargroupgap(self, val):
self["bargroupgap"] = val
# barmode
# -------
@property
def barmode(self):
"""
Determines how bars at the same location coordinate are
displayed on the graph. With "stack", the bars are stacked on
top of one another With "relative", the bars are stacked on top
of one another, with negative values below the axis, positive
values above With "group", the bars are plotted next to one
another centered around the shared location. With "overlay",
the bars are plotted over one another, you might need to reduce
"opacity" to see multiple bars.
The 'barmode' property is an enumeration that may be specified as:
- One of the following enumeration values:
['stack', 'group', 'overlay', 'relative']
Returns
-------
Any
"""
return self["barmode"]
@barmode.setter
def barmode(self, val):
self["barmode"] = val
# barnorm
# -------
@property
def barnorm(self):
"""
Sets the normalization for bar traces on the graph. With
"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.
The 'barnorm' property is an enumeration that may be specified as:
- One of the following enumeration values:
['', 'fraction', 'percent']
Returns
-------
Any
"""
return self["barnorm"]
@barnorm.setter
def barnorm(self, val):
self["barnorm"] = val
# boxgap
# ------
@property
def boxgap(self):
"""
Sets the gap (in plot fraction) between boxes of adjacent
location coordinates. Has no effect on traces that have "width"
set.
The 'boxgap' property is a number and may be specified as:
- An int or float in the interval [0, 1]
Returns
-------
int|float
"""
return self["boxgap"]
@boxgap.setter
def boxgap(self, val):
self["boxgap"] = val
# boxgroupgap
# -----------
@property
def boxgroupgap(self):
"""
Sets the gap (in plot fraction) between boxes of the same
location coordinate. Has no effect on traces that have "width"
set.
The 'boxgroupgap' property is a number and may be specified as:
- An int or float in the interval [0, 1]
Returns
-------
int|float
"""
return self["boxgroupgap"]
@boxgroupgap.setter
def boxgroupgap(self, val):
self["boxgroupgap"] = val
# boxmode
# -------
@property
def boxmode(self):
"""
Determines how boxes at the same location coordinate are
displayed on the graph. If "group", the boxes are plotted next
to one another centered around the shared location. If
"overlay", the boxes are plotted over one another, you might
need to set "opacity" to see them multiple boxes. Has no effect
on traces that have "width" set.
The 'boxmode' property is an enumeration that may be specified as:
- One of the following enumeration values:
['group', 'overlay']
Returns
-------
Any
"""
return self["boxmode"]
@boxmode.setter
def boxmode(self, val):
self["boxmode"] = val
# calendar
# --------
@property
def calendar(self):
"""
Sets the default calendar system to use for interpreting and
displaying dates throughout the plot.
The 'calendar' property is an enumeration that may be specified as:
- One of the following enumeration values:
['chinese', 'coptic', 'discworld', 'ethiopian',
'gregorian', 'hebrew', 'islamic', 'jalali', 'julian',
'mayan', 'nanakshahi', 'nepali', 'persian', 'taiwan',
'thai', 'ummalqura']
Returns
-------
Any
"""
return self["calendar"]
@calendar.setter
def calendar(self, val):
self["calendar"] = val
# clickmode
# ---------
@property
def clickmode(self):
"""
Determines the mode of single click interactions. "event" is
the default value and emits the `plotly_click` event. In
addition this mode emits the `plotly_selected` event in drag
modes "lasso" and "select", but with no event data attached
(kept for compatibility reasons). The "select" flag enables
selecting single data points via click. This mode also supports
persistent selections, meaning that pressing Shift while
clicking, adds to / subtracts from an existing selection.
"select" with `hovermode`: "x" can be confusing, consider
explicitly setting `hovermode`: "closest" when using this
feature. Selection events are sent accordingly as long as
"event" flag is set as well. When the "event" flag is missing,
`plotly_click` and `plotly_selected` events are not fired.
The 'clickmode' property is a flaglist and may be specified
as a string containing:
- Any combination of ['event', 'select'] joined with '+' characters
(e.g. 'event+select')
OR exactly one of ['none'] (e.g. 'none')
Returns
-------
Any
"""
return self["clickmode"]
@clickmode.setter
def clickmode(self, val):
self["clickmode"] = val
# coloraxis
# ---------
@property
def coloraxis(self):
"""
The 'coloraxis' property is an instance of Coloraxis
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Coloraxis`
- A dict of string/value properties that will be passed
to the Coloraxis constructor
Supported dict properties:
autocolorscale
Determines whether the colorscale is a default
palette (`autocolorscale: true`) or the palette
determined by `colorscale`. In case
`colorscale` is unspecified or `autocolorscale`
is true, the default palette will be chosen
according to whether numbers in the `color`
array are all positive, all negative or mixed.
cauto
Determines whether or not the color domain is
computed with respect to the input data (here
corresponding trace color array(s)) or the
bounds set in `cmin` and `cmax` Defaults to
`false` when `cmin` and `cmax` are set by the
user.
cmax
Sets the upper bound of the color domain. Value
should have the same units as corresponding
trace color array(s) and if set, `cmin` must be
set as well.
cmid
Sets the mid-point of the color domain by
scaling `cmin` and/or `cmax` to be equidistant
to this point. Value should have the same units
as corresponding trace color array(s). Has no
effect when `cauto` is `false`.
cmin
Sets the lower bound of the color domain. Value
should have the same units as corresponding
trace color array(s) and if set, `cmax` must be
set as well.
colorbar
:class:`plotly.graph_objects.layout.coloraxis.C
olorBar` instance or dict with compatible
properties
colorscale
Sets the colorscale. The colorscale must be an
array containing arrays mapping a normalized
value to an rgb, rgba, hex, hsl, hsv, or named
color string. At minimum, a mapping for the
lowest (0) and highest (1) values are required.
For example, `[[0, 'rgb(0,0,255)'], [1,
'rgb(255,0,0)']]`. To control the bounds of the
colorscale in color space, use `cmin` and
`cmax`. Alternatively, `colorscale` may be a
palette name string of the following list: Blac
kbody,Bluered,Blues,Cividis,Earth,Electric,Gree
ns,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,R
eds,Viridis,YlGnBu,YlOrRd.
reversescale
Reverses the color mapping if true. If true,
`cmin` will correspond to the last color in the
array and `cmax` will correspond to the first
color.
showscale
Determines whether or not a colorbar is
displayed for this trace.
Returns
-------
plotly.graph_objs.layout.Coloraxis
"""
return self["coloraxis"]
@coloraxis.setter
def coloraxis(self, val):
self["coloraxis"] = val
# colorscale
# ----------
@property
def colorscale(self):
"""
The 'colorscale' property is an instance of Colorscale
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Colorscale`
- A dict of string/value properties that will be passed
to the Colorscale constructor
Supported dict properties:
diverging
Sets the default diverging colorscale. Note
that `autocolorscale` must be true for this
attribute to work.
sequential
Sets the default sequential colorscale for
positive values. Note that `autocolorscale`
must be true for this attribute to work.
sequentialminus
Sets the default sequential colorscale for
negative values. Note that `autocolorscale`
must be true for this attribute to work.
Returns
-------
plotly.graph_objs.layout.Colorscale
"""
return self["colorscale"]
@colorscale.setter
def colorscale(self, val):
self["colorscale"] = val
# colorway
# --------
@property
def colorway(self):
"""
Sets the default trace colors.
The 'colorway' property is a colorlist that may be specified
as a tuple, list, one-dimensional numpy array, or pandas Series of valid
color strings
Returns
-------
list
"""
return self["colorway"]
@colorway.setter
def colorway(self, val):
self["colorway"] = val
# computed
# --------
@property
def computed(self):
"""
Placeholder for exporting automargin-impacting values namely
`margin.t`, `margin.b`, `margin.l` and `margin.r` in "full-
json" mode.
The 'computed' property accepts values of any type
Returns
-------
Any
"""
return self["computed"]
@computed.setter
def computed(self, val):
self["computed"] = val
# datarevision
# ------------
@property
def datarevision(self):
"""
If provided, a changed value tells `Plotly.react` that one or
more data arrays has changed. This way you can modify arrays
in-place rather than making a complete new copy for an
incremental change. If NOT provided, `Plotly.react` assumes
that data arrays are being treated as immutable, thus any data
array with a different identity from its predecessor contains
new data.
The 'datarevision' property accepts values of any type
Returns
-------
Any
"""
return self["datarevision"]
@datarevision.setter
def datarevision(self, val):
self["datarevision"] = val
# dragmode
# --------
@property
def dragmode(self):
"""
Determines the mode of drag interactions. "select" and "lasso"
apply only to scatter traces with markers or text. "orbit" and
"turntable" apply only to 3D scenes.
The 'dragmode' property is an enumeration that may be specified as:
- One of the following enumeration values:
['zoom', 'pan', 'select', 'lasso', 'drawclosedpath',
'drawopenpath', 'drawline', 'drawrect', 'drawcircle',
'orbit', 'turntable', False]
Returns
-------
Any
"""
return self["dragmode"]
@dragmode.setter
def dragmode(self, val):
self["dragmode"] = val
# editrevision
# ------------
@property
def editrevision(self):
"""
Controls persistence of user-driven changes in `editable: true`
configuration, other than trace names and axis titles. Defaults
to `layout.uirevision`.
The 'editrevision' property accepts values of any type
Returns
-------
Any
"""
return self["editrevision"]
@editrevision.setter
def editrevision(self, val):
self["editrevision"] = val
# extendfunnelareacolors
# ----------------------
@property
def extendfunnelareacolors(self):
"""
If `true`, the funnelarea slice colors (whether given by
`funnelareacolorway` or inherited from `colorway`) will be
extended to three times its original length by first repeating
every color 20% lighter then each color 20% darker. This is
intended to reduce the likelihood of reusing the same color
when you have many slices, but you can set `false` to disable.
Colors provided in the trace, using `marker.colors`, are never
extended.
The 'extendfunnelareacolors' property must be specified as a bool
(either True, or False)
Returns
-------
bool
"""
return self["extendfunnelareacolors"]
@extendfunnelareacolors.setter
def extendfunnelareacolors(self, val):
self["extendfunnelareacolors"] = val
# extendiciclecolors
# ------------------
@property
def extendiciclecolors(self):
"""
If `true`, the icicle slice colors (whether given by
`iciclecolorway` or inherited from `colorway`) will be extended
to three times its original length by first repeating every
color 20% lighter then each color 20% darker. This is intended
to reduce the likelihood of reusing the same color when you
have many slices, but you can set `false` to disable. Colors
provided in the trace, using `marker.colors`, are never
extended.
The 'extendiciclecolors' property must be specified as a bool
(either True, or False)
Returns
-------
bool
"""
return self["extendiciclecolors"]
@extendiciclecolors.setter
def extendiciclecolors(self, val):
self["extendiciclecolors"] = val
# extendpiecolors
# ---------------
@property
def extendpiecolors(self):
"""
If `true`, the pie slice colors (whether given by `piecolorway`
or inherited from `colorway`) will be extended to three times
its original length by first repeating every color 20% lighter
then each color 20% darker. This is intended to reduce the
likelihood of reusing the same color when you have many slices,
but you can set `false` to disable. Colors provided in the
trace, using `marker.colors`, are never extended.
The 'extendpiecolors' property must be specified as a bool
(either True, or False)
Returns
-------
bool
"""
return self["extendpiecolors"]
@extendpiecolors.setter
def extendpiecolors(self, val):
self["extendpiecolors"] = val
# extendsunburstcolors
# --------------------
@property
def extendsunburstcolors(self):
"""
If `true`, the sunburst slice colors (whether given by
`sunburstcolorway` or inherited from `colorway`) will be
extended to three times its original length by first repeating
every color 20% lighter then each color 20% darker. This is
intended to reduce the likelihood of reusing the same color
when you have many slices, but you can set `false` to disable.
Colors provided in the trace, using `marker.colors`, are never
extended.
The 'extendsunburstcolors' property must be specified as a bool
(either True, or False)
Returns
-------
bool
"""
return self["extendsunburstcolors"]
@extendsunburstcolors.setter
def extendsunburstcolors(self, val):
self["extendsunburstcolors"] = val
# extendtreemapcolors
# -------------------
@property
def extendtreemapcolors(self):
"""
If `true`, the treemap slice colors (whether given by
`treemapcolorway` or inherited from `colorway`) will be
extended to three times its original length by first repeating
every color 20% lighter then each color 20% darker. This is
intended to reduce the likelihood of reusing the same color
when you have many slices, but you can set `false` to disable.
Colors provided in the trace, using `marker.colors`, are never
extended.
The 'extendtreemapcolors' property must be specified as a bool
(either True, or False)
Returns
-------
bool
"""
return self["extendtreemapcolors"]
@extendtreemapcolors.setter
def extendtreemapcolors(self, val):
self["extendtreemapcolors"] = val
# font
# ----
@property
def font(self):
"""
Sets the global font. Note that fonts used in traces and other
layout components inherit from the global font.
The 'font' property is an instance of Font
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.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.Font
"""
return self["font"]
@font.setter
def font(self, val):
self["font"] = val
# funnelareacolorway
# ------------------
@property
def funnelareacolorway(self):
"""
Sets the default funnelarea slice colors. Defaults to the main
`colorway` used for trace colors. If you specify a new list
here it can still be extended with lighter and darker colors,
see `extendfunnelareacolors`.
The 'funnelareacolorway' property is a colorlist that may be specified
as a tuple, list, one-dimensional numpy array, or pandas Series of valid
color strings
Returns
-------
list
"""
return self["funnelareacolorway"]
@funnelareacolorway.setter
def funnelareacolorway(self, val):
self["funnelareacolorway"] = val
# funnelgap
# ---------
@property
def funnelgap(self):
"""
Sets the gap (in plot fraction) between bars of adjacent
location coordinates.
The 'funnelgap' property is a number and may be specified as:
- An int or float in the interval [0, 1]
Returns
-------
int|float
"""
return self["funnelgap"]
@funnelgap.setter
def funnelgap(self, val):
self["funnelgap"] = val
# funnelgroupgap
# --------------
@property
def funnelgroupgap(self):
"""
Sets the gap (in plot fraction) between bars of the same
location coordinate.
The 'funnelgroupgap' property is a number and may be specified as:
- An int or float in the interval [0, 1]
Returns
-------
int|float
"""
return self["funnelgroupgap"]
@funnelgroupgap.setter
def funnelgroupgap(self, val):
self["funnelgroupgap"] = val
# funnelmode
# ----------
@property
def funnelmode(self):
"""
Determines how bars at the same location coordinate are
displayed on the graph. With "stack", the bars are stacked on
top of one another With "group", the bars are plotted next to
one another centered around the shared location. With
"overlay", the bars are plotted over one another, you might
need to reduce "opacity" to see multiple bars.
The 'funnelmode' property is an enumeration that may be specified as:
- One of the following enumeration values:
['stack', 'group', 'overlay']
Returns
-------
Any
"""
return self["funnelmode"]
@funnelmode.setter
def funnelmode(self, val):
self["funnelmode"] = val
# geo
# ---
@property
def geo(self):
"""
The 'geo' property is an instance of Geo
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Geo`
- A dict of string/value properties that will be passed
to the Geo constructor
Supported dict properties:
bgcolor
Set the background color of the map
center
:class:`plotly.graph_objects.layout.geo.Center`
instance or dict with compatible properties
coastlinecolor
Sets the coastline color.
coastlinewidth
Sets the coastline stroke width (in px).
countrycolor
Sets line color of the country boundaries.
countrywidth
Sets line width (in px) of the country
boundaries.
domain
:class:`plotly.graph_objects.layout.geo.Domain`
instance or dict with compatible properties
fitbounds
Determines if this subplot's view settings are
auto-computed to fit trace data. On scoped
maps, setting `fitbounds` leads to `center.lon`
and `center.lat` getting auto-filled. On maps
with a non-clipped projection, setting
`fitbounds` leads to `center.lon`,
`center.lat`, and `projection.rotation.lon`
getting auto-filled. On maps with a clipped
projection, setting `fitbounds` leads to
`center.lon`, `center.lat`,
`projection.rotation.lon`,
`projection.rotation.lat`, `lonaxis.range` and
`lonaxis.range` getting auto-filled. If
"locations", only the trace's visible locations
are considered in the `fitbounds` computations.
If "geojson", the entire trace input `geojson`
(if provided) is considered in the `fitbounds`
computations, Defaults to False.
framecolor
Sets the color the frame.
framewidth
Sets the stroke width (in px) of the frame.
lakecolor
Sets the color of the lakes.
landcolor
Sets the land mass color.
lataxis
:class:`plotly.graph_objects.layout.geo.Lataxis
` instance or dict with compatible properties
lonaxis
:class:`plotly.graph_objects.layout.geo.Lonaxis
` instance or dict with compatible properties
oceancolor
Sets the ocean color
projection
:class:`plotly.graph_objects.layout.geo.Project
ion` instance or dict with compatible
properties
resolution
Sets the resolution of the base layers. The
values have units of km/mm e.g. 110 corresponds
to a scale ratio of 1:110,000,000.
rivercolor
Sets color of the rivers.
riverwidth
Sets the stroke width (in px) of the rivers.
scope
Set the scope of the map.
showcoastlines
Sets whether or not the coastlines are drawn.
showcountries
Sets whether or not country boundaries are
drawn.
showframe
Sets whether or not a frame is drawn around the
map.
showlakes
Sets whether or not lakes are drawn.
showland
Sets whether or not land masses are filled in
color.
showocean
Sets whether or not oceans are filled in color.
showrivers
Sets whether or not rivers are drawn.
showsubunits
Sets whether or not boundaries of subunits
within countries (e.g. states, provinces) are
drawn.
subunitcolor
Sets the color of the subunits boundaries.
subunitwidth
Sets the stroke width (in px) of the subunits
boundaries.
uirevision
Controls persistence of user-driven changes in
the view (projection and center). Defaults to
`layout.uirevision`.
visible
Sets the default visibility of the base layers.
Returns
-------
plotly.graph_objs.layout.Geo
"""
return self["geo"]
@geo.setter
def geo(self, val):
self["geo"] = val
# grid
# ----
@property
def grid(self):
"""
The 'grid' property is an instance of Grid
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Grid`
- A dict of string/value properties that will be passed
to the Grid constructor
Supported dict properties:
columns
The number of columns in the grid. If you
provide a 2D `subplots` array, the length of
its longest row is used as the default. If you
give an `xaxes` array, its length is used as
the default. But it's also possible to have a
different length, if you want to leave a row at
the end for non-cartesian subplots.
domain
:class:`plotly.graph_objects.layout.grid.Domain
` instance or dict with compatible properties
pattern
If no `subplots`, `xaxes`, or `yaxes` are given
but we do have `rows` and `columns`, we can
generate defaults using consecutive axis IDs,
in two ways: "coupled" gives one x axis per
column and one y axis per row. "independent"
uses a new xy pair for each cell, left-to-right
across each row then iterating rows according
to `roworder`.
roworder
Is the first row the top or the bottom? Note
that columns are always enumerated from left to
right.
rows
The number of rows in the grid. If you provide
a 2D `subplots` array or a `yaxes` array, its
length is used as the default. But it's also
possible to have a different length, if you
want to leave a row at the end for non-
cartesian subplots.
subplots
Used for freeform grids, where some axes may be
shared across subplots but others are not. Each
entry should be a cartesian subplot id, like
"xy" or "x3y2", or "" to leave that cell empty.
You may reuse x axes within the same column,
and y axes within the same row. Non-cartesian
subplots and traces that support `domain` can
place themselves in this grid separately using
the `gridcell` attribute.
xaxes
Used with `yaxes` when the x and y axes are
shared across columns and rows. Each entry
should be an x axis id like "x", "x2", etc., or
"" to not put an x axis in that column. Entries
other than "" must be unique. Ignored if
`subplots` is present. If missing but `yaxes`
is present, will generate consecutive IDs.
xgap
Horizontal space between grid cells, expressed
as a fraction of the total width available to
one cell. Defaults to 0.1 for coupled-axes
grids and 0.2 for independent grids.
xside
Sets where the x axis labels and titles go.
"bottom" means the very bottom of the grid.
"bottom plot" is the lowest plot that each x
axis is used in. "top" and "top plot" are
similar.
yaxes
Used with `yaxes` when the x and y axes are
shared across columns and rows. Each entry
should be an y axis id like "y", "y2", etc., or
"" to not put a y axis in that row. Entries
other than "" must be unique. Ignored if
`subplots` is present. If missing but `xaxes`
is present, will generate consecutive IDs.
ygap
Vertical space between grid cells, expressed as
a fraction of the total height available to one
cell. Defaults to 0.1 for coupled-axes grids
and 0.3 for independent grids.
yside
Sets where the y axis labels and titles go.
"left" means the very left edge of the grid.
*left plot* is the leftmost plot that each y
axis is used in. "right" and *right plot* are
similar.
Returns
-------
plotly.graph_objs.layout.Grid
"""
return self["grid"]
@grid.setter
def grid(self, val):
self["grid"] = val
# height
# ------
@property
def height(self):
"""
Sets the plot's height (in px).
The 'height' property is a number and may be specified as:
- An int or float in the interval [10, inf]
Returns
-------
int|float
"""
return self["height"]
@height.setter
def height(self, val):
self["height"] = val
# hiddenlabels
# ------------
@property
def hiddenlabels(self):
"""
hiddenlabels is the funnelarea & pie chart analog of
visible:'legendonly' but it can contain many labels, and can
simultaneously hide slices from several pies/funnelarea charts
The 'hiddenlabels' property is an array that may be specified as a tuple,
list, numpy array, or pandas Series
Returns
-------
numpy.ndarray
"""
return self["hiddenlabels"]
@hiddenlabels.setter
def hiddenlabels(self, val):
self["hiddenlabels"] = val
# hiddenlabelssrc
# ---------------
@property
def hiddenlabelssrc(self):
"""
Sets the source reference on Chart Studio Cloud for
`hiddenlabels`.
The 'hiddenlabelssrc' property must be specified as a string or
as a plotly.grid_objs.Column object
Returns
-------
str
"""
return self["hiddenlabelssrc"]
@hiddenlabelssrc.setter
def hiddenlabelssrc(self, val):
self["hiddenlabelssrc"] = val
# hidesources
# -----------
@property
def hidesources(self):
"""
Determines whether or not a text link citing the data source is
placed at the bottom-right cored of the figure. Has only an
effect only on graphs that have been generated via forked
graphs from the Chart Studio Cloud (at https://chart-
studio.plotly.com or on-premise).
The 'hidesources' property must be specified as a bool
(either True, or False)
Returns
-------
bool
"""
return self["hidesources"]
@hidesources.setter
def hidesources(self, val):
self["hidesources"] = val
# hoverdistance
# -------------
@property
def hoverdistance(self):
"""
Sets the default distance (in pixels) to look for data to add
hover labels (-1 means no cutoff, 0 means no looking for data).
This is only a real distance for hovering on point-like
objects, like scatter points. For area-like objects (bars,
scatter fills, etc) hovering is on inside the area and off
outside, but these objects will not supersede hover on point-
like objects in case of conflict.
The 'hoverdistance' property is a integer and may be specified as:
- An int (or float that will be cast to an int)
in the interval [-1, 9223372036854775807]
Returns
-------
int
"""
return self["hoverdistance"]
@hoverdistance.setter
def hoverdistance(self, val):
self["hoverdistance"] = val
# hoverlabel
# ----------
@property
def hoverlabel(self):
"""
The 'hoverlabel' property is an instance of Hoverlabel
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Hoverlabel`
- A dict of string/value properties that will be passed
to the Hoverlabel constructor
Supported dict properties:
align
Sets the horizontal alignment of the text
content within hover label box. Has an effect
only if the hover label text spans more two or
more lines
bgcolor
Sets the background color of all hover labels
on graph
bordercolor
Sets the border color of all hover labels on
graph.
font
Sets the default hover label font used by all
traces on the graph.
grouptitlefont
Sets the font for group titles in hover
(unified modes). Defaults to `hoverlabel.font`.
namelength
Sets the default length (in number of
characters) of the trace name in the hover
labels for all traces. -1 shows the whole name
regardless of length. 0-3 shows the first 0-3
characters, and an integer >3 will show the
whole name if it is less than that many
characters, but if it is longer, will truncate
to `namelength - 3` characters and add an
ellipsis.
Returns
-------
plotly.graph_objs.layout.Hoverlabel
"""
return self["hoverlabel"]
@hoverlabel.setter
def hoverlabel(self, val):
self["hoverlabel"] = val
# hovermode
# ---------
@property
def hovermode(self):
"""
Determines the mode of hover interactions. If "closest", a
single hoverlabel will appear for the "closest" point within
the `hoverdistance`. If "x" (or "y"), multiple hoverlabels will
appear for multiple points at the "closest" x- (or y-)
coordinate within the `hoverdistance`, with the caveat that no
more than one hoverlabel will appear per trace. If *x unified*
(or *y unified*), a single hoverlabel will appear multiple
points at the closest x- (or y-) coordinate within the
`hoverdistance` with the caveat that no more than one
hoverlabel will appear per trace. In this mode, spikelines are
enabled by default perpendicular to the specified axis. If
false, hover interactions are disabled.
The 'hovermode' property is an enumeration that may be specified as:
- One of the following enumeration values:
['x', 'y', 'closest', False, 'x unified', 'y unified']
Returns
-------
Any
"""
return self["hovermode"]
@hovermode.setter
def hovermode(self, val):
self["hovermode"] = val
# iciclecolorway
# --------------
@property
def iciclecolorway(self):
"""
Sets the default icicle slice colors. Defaults to the main
`colorway` used for trace colors. If you specify a new list
here it can still be extended with lighter and darker colors,
see `extendiciclecolors`.
The 'iciclecolorway' property is a colorlist that may be specified
as a tuple, list, one-dimensional numpy array, or pandas Series of valid
color strings
Returns
-------
list
"""
return self["iciclecolorway"]
@iciclecolorway.setter
def iciclecolorway(self, val):
self["iciclecolorway"] = val
# images
# ------
@property
def images(self):
"""
The 'images' property is a tuple of instances of
Image that may be specified as:
- A list or tuple of instances of plotly.graph_objs.layout.Image
- A list or tuple of dicts of string/value properties that
will be passed to the Image constructor
Supported dict properties:
layer
Specifies whether images are drawn below or
above traces. When `xref` and `yref` are both
set to `paper`, image is drawn below the entire
plot area.
name
When used in a template, named items are
created in the output figure in addition to any
items the figure already has in this array. You
can modify these items in the output figure by
making your own item with `templateitemname`
matching this `name` alongside your
modifications (including `visible: false` or
`enabled: false` to hide it). Has no effect
outside of a template.
opacity
Sets the opacity of the image.
sizex
Sets the image container size horizontally. The
image will be sized based on the `position`
value. When `xref` is set to `paper`, units are
sized relative to the plot width. When `xref`
ends with ` domain`, units are sized relative
to the axis width.
sizey
Sets the image container size vertically. The
image will be sized based on the `position`
value. When `yref` is set to `paper`, units are
sized relative to the plot height. When `yref`
ends with ` domain`, units are sized relative
to the axis height.
sizing
Specifies which dimension of the image to
constrain.
source
Specifies the URL of the image to be used. The
URL must be accessible from the domain where
the plot code is run, and can be either
relative or absolute.
templateitemname
Used to refer to a named item in this array in
the template. Named items from the template
will be created even without a matching item in
the input figure, but you can modify one by
making an item with `templateitemname` matching
its `name`, alongside your modifications
(including `visible: false` or `enabled: false`
to hide it). If there is no template or no
matching item, this item will be hidden unless
you explicitly show it with `visible: true`.
visible
Determines whether or not this image is
visible.
x
Sets the image's x position. When `xref` is set
to `paper`, units are sized relative to the
plot height. See `xref` for more info
xanchor
Sets the anchor for the x position
xref
Sets the images's x coordinate axis. If set to
a x axis id (e.g. "x" or "x2"), the `x`
position refers to a x coordinate. If set to
"paper", the `x` position refers to the
distance from the left of the plotting area in
normalized coordinates where 0 (1) corresponds
to the left (right). If set to a x axis ID
followed by "domain" (separated by a space),
the position behaves like for "paper", but
refers to the distance in fractions of the
domain length from the left of the domain of
that axis: e.g., *x2 domain* refers to the
domain of the second x axis and a x position
of 0.5 refers to the point between the left and
the right of the domain of the second x axis.
y
Sets the image's y position. When `yref` is set
to `paper`, units are sized relative to the
plot height. See `yref` for more info
yanchor
Sets the anchor for the y position.
yref
Sets the images's y coordinate axis. If set to
a y axis id (e.g. "y" or "y2"), the `y`
position refers to a y coordinate. If set to
"paper", the `y` position refers to the
distance from the bottom of the plotting area
in normalized coordinates where 0 (1)
corresponds to the bottom (top). If set to a y
axis ID followed by "domain" (separated by a
space), the position behaves like for "paper",
but refers to the distance in fractions of the
domain length from the bottom of the domain of
that axis: e.g., *y2 domain* refers to the
domain of the second y axis and a y position
of 0.5 refers to the point between the bottom
and the top of the domain of the second y axis.
Returns
-------
tuple[plotly.graph_objs.layout.Image]
"""
return self["images"]
@images.setter
def images(self, val):
self["images"] = val
# imagedefaults
# -------------
@property
def imagedefaults(self):
"""
When used in a template (as
layout.template.layout.imagedefaults), sets the default
property values to use for elements of layout.images
The 'imagedefaults' property is an instance of Image
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Image`
- A dict of string/value properties that will be passed
to the Image constructor
Supported dict properties:
Returns
-------
plotly.graph_objs.layout.Image
"""
return self["imagedefaults"]
@imagedefaults.setter
def imagedefaults(self, val):
self["imagedefaults"] = val
# legend
# ------
@property
def legend(self):
"""
The 'legend' property is an instance of Legend
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Legend`
- A dict of string/value properties that will be passed
to the Legend constructor
Supported dict properties:
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.
entrywidth
Sets the width (in px or fraction) of the
legend. Use 0 to size the entry based on the
text width, when `entrywidthmode` is set to
"pixels".
entrywidthmode
Determines what entrywidth means.
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.Titl
e` 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.
visible
Determines whether or not this legend is
visible.
x
Sets the x position with respect to `xref` (in
normalized coordinates) of the legend. When
`xref` is "paper", defaults to 1.02 for
vertical legends and defaults to 0 for
horizontal legends. When `xref` is "container",
defaults to 1 for vertical legends and defaults
to 0 for horizontal legends. Must be between 0
and 1 if `xref` is "container". and between
"-2" and 3 if `xref` is "paper".
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.
xref
Sets the container `x` refers to. "container"
spans the entire `width` of the plot. "paper"
refers to the width of the plotting area only.
y
Sets the y position with respect to `yref` (in
normalized coordinates) of the legend. When
`yref` is "paper", 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. When `yref`
is "container", defaults to 1. Must be between
0 and 1 if `yref` is "container" and between
"-2" and 3 if `yref` is "paper".
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.
yref
Sets the container `y` refers to. "container"
spans the entire `height` of the plot. "paper"
refers to the height of the plotting area only.
Returns
-------
plotly.graph_objs.layout.Legend
"""
return self["legend"]
@legend.setter
def legend(self, val):
self["legend"] = val
# mapbox
# ------
@property
def mapbox(self):
"""
The 'mapbox' property is an instance of Mapbox
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Mapbox`
- A dict of string/value properties that will be passed
to the Mapbox constructor
Supported dict properties:
accesstoken
Sets the mapbox access token to be used for
this mapbox map. Alternatively, the mapbox
access token can be set in the configuration
options under `mapboxAccessToken`. Note that
accessToken are only required when `style` (e.g
with values : basic, streets, outdoors, light,
dark, satellite, satellite-streets ) and/or a
layout layer references the Mapbox server.
bearing
Sets the bearing angle of the map in degrees
counter-clockwise from North (mapbox.bearing).
bounds
:class:`plotly.graph_objects.layout.mapbox.Boun
ds` instance or dict with compatible properties
center
:class:`plotly.graph_objects.layout.mapbox.Cent
er` instance or dict with compatible properties
domain
:class:`plotly.graph_objects.layout.mapbox.Doma
in` instance or dict with compatible properties
layers
A tuple of :class:`plotly.graph_objects.layout.
mapbox.Layer` instances or dicts with
compatible properties
layerdefaults
When used in a template (as
layout.template.layout.mapbox.layerdefaults),
sets the default property values to use for
elements of layout.mapbox.layers
pitch
Sets the pitch angle of the map (in degrees,
where 0 means perpendicular to the surface of
the map) (mapbox.pitch).
style
Defines the map layers that are rendered by
default below the trace layers defined in
`data`, which are themselves by default
rendered below the layers defined in
`layout.mapbox.layers`. These layers can be
defined either explicitly as a Mapbox Style
object which can contain multiple layer
definitions that load data from any public or
private Tile Map Service (TMS or XYZ) or Web
Map Service (WMS) or implicitly by using one of
the built-in style objects which use WMSes
which do not require any access tokens, or by
using a default Mapbox style or custom Mapbox
style URL, both of which require a Mapbox
access token Note that Mapbox access token can
be set in the `accesstoken` attribute or in the
`mapboxAccessToken` config option. Mapbox
Style objects are of the form described in the
Mapbox GL JS documentation available at
https://docs.mapbox.com/mapbox-gl-js/style-spec
The built-in plotly.js styles objects are:
carto-darkmatter, carto-positron, open-street-
map, stamen-terrain, stamen-toner, stamen-
watercolor, white-bg The built-in Mapbox
styles are: basic, streets, outdoors, light,
dark, satellite, satellite-streets Mapbox
style URLs are of the form:
mapbox://mapbox.mapbox--
uirevision
Controls persistence of user-driven changes in
the view: `center`, `zoom`, `bearing`, `pitch`.
Defaults to `layout.uirevision`.
zoom
Sets the zoom level of the map (mapbox.zoom).
Returns
-------
plotly.graph_objs.layout.Mapbox
"""
return self["mapbox"]
@mapbox.setter
def mapbox(self, val):
self["mapbox"] = val
# margin
# ------
@property
def margin(self):
"""
The 'margin' property is an instance of Margin
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Margin`
- A dict of string/value properties that will be passed
to the Margin constructor
Supported dict properties:
autoexpand
Turns on/off margin expansion computations.
Legends, colorbars, updatemenus, sliders, axis
rangeselector and rangeslider are allowed to
push the margins by defaults.
b
Sets the bottom margin (in px).
l
Sets the left margin (in px).
pad
Sets the amount of padding (in px) between the
plotting area and the axis lines
r
Sets the right margin (in px).
t
Sets the top margin (in px).
Returns
-------
plotly.graph_objs.layout.Margin
"""
return self["margin"]
@margin.setter
def margin(self, val):
self["margin"] = val
# meta
# ----
@property
def meta(self):
"""
Assigns extra meta information that can be used in various
`text` attributes. Attributes such as the graph, axis and
colorbar `title.text`, annotation `text` `trace.name` in legend
items, `rangeselector`, `updatemenus` and `sliders` `label`
text all support `meta`. One can access `meta` fields using
template strings: `%{meta[i]}` where `i` is the index of the
`meta` item in question. `meta` can also be an object for
example `{key: value}` which can be accessed %{meta[key]}.
The 'meta' property accepts values of any type
Returns
-------
Any|numpy.ndarray
"""
return self["meta"]
@meta.setter
def meta(self, val):
self["meta"] = val
# metasrc
# -------
@property
def metasrc(self):
"""
Sets the source reference on Chart Studio Cloud for `meta`.
The 'metasrc' property must be specified as a string or
as a plotly.grid_objs.Column object
Returns
-------
str
"""
return self["metasrc"]
@metasrc.setter
def metasrc(self, val):
self["metasrc"] = val
# minreducedheight
# ----------------
@property
def minreducedheight(self):
"""
Minimum height of the plot with margin.automargin applied (in
px)
The 'minreducedheight' property is a number and may be specified as:
- An int or float in the interval [2, inf]
Returns
-------
int|float
"""
return self["minreducedheight"]
@minreducedheight.setter
def minreducedheight(self, val):
self["minreducedheight"] = val
# minreducedwidth
# ---------------
@property
def minreducedwidth(self):
"""
Minimum width of the plot with margin.automargin applied (in
px)
The 'minreducedwidth' property is a number and may be specified as:
- An int or float in the interval [2, inf]
Returns
-------
int|float
"""
return self["minreducedwidth"]
@minreducedwidth.setter
def minreducedwidth(self, val):
self["minreducedwidth"] = val
# modebar
# -------
@property
def modebar(self):
"""
The 'modebar' property is an instance of Modebar
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Modebar`
- A dict of string/value properties that will be passed
to the Modebar constructor
Supported dict properties:
activecolor
Sets the color of the active or hovered on
icons in the modebar.
add
Determines which predefined modebar buttons to
add. Please note that these buttons will only
be shown if they are compatible with all trace
types used in a graph. Similar to
`config.modeBarButtonsToAdd` option. This may
include "v1hovermode", "hoverclosest",
"hovercompare", "togglehover",
"togglespikelines", "drawline", "drawopenpath",
"drawclosedpath", "drawcircle", "drawrect",
"eraseshape".
addsrc
Sets the source reference on Chart Studio Cloud
for `add`.
bgcolor
Sets the background color of the modebar.
color
Sets the color of the icons in the modebar.
orientation
Sets the orientation of the modebar.
remove
Determines which predefined modebar buttons to
remove. Similar to
`config.modeBarButtonsToRemove` option. This
may include "autoScale2d", "autoscale",
"editInChartStudio", "editinchartstudio",
"hoverCompareCartesian", "hovercompare",
"lasso", "lasso2d", "orbitRotation",
"orbitrotation", "pan", "pan2d", "pan3d",
"reset", "resetCameraDefault3d",
"resetCameraLastSave3d", "resetGeo",
"resetSankeyGroup", "resetScale2d",
"resetViewMapbox", "resetViews",
"resetcameradefault", "resetcameralastsave",
"resetsankeygroup", "resetscale", "resetview",
"resetviews", "select", "select2d",
"sendDataToCloud", "senddatatocloud",
"tableRotation", "tablerotation", "toImage",
"toggleHover", "toggleSpikelines",
"togglehover", "togglespikelines", "toimage",
"zoom", "zoom2d", "zoom3d", "zoomIn2d",
"zoomInGeo", "zoomInMapbox", "zoomOut2d",
"zoomOutGeo", "zoomOutMapbox", "zoomin",
"zoomout".
removesrc
Sets the source reference on Chart Studio Cloud
for `remove`.
uirevision
Controls persistence of user-driven changes
related to the modebar, including `hovermode`,
`dragmode`, and `showspikes` at both the root
level and inside subplots. Defaults to
`layout.uirevision`.
Returns
-------
plotly.graph_objs.layout.Modebar
"""
return self["modebar"]
@modebar.setter
def modebar(self, val):
self["modebar"] = val
# newselection
# ------------
@property
def newselection(self):
"""
The 'newselection' property is an instance of Newselection
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Newselection`
- A dict of string/value properties that will be passed
to the Newselection constructor
Supported dict properties:
line
:class:`plotly.graph_objects.layout.newselectio
n.Line` instance or dict with compatible
properties
mode
Describes how a new selection is created. If
`immediate`, a new selection is created after
first mouse up. If `gradual`, a new selection
is not created after first mouse. By adding to
and subtracting from the initial selection,
this option allows declaring extra outlines of
the selection.
Returns
-------
plotly.graph_objs.layout.Newselection
"""
return self["newselection"]
@newselection.setter
def newselection(self, val):
self["newselection"] = val
# newshape
# --------
@property
def newshape(self):
"""
The 'newshape' property is an instance of Newshape
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Newshape`
- A dict of string/value properties that will be passed
to the Newshape constructor
Supported dict properties:
drawdirection
When `dragmode` is set to "drawrect",
"drawline" or "drawcircle" this limits the drag
to be horizontal, vertical or diagonal. Using
"diagonal" there is no limit e.g. in drawing
lines in any direction. "ortho" limits the draw
to be either horizontal or vertical.
"horizontal" allows horizontal extend.
"vertical" allows vertical extend.
fillcolor
Sets the color filling new shapes' interior.
Please note that if using a fillcolor with
alpha greater than half, drag inside the active
shape starts moving the shape underneath,
otherwise a new shape could be started over.
fillrule
Determines the path's interior. For more info
please visit https://developer.mozilla.org/en-
US/docs/Web/SVG/Attribute/fill-rule
label
:class:`plotly.graph_objects.layout.newshape.La
bel` instance or dict with compatible
properties
layer
Specifies whether new shapes are drawn below or
above traces.
legend
Sets the reference to a legend to show new
shape in. References to these legends are
"legend", "legend2", "legend3", etc. Settings
for these legends are set in the layout, under
`layout.legend`, `layout.legend2`, etc.
legendgroup
Sets the legend group for new shape. Traces and
shapes part of the same legend group hide/show
at the same time when toggling legend items.
legendgrouptitle
:class:`plotly.graph_objects.layout.newshape.Le
gendgrouptitle` instance or dict with
compatible properties
legendrank
Sets the legend rank for new shape. Items and
groups with smaller ranks are presented on
top/left side while with "reversed"
`legend.traceorder` they are on bottom/right
side. The default legendrank is 1000, so that
you can use ranks less than 1000 to place
certain items before all unranked items, and
ranks greater than 1000 to go after all
unranked items.
legendwidth
Sets the width (in px or fraction) of the
legend for new shape.
line
:class:`plotly.graph_objects.layout.newshape.Li
ne` instance or dict with compatible properties
name
Sets new shape name. The name appears as the
legend item.
opacity
Sets the opacity of new shapes.
showlegend
Determines whether or not new shape is shown in
the legend.
visible
Determines whether or not new shape is visible.
If "legendonly", the shape is not drawn, but
can appear as a legend item (provided that the
legend itself is visible).
Returns
-------
plotly.graph_objs.layout.Newshape
"""
return self["newshape"]
@newshape.setter
def newshape(self, val):
self["newshape"] = val
# paper_bgcolor
# -------------
@property
def paper_bgcolor(self):
"""
Sets the background color of the paper where the graph is
drawn.
The 'paper_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["paper_bgcolor"]
@paper_bgcolor.setter
def paper_bgcolor(self, val):
self["paper_bgcolor"] = val
# piecolorway
# -----------
@property
def piecolorway(self):
"""
Sets the default pie slice colors. Defaults to the main
`colorway` used for trace colors. If you specify a new list
here it can still be extended with lighter and darker colors,
see `extendpiecolors`.
The 'piecolorway' property is a colorlist that may be specified
as a tuple, list, one-dimensional numpy array, or pandas Series of valid
color strings
Returns
-------
list
"""
return self["piecolorway"]
@piecolorway.setter
def piecolorway(self, val):
self["piecolorway"] = val
# plot_bgcolor
# ------------
@property
def plot_bgcolor(self):
"""
Sets the background color of the plotting area in-between x and
y axes.
The 'plot_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["plot_bgcolor"]
@plot_bgcolor.setter
def plot_bgcolor(self, val):
self["plot_bgcolor"] = val
# polar
# -----
@property
def polar(self):
"""
The 'polar' property is an instance of Polar
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Polar`
- A dict of string/value properties that will be passed
to the Polar constructor
Supported dict properties:
angularaxis
:class:`plotly.graph_objects.layout.polar.Angul
arAxis` instance or dict with compatible
properties
bargap
Sets the gap between bars of adjacent location
coordinates. Values are unitless, they
represent fractions of the minimum difference
in bar positions in the data.
barmode
Determines how bars at the same location
coordinate are displayed on the graph. With
"stack", the bars are stacked on top of one
another With "overlay", the bars are plotted
over one another, you might need to reduce
"opacity" to see multiple bars.
bgcolor
Set the background color of the subplot
domain
:class:`plotly.graph_objects.layout.polar.Domai
n` instance or dict with compatible properties
gridshape
Determines if the radial axis grid lines and
angular axis line are drawn as "circular"
sectors or as "linear" (polygon) sectors. Has
an effect only when the angular axis has `type`
"category". Note that `radialaxis.angle` is
snapped to the angle of the closest vertex when
`gridshape` is "circular" (so that radial axis
scale is the same as the data scale).
hole
Sets the fraction of the radius to cut out of
the polar subplot.
radialaxis
:class:`plotly.graph_objects.layout.polar.Radia
lAxis` instance or dict with compatible
properties
sector
Sets angular span of this polar subplot with
two angles (in degrees). Sector are assumed to
be spanned in the counterclockwise direction
with 0 corresponding to rightmost limit of the
polar subplot.
uirevision
Controls persistence of user-driven changes in
axis attributes, if not overridden in the
individual axes. Defaults to
`layout.uirevision`.
Returns
-------
plotly.graph_objs.layout.Polar
"""
return self["polar"]
@polar.setter
def polar(self, val):
self["polar"] = val
# scattergap
# ----------
@property
def scattergap(self):
"""
Sets the gap (in plot fraction) between scatter points of
adjacent location coordinates. Defaults to `bargap`.
The 'scattergap' property is a number and may be specified as:
- An int or float in the interval [0, 1]
Returns
-------
int|float
"""
return self["scattergap"]
@scattergap.setter
def scattergap(self, val):
self["scattergap"] = val
# scattermode
# -----------
@property
def scattermode(self):
"""
Determines how scatter points at the same location coordinate
are displayed on the graph. With "group", the scatter points
are plotted next to one another centered around the shared
location. With "overlay", the scatter points are plotted over
one another, you might need to reduce "opacity" to see multiple
scatter points.
The 'scattermode' property is an enumeration that may be specified as:
- One of the following enumeration values:
['group', 'overlay']
Returns
-------
Any
"""
return self["scattermode"]
@scattermode.setter
def scattermode(self, val):
self["scattermode"] = val
# scene
# -----
@property
def scene(self):
"""
The 'scene' property is an instance of Scene
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Scene`
- A dict of string/value properties that will be passed
to the Scene constructor
Supported dict properties:
annotations
A tuple of :class:`plotly.graph_objects.layout.
scene.Annotation` instances or dicts with
compatible properties
annotationdefaults
When used in a template (as layout.template.lay
out.scene.annotationdefaults), sets the default
property values to use for elements of
layout.scene.annotations
aspectmode
If "cube", this scene's axes are drawn as a
cube, regardless of the axes' ranges. If
"data", this scene's axes are drawn in
proportion with the axes' ranges. If "manual",
this scene's axes are drawn in proportion with
the input of "aspectratio" (the default
behavior if "aspectratio" is provided). If
"auto", this scene's axes are drawn using the
results of "data" except when one axis is more
than four times the size of the two others,
where in that case the results of "cube" are
used.
aspectratio
Sets this scene's axis aspectratio.
bgcolor
camera
:class:`plotly.graph_objects.layout.scene.Camer
a` instance or dict with compatible properties
domain
:class:`plotly.graph_objects.layout.scene.Domai
n` instance or dict with compatible properties
dragmode
Determines the mode of drag interactions for
this scene.
hovermode
Determines the mode of hover interactions for
this scene.
uirevision
Controls persistence of user-driven changes in
camera attributes. Defaults to
`layout.uirevision`.
xaxis
:class:`plotly.graph_objects.layout.scene.XAxis
` instance or dict with compatible properties
yaxis
:class:`plotly.graph_objects.layout.scene.YAxis
` instance or dict with compatible properties
zaxis
:class:`plotly.graph_objects.layout.scene.ZAxis
` instance or dict with compatible properties
Returns
-------
plotly.graph_objs.layout.Scene
"""
return self["scene"]
@scene.setter
def scene(self, val):
self["scene"] = val
# selectdirection
# ---------------
@property
def selectdirection(self):
"""
When `dragmode` is set to "select", this limits the selection
of the drag to horizontal, vertical or diagonal. "h" only
allows horizontal selection, "v" only vertical, "d" only
diagonal and "any" sets no limit.
The 'selectdirection' property is an enumeration that may be specified as:
- One of the following enumeration values:
['h', 'v', 'd', 'any']
Returns
-------
Any
"""
return self["selectdirection"]
@selectdirection.setter
def selectdirection(self, val):
self["selectdirection"] = val
# selectionrevision
# -----------------
@property
def selectionrevision(self):
"""
Controls persistence of user-driven changes in selected points
from all traces.
The 'selectionrevision' property accepts values of any type
Returns
-------
Any
"""
return self["selectionrevision"]
@selectionrevision.setter
def selectionrevision(self, val):
self["selectionrevision"] = val
# selections
# ----------
@property
def selections(self):
"""
The 'selections' property is a tuple of instances of
Selection that may be specified as:
- A list or tuple of instances of plotly.graph_objs.layout.Selection
- A list or tuple of dicts of string/value properties that
will be passed to the Selection constructor
Supported dict properties:
line
:class:`plotly.graph_objects.layout.selection.L
ine` instance or dict with compatible
properties
name
When used in a template, named items are
created in the output figure in addition to any
items the figure already has in this array. You
can modify these items in the output figure by
making your own item with `templateitemname`
matching this `name` alongside your
modifications (including `visible: false` or
`enabled: false` to hide it). Has no effect
outside of a template.
opacity
Sets the opacity of the selection.
path
For `type` "path" - a valid SVG path similar to
`shapes.path` in data coordinates. Allowed
segments are: M, L and Z.
templateitemname
Used to refer to a named item in this array in
the template. Named items from the template
will be created even without a matching item in
the input figure, but you can modify one by
making an item with `templateitemname` matching
its `name`, alongside your modifications
(including `visible: false` or `enabled: false`
to hide it). If there is no template or no
matching item, this item will be hidden unless
you explicitly show it with `visible: true`.
type
Specifies the selection type to be drawn. If
"rect", a rectangle is drawn linking
(`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`) and
(`x0`,`y1`). If "path", draw a custom SVG path
using `path`.
x0
Sets the selection's starting x position.
x1
Sets the selection's end x position.
xref
Sets the selection's x coordinate axis. If set
to a x axis id (e.g. "x" or "x2"), the `x`
position refers to a x coordinate. If set to
"paper", the `x` position refers to the
distance from the left of the plotting area in
normalized coordinates where 0 (1) corresponds
to the left (right). If set to a x axis ID
followed by "domain" (separated by a space),
the position behaves like for "paper", but
refers to the distance in fractions of the
domain length from the left of the domain of
that axis: e.g., *x2 domain* refers to the
domain of the second x axis and a x position
of 0.5 refers to the point between the left and
the right of the domain of the second x axis.
y0
Sets the selection's starting y position.
y1
Sets the selection's end y position.
yref
Sets the selection's x coordinate axis. If set
to a y axis id (e.g. "y" or "y2"), the `y`
position refers to a y coordinate. If set to
"paper", the `y` position refers to the
distance from the bottom of the plotting area
in normalized coordinates where 0 (1)
corresponds to the bottom (top). If set to a y
axis ID followed by "domain" (separated by a
space), the position behaves like for "paper",
but refers to the distance in fractions of the
domain length from the bottom of the domain of
that axis: e.g., *y2 domain* refers to the
domain of the second y axis and a y position
of 0.5 refers to the point between the bottom
and the top of the domain of the second y axis.
Returns
-------
tuple[plotly.graph_objs.layout.Selection]
"""
return self["selections"]
@selections.setter
def selections(self, val):
self["selections"] = val
# selectiondefaults
# -----------------
@property
def selectiondefaults(self):
"""
When used in a template (as
layout.template.layout.selectiondefaults), sets the default
property values to use for elements of layout.selections
The 'selectiondefaults' property is an instance of Selection
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Selection`
- A dict of string/value properties that will be passed
to the Selection constructor
Supported dict properties:
Returns
-------
plotly.graph_objs.layout.Selection
"""
return self["selectiondefaults"]
@selectiondefaults.setter
def selectiondefaults(self, val):
self["selectiondefaults"] = val
# separators
# ----------
@property
def separators(self):
"""
Sets the decimal and thousand separators. For example, *. *
puts a '.' before decimals and a space between thousands. In
English locales, dflt is ".," but other locales may alter this
default.
The 'separators' property is a string and must be specified as:
- A string
- A number that will be converted to a string
Returns
-------
str
"""
return self["separators"]
@separators.setter
def separators(self, val):
self["separators"] = val
# shapes
# ------
@property
def shapes(self):
"""
The 'shapes' property is a tuple of instances of
Shape that may be specified as:
- A list or tuple of instances of plotly.graph_objs.layout.Shape
- A list or tuple of dicts of string/value properties that
will be passed to the Shape constructor
Supported dict properties:
editable
Determines whether the shape could be activated
for edit or not. Has no effect when the older
editable shapes mode is enabled via
`config.editable` or
`config.edits.shapePosition`.
fillcolor
Sets the color filling the shape's interior.
Only applies to closed shapes.
fillrule
Determines which regions of complex paths
constitute the interior. For more info please
visit https://developer.mozilla.org/en-
US/docs/Web/SVG/Attribute/fill-rule
label
:class:`plotly.graph_objects.layout.shape.Label
` instance or dict with compatible properties
layer
Specifies whether shapes are drawn below or
above traces.
legend
Sets the reference to a legend to show this
shape in. References to these legends are
"legend", "legend2", "legend3", etc. Settings
for these legends are set in the layout, under
`layout.legend`, `layout.legend2`, etc.
legendgroup
Sets the legend group for this shape. Traces
and shapes part of the same legend group
hide/show at the same time when toggling legend
items.
legendgrouptitle
:class:`plotly.graph_objects.layout.shape.Legen
dgrouptitle` instance or dict with compatible
properties
legendrank
Sets the legend rank for this shape. Items and
groups with smaller ranks are presented on
top/left side while with "reversed"
`legend.traceorder` they are on bottom/right
side. The default legendrank is 1000, so that
you can use ranks less than 1000 to place
certain items before all unranked items, and
ranks greater than 1000 to go after all
unranked items. When having unranked or equal
rank items shapes would be displayed after
traces i.e. according to their order in data
and layout.
legendwidth
Sets the width (in px or fraction) of the
legend for this shape.
line
:class:`plotly.graph_objects.layout.shape.Line`
instance or dict with compatible properties
name
When used in a template, named items are
created in the output figure in addition to any
items the figure already has in this array. You
can modify these items in the output figure by
making your own item with `templateitemname`
matching this `name` alongside your
modifications (including `visible: false` or
`enabled: false` to hide it). Has no effect
outside of a template.
opacity
Sets the opacity of the shape.
path
For `type` "path" - a valid SVG path with the
pixel values replaced by data values in
`xsizemode`/`ysizemode` being "scaled" and
taken unmodified as pixels relative to
`xanchor` and `yanchor` in case of "pixel" size
mode. There are a few restrictions / quirks
only absolute instructions, not relative. So
the allowed segments are: M, L, H, V, Q, C, T,
S, and Z arcs (A) are not allowed because
radius rx and ry are relative. In the future we
could consider supporting relative commands,
but we would have to decide on how to handle
date and log axes. Note that even as is, Q and
C Bezier paths that are smooth on linear axes
may not be smooth on log, and vice versa. no
chained "polybezier" commands - specify the
segment type for each one. On category axes,
values are numbers scaled to the serial numbers
of categories because using the categories
themselves there would be no way to describe
fractional positions On data axes: because
space and T are both normal components of path
strings, we can't use either to separate date
from time parts. Therefore we'll use underscore
for this purpose: 2015-02-21_13:45:56.789
showlegend
Determines whether or not this shape is shown
in the legend.
templateitemname
Used to refer to a named item in this array in
the template. Named items from the template
will be created even without a matching item in
the input figure, but you can modify one by
making an item with `templateitemname` matching
its `name`, alongside your modifications
(including `visible: false` or `enabled: false`
to hide it). If there is no template or no
matching item, this item will be hidden unless
you explicitly show it with `visible: true`.
type
Specifies the shape type to be drawn. If
"line", a line is drawn from (`x0`,`y0`) to
(`x1`,`y1`) with respect to the axes' sizing
mode. If "circle", a circle is drawn from
((`x0`+`x1`)/2, (`y0`+`y1`)/2)) with radius
(|(`x0`+`x1`)/2 - `x0`|, |(`y0`+`y1`)/2
-`y0`)|) with respect to the axes' sizing mode.
If "rect", a rectangle is drawn linking
(`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`),
(`x0`,`y1`), (`x0`,`y0`) with respect to the
axes' sizing mode. If "path", draw a custom SVG
path using `path`. with respect to the axes'
sizing mode.
visible
Determines whether or not this shape is
visible. If "legendonly", the shape is not
drawn, but can appear as a legend item
(provided that the legend itself is visible).
x0
Sets the shape's starting x position. See
`type` and `xsizemode` for more info.
x1
Sets the shape's end x position. See `type` and
`xsizemode` for more info.
xanchor
Only relevant in conjunction with `xsizemode`
set to "pixel". Specifies the anchor point on
the x axis to which `x0`, `x1` and x
coordinates within `path` are relative to. E.g.
useful to attach a pixel sized shape to a
certain data value. No effect when `xsizemode`
not set to "pixel".
xref
Sets the shape's x coordinate axis. If set to a
x axis id (e.g. "x" or "x2"), the `x` position
refers to a x coordinate. If set to "paper",
the `x` position refers to the distance from
the left of the plotting area in normalized
coordinates where 0 (1) corresponds to the left
(right). If set to a x axis ID followed by
"domain" (separated by a space), the position
behaves like for "paper", but refers to the
distance in fractions of the domain length from
the left of the domain of that axis: e.g., *x2
domain* refers to the domain of the second x
axis and a x position of 0.5 refers to the
point between the left and the right of the
domain of the second x axis.
xsizemode
Sets the shapes's sizing mode along the x axis.
If set to "scaled", `x0`, `x1` and x
coordinates within `path` refer to data values
on the x axis or a fraction of the plot area's
width (`xref` set to "paper"). If set to
"pixel", `xanchor` specifies the x position in
terms of data or plot fraction but `x0`, `x1`
and x coordinates within `path` are pixels
relative to `xanchor`. This way, the shape can
have a fixed width while maintaining a position
relative to data or plot fraction.
y0
Sets the shape's starting y position. See
`type` and `ysizemode` for more info.
y1
Sets the shape's end y position. See `type` and
`ysizemode` for more info.
yanchor
Only relevant in conjunction with `ysizemode`
set to "pixel". Specifies the anchor point on
the y axis to which `y0`, `y1` and y
coordinates within `path` are relative to. E.g.
useful to attach a pixel sized shape to a
certain data value. No effect when `ysizemode`
not set to "pixel".
yref
Sets the shape's y coordinate axis. If set to a
y axis id (e.g. "y" or "y2"), the `y` position
refers to a y coordinate. If set to "paper",
the `y` position refers to the distance from
the bottom of the plotting area in normalized
coordinates where 0 (1) corresponds to the
bottom (top). If set to a y axis ID followed by
"domain" (separated by a space), the position
behaves like for "paper", but refers to the
distance in fractions of the domain length from
the bottom of the domain of that axis: e.g.,
*y2 domain* refers to the domain of the second
y axis and a y position of 0.5 refers to the
point between the bottom and the top of the
domain of the second y axis.
ysizemode
Sets the shapes's sizing mode along the y axis.
If set to "scaled", `y0`, `y1` and y
coordinates within `path` refer to data values
on the y axis or a fraction of the plot area's
height (`yref` set to "paper"). If set to
"pixel", `yanchor` specifies the y position in
terms of data or plot fraction but `y0`, `y1`
and y coordinates within `path` are pixels
relative to `yanchor`. This way, the shape can
have a fixed height while maintaining a
position relative to data or plot fraction.
Returns
-------
tuple[plotly.graph_objs.layout.Shape]
"""
return self["shapes"]
@shapes.setter
def shapes(self, val):
self["shapes"] = val
# shapedefaults
# -------------
@property
def shapedefaults(self):
"""
When used in a template (as
layout.template.layout.shapedefaults), sets the default
property values to use for elements of layout.shapes
The 'shapedefaults' property is an instance of Shape
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Shape`
- A dict of string/value properties that will be passed
to the Shape constructor
Supported dict properties:
Returns
-------
plotly.graph_objs.layout.Shape
"""
return self["shapedefaults"]
@shapedefaults.setter
def shapedefaults(self, val):
self["shapedefaults"] = val
# showlegend
# ----------
@property
def showlegend(self):
"""
Determines whether or not a legend is drawn. Default is `true`
if there is a trace to show and any of these: a) Two or more
traces would by default be shown in the legend. b) One pie
trace is shown in the legend. c) One trace is explicitly given
with `showlegend: true`.
The 'showlegend' property must be specified as a bool
(either True, or False)
Returns
-------
bool
"""
return self["showlegend"]
@showlegend.setter
def showlegend(self, val):
self["showlegend"] = val
# sliders
# -------
@property
def sliders(self):
"""
The 'sliders' property is a tuple of instances of
Slider that may be specified as:
- A list or tuple of instances of plotly.graph_objs.layout.Slider
- A list or tuple of dicts of string/value properties that
will be passed to the Slider constructor
Supported dict properties:
active
Determines which button (by index starting from
0) is considered active.
activebgcolor
Sets the background color of the slider grip
while dragging.
bgcolor
Sets the background color of the slider.
bordercolor
Sets the color of the border enclosing the
slider.
borderwidth
Sets the width (in px) of the border enclosing
the slider.
currentvalue
:class:`plotly.graph_objects.layout.slider.Curr
entvalue` instance or dict with compatible
properties
font
Sets the font of the slider step labels.
len
Sets the length of the slider This measure
excludes the padding of both ends. That is, the
slider's length is this length minus the
padding on both ends.
lenmode
Determines whether this slider length is set in
units of plot "fraction" or in *pixels. Use
`len` to set the value.
minorticklen
Sets the length in pixels of minor step tick
marks
name
When used in a template, named items are
created in the output figure in addition to any
items the figure already has in this array. You
can modify these items in the output figure by
making your own item with `templateitemname`
matching this `name` alongside your
modifications (including `visible: false` or
`enabled: false` to hide it). Has no effect
outside of a template.
pad
Set the padding of the slider component along
each side.
steps
A tuple of :class:`plotly.graph_objects.layout.
slider.Step` instances or dicts with compatible
properties
stepdefaults
When used in a template (as
layout.template.layout.slider.stepdefaults),
sets the default property values to use for
elements of layout.slider.steps
templateitemname
Used to refer to a named item in this array in
the template. Named items from the template
will be created even without a matching item in
the input figure, but you can modify one by
making an item with `templateitemname` matching
its `name`, alongside your modifications
(including `visible: false` or `enabled: false`
to hide it). If there is no template or no
matching item, this item will be hidden unless
you explicitly show it with `visible: true`.
tickcolor
Sets the color of the border enclosing the
slider.
ticklen
Sets the length in pixels of step tick marks
tickwidth
Sets the tick width (in px).
transition
:class:`plotly.graph_objects.layout.slider.Tran
sition` instance or dict with compatible
properties
visible
Determines whether or not the slider is
visible.
x
Sets the x position (in normalized coordinates)
of the slider.
xanchor
Sets the slider's horizontal position anchor.
This anchor binds the `x` position to the
"left", "center" or "right" of the range
selector.
y
Sets the y position (in normalized coordinates)
of the slider.
yanchor
Sets the slider's vertical position anchor This
anchor binds the `y` position to the "top",
"middle" or "bottom" of the range selector.
Returns
-------
tuple[plotly.graph_objs.layout.Slider]
"""
return self["sliders"]
@sliders.setter
def sliders(self, val):
self["sliders"] = val
# sliderdefaults
# --------------
@property
def sliderdefaults(self):
"""
When used in a template (as
layout.template.layout.sliderdefaults), sets the default
property values to use for elements of layout.sliders
The 'sliderdefaults' property is an instance of Slider
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Slider`
- A dict of string/value properties that will be passed
to the Slider constructor
Supported dict properties:
Returns
-------
plotly.graph_objs.layout.Slider
"""
return self["sliderdefaults"]
@sliderdefaults.setter
def sliderdefaults(self, val):
self["sliderdefaults"] = val
# smith
# -----
@property
def smith(self):
"""
The 'smith' property is an instance of Smith
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Smith`
- A dict of string/value properties that will be passed
to the Smith constructor
Supported dict properties:
bgcolor
Set the background color of the subplot
domain
:class:`plotly.graph_objects.layout.smith.Domai
n` instance or dict with compatible properties
imaginaryaxis
:class:`plotly.graph_objects.layout.smith.Imagi
naryaxis` instance or dict with compatible
properties
realaxis
:class:`plotly.graph_objects.layout.smith.Reala
xis` instance or dict with compatible
properties
Returns
-------
plotly.graph_objs.layout.Smith
"""
return self["smith"]
@smith.setter
def smith(self, val):
self["smith"] = val
# spikedistance
# -------------
@property
def spikedistance(self):
"""
Sets the default distance (in pixels) to look for data to draw
spikelines to (-1 means no cutoff, 0 means no looking for
data). As with hoverdistance, distance does not apply to area-
like objects. In addition, some objects can be hovered on but
will not generate spikelines, such as scatter fills.
The 'spikedistance' property is a integer and may be specified as:
- An int (or float that will be cast to an int)
in the interval [-1, 9223372036854775807]
Returns
-------
int
"""
return self["spikedistance"]
@spikedistance.setter
def spikedistance(self, val):
self["spikedistance"] = val
# sunburstcolorway
# ----------------
@property
def sunburstcolorway(self):
"""
Sets the default sunburst slice colors. Defaults to the main
`colorway` used for trace colors. If you specify a new list
here it can still be extended with lighter and darker colors,
see `extendsunburstcolors`.
The 'sunburstcolorway' property is a colorlist that may be specified
as a tuple, list, one-dimensional numpy array, or pandas Series of valid
color strings
Returns
-------
list
"""
return self["sunburstcolorway"]
@sunburstcolorway.setter
def sunburstcolorway(self, val):
self["sunburstcolorway"] = val
# template
# --------
@property
def template(self):
"""
Default attributes to be applied to the plot. This should be a
dict with format: `{'layout': layoutTemplate, 'data':
{trace_type: [traceTemplate, ...], ...}}` where
`layoutTemplate` is a dict matching the structure of
`figure.layout` and `traceTemplate` is a dict matching the
structure of the trace with type `trace_type` (e.g. 'scatter').
Alternatively, this may be specified as an instance of
plotly.graph_objs.layout.Template. Trace templates are applied
cyclically to traces of each type. Container arrays (eg
`annotations`) have special handling: An object ending in
`defaults` (eg `annotationdefaults`) is applied to each array
item. But if an item has a `templateitemname` key we look in
the template array for an item with matching `name` and apply
that instead. If no matching `name` is found we mark the item
invisible. Any named template item not referenced is appended
to the end of the array, so this can be used to add a watermark
annotation or a logo image, for example. To omit one of these
items on the plot, make an item with matching
`templateitemname` and `visible: false`.
The 'template' property is an instance of Template
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Template`
- A dict of string/value properties that will be passed
to the Template constructor
Supported dict properties:
data
:class:`plotly.graph_objects.layout.template.Da
ta` instance or dict with compatible properties
layout
:class:`plotly.graph_objects.Layout` instance
or dict with compatible properties
- The name of a registered template where current registered templates
are stored in the plotly.io.templates configuration object. The names
of all registered templates can be retrieved with:
>>> import plotly.io as pio
>>> list(pio.templates) # doctest: +ELLIPSIS
['ggplot2', 'seaborn', 'simple_white', 'plotly', 'plotly_white', ...]
- A string containing multiple registered template names, joined on '+'
characters (e.g. 'template1+template2'). In this case the resulting
template is computed by merging together the collection of registered
templates
Returns
-------
plotly.graph_objs.layout.Template
"""
return self["template"]
@template.setter
def template(self, val):
self["template"] = val
# ternary
# -------
@property
def ternary(self):
"""
The 'ternary' property is an instance of Ternary
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Ternary`
- A dict of string/value properties that will be passed
to the Ternary constructor
Supported dict properties:
aaxis
:class:`plotly.graph_objects.layout.ternary.Aax
is` instance or dict with compatible properties
baxis
:class:`plotly.graph_objects.layout.ternary.Bax
is` instance or dict with compatible properties
bgcolor
Set the background color of the subplot
caxis
:class:`plotly.graph_objects.layout.ternary.Cax
is` instance or dict with compatible properties
domain
:class:`plotly.graph_objects.layout.ternary.Dom
ain` instance or dict with compatible
properties
sum
The number each triplet should sum to, and the
maximum range of each axis
uirevision
Controls persistence of user-driven changes in
axis `min` and `title`, if not overridden in
the individual axes. Defaults to
`layout.uirevision`.
Returns
-------
plotly.graph_objs.layout.Ternary
"""
return self["ternary"]
@ternary.setter
def ternary(self, val):
self["ternary"] = 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.Title`
- A dict of string/value properties that will be passed
to the Title constructor
Supported dict properties:
automargin
Determines whether the title can automatically
push the figure margins. If `yref='paper'` then
the margin will expand to ensure that the title
doesn’t overlap with the edges of the
container. If `yref='container'` then the
margins will ensure that the title doesn’t
overlap with the plot area, tick labels, and
axis titles. If `automargin=true` and the
margins need to be expanded, then y will be set
to a default 1 and yanchor will be set to an
appropriate default to ensure that minimal
margin space is needed. Note that when
`yref='paper'`, only 1 or 0 are allowed y
values. Invalid values will be reset to the
default 1.
font
Sets the title font. Note that the title's font
used to be customized by the now deprecated
`titlefont` attribute.
pad
Sets the padding of the title. Each padding
value only applies when the corresponding
`xanchor`/`yanchor` value is set accordingly.
E.g. for left padding to take effect, `xanchor`
must be set to "left". The same rule applies if
`xanchor`/`yanchor` is determined
automatically. Padding is muted if the
respective anchor value is "middle*/*center".
text
Sets the plot's title. Note that before the
existence of `title.text`, the title's contents
used to be defined as the `title` attribute
itself. This behavior has been deprecated.
x
Sets the x position with respect to `xref` in
normalized coordinates from 0 (left) to 1
(right).
xanchor
Sets the title's horizontal alignment with
respect to its x position. "left" means that
the title starts at x, "right" means that the
title ends at x and "center" means that the
title's center is at x. "auto" divides `xref`
by three and calculates the `xanchor` value
automatically based on the value of `x`.
xref
Sets the container `x` refers to. "container"
spans the entire `width` of the plot. "paper"
refers to the width of the plotting area only.
y
Sets the y position with respect to `yref` in
normalized coordinates from 0 (bottom) to 1
(top). "auto" places the baseline of the title
onto the vertical center of the top margin.
yanchor
Sets the title's vertical alignment with
respect to its y position. "top" means that the
title's cap line is at y, "bottom" means that
the title's baseline is at y and "middle" means
that the title's midline is at y. "auto"
divides `yref` by three and calculates the
`yanchor` value automatically based on the
value of `y`.
yref
Sets the container `y` refers to. "container"
spans the entire `height` of the plot. "paper"
refers to the height of the plotting area only.
Returns
-------
plotly.graph_objs.layout.Title
"""
return self["title"]
@title.setter
def title(self, val):
self["title"] = val
# titlefont
# ---------
@property
def titlefont(self):
"""
Deprecated: Please use layout.title.font instead. Sets the
title font. Note that the title's font used to be customized by
the now deprecated `titlefont` attribute.
The 'font' property is an instance of Font
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.title.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
-------
"""
return self["titlefont"]
@titlefont.setter
def titlefont(self, val):
self["titlefont"] = val
# transition
# ----------
@property
def transition(self):
"""
Sets transition options used during Plotly.react updates.
The 'transition' property is an instance of Transition
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Transition`
- A dict of string/value properties that will be passed
to the Transition constructor
Supported dict properties:
duration
The duration of the transition, in
milliseconds. If equal to zero, updates are
synchronous.
easing
The easing function used for the transition
ordering
Determines whether the figure's layout or
traces smoothly transitions during updates that
make both traces and layout change.
Returns
-------
plotly.graph_objs.layout.Transition
"""
return self["transition"]
@transition.setter
def transition(self, val):
self["transition"] = val
# treemapcolorway
# ---------------
@property
def treemapcolorway(self):
"""
Sets the default treemap slice colors. Defaults to the main
`colorway` used for trace colors. If you specify a new list
here it can still be extended with lighter and darker colors,
see `extendtreemapcolors`.
The 'treemapcolorway' property is a colorlist that may be specified
as a tuple, list, one-dimensional numpy array, or pandas Series of valid
color strings
Returns
-------
list
"""
return self["treemapcolorway"]
@treemapcolorway.setter
def treemapcolorway(self, val):
self["treemapcolorway"] = val
# uirevision
# ----------
@property
def uirevision(self):
"""
Used to allow user interactions with the plot to persist after
`Plotly.react` calls that are unaware of these interactions. If
`uirevision` is omitted, or if it is given and it changed from
the previous `Plotly.react` call, the exact new figure is used.
If `uirevision` is truthy and did NOT change, any attribute
that has been affected by user interactions and did not receive
a different value in the new figure will keep the interaction
value. `layout.uirevision` attribute serves as the default for
`uirevision` attributes in various sub-containers. For finer
control you can set these sub-attributes directly. For example,
if your app separately controls the data on the x and y axes
you might set `xaxis.uirevision=*time*` and
`yaxis.uirevision=*cost*`. Then if only the y data is changed,
you can update `yaxis.uirevision=*quantity*` and the y axis
range will reset but the x axis range will retain any user-
driven zoom.
The 'uirevision' property accepts values of any type
Returns
-------
Any
"""
return self["uirevision"]
@uirevision.setter
def uirevision(self, val):
self["uirevision"] = val
# uniformtext
# -----------
@property
def uniformtext(self):
"""
The 'uniformtext' property is an instance of Uniformtext
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Uniformtext`
- A dict of string/value properties that will be passed
to the Uniformtext constructor
Supported dict properties:
minsize
Sets the minimum text size between traces of
the same type.
mode
Determines how the font size for various text
elements are uniformed between each trace type.
If the computed text sizes were smaller than
the minimum size defined by
`uniformtext.minsize` using "hide" option hides
the text; and using "show" option shows the
text without further downscaling. Please note
that if the size defined by `minsize` is
greater than the font size defined by trace,
then the `minsize` is used.
Returns
-------
plotly.graph_objs.layout.Uniformtext
"""
return self["uniformtext"]
@uniformtext.setter
def uniformtext(self, val):
self["uniformtext"] = val
# updatemenus
# -----------
@property
def updatemenus(self):
"""
The 'updatemenus' property is a tuple of instances of
Updatemenu that may be specified as:
- A list or tuple of instances of plotly.graph_objs.layout.Updatemenu
- A list or tuple of dicts of string/value properties that
will be passed to the Updatemenu constructor
Supported dict properties:
active
Determines which button (by index starting from
0) is considered active.
bgcolor
Sets the background color of the update menu
buttons.
bordercolor
Sets the color of the border enclosing the
update menu.
borderwidth
Sets the width (in px) of the border enclosing
the update menu.
buttons
A tuple of :class:`plotly.graph_objects.layout.
updatemenu.Button` instances or dicts with
compatible properties
buttondefaults
When used in a template (as layout.template.lay
out.updatemenu.buttondefaults), sets the
default property values to use for elements of
layout.updatemenu.buttons
direction
Determines the direction in which the buttons
are laid out, whether in a dropdown menu or a
row/column of buttons. For `left` and `up`, the
buttons will still appear in left-to-right or
top-to-bottom order respectively.
font
Sets the font of the update menu button text.
name
When used in a template, named items are
created in the output figure in addition to any
items the figure already has in this array. You
can modify these items in the output figure by
making your own item with `templateitemname`
matching this `name` alongside your
modifications (including `visible: false` or
`enabled: false` to hide it). Has no effect
outside of a template.
pad
Sets the padding around the buttons or dropdown
menu.
showactive
Highlights active dropdown item or active
button if true.
templateitemname
Used to refer to a named item in this array in
the template. Named items from the template
will be created even without a matching item in
the input figure, but you can modify one by
making an item with `templateitemname` matching
its `name`, alongside your modifications
(including `visible: false` or `enabled: false`
to hide it). If there is no template or no
matching item, this item will be hidden unless
you explicitly show it with `visible: true`.
type
Determines whether the buttons are accessible
via a dropdown menu or whether the buttons are
stacked horizontally or vertically
visible
Determines whether or not the update menu is
visible.
x
Sets the x position (in normalized coordinates)
of the update menu.
xanchor
Sets the update menu's horizontal position
anchor. This anchor binds the `x` position to
the "left", "center" or "right" of the range
selector.
y
Sets the y position (in normalized coordinates)
of the update menu.
yanchor
Sets the update menu's vertical position anchor
This anchor binds the `y` position to the
"top", "middle" or "bottom" of the range
selector.
Returns
-------
tuple[plotly.graph_objs.layout.Updatemenu]
"""
return self["updatemenus"]
@updatemenus.setter
def updatemenus(self, val):
self["updatemenus"] = val
# updatemenudefaults
# ------------------
@property
def updatemenudefaults(self):
"""
When used in a template (as
layout.template.layout.updatemenudefaults), sets the default
property values to use for elements of layout.updatemenus
The 'updatemenudefaults' property is an instance of Updatemenu
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.Updatemenu`
- A dict of string/value properties that will be passed
to the Updatemenu constructor
Supported dict properties:
Returns
-------
plotly.graph_objs.layout.Updatemenu
"""
return self["updatemenudefaults"]
@updatemenudefaults.setter
def updatemenudefaults(self, val):
self["updatemenudefaults"] = val
# violingap
# ---------
@property
def violingap(self):
"""
Sets the gap (in plot fraction) between violins of adjacent
location coordinates. Has no effect on traces that have "width"
set.
The 'violingap' property is a number and may be specified as:
- An int or float in the interval [0, 1]
Returns
-------
int|float
"""
return self["violingap"]
@violingap.setter
def violingap(self, val):
self["violingap"] = val
# violingroupgap
# --------------
@property
def violingroupgap(self):
"""
Sets the gap (in plot fraction) between violins of the same
location coordinate. Has no effect on traces that have "width"
set.
The 'violingroupgap' property is a number and may be specified as:
- An int or float in the interval [0, 1]
Returns
-------
int|float
"""
return self["violingroupgap"]
@violingroupgap.setter
def violingroupgap(self, val):
self["violingroupgap"] = val
# violinmode
# ----------
@property
def violinmode(self):
"""
Determines how violins at the same location coordinate are
displayed on the graph. If "group", the violins are plotted
next to one another centered around the shared location. If
"overlay", the violins are plotted over one another, you might
need to set "opacity" to see them multiple violins. Has no
effect on traces that have "width" set.
The 'violinmode' property is an enumeration that may be specified as:
- One of the following enumeration values:
['group', 'overlay']
Returns
-------
Any
"""
return self["violinmode"]
@violinmode.setter
def violinmode(self, val):
self["violinmode"] = val
# waterfallgap
# ------------
@property
def waterfallgap(self):
"""
Sets the gap (in plot fraction) between bars of adjacent
location coordinates.
The 'waterfallgap' property is a number and may be specified as:
- An int or float in the interval [0, 1]
Returns
-------
int|float
"""
return self["waterfallgap"]
@waterfallgap.setter
def waterfallgap(self, val):
self["waterfallgap"] = val
# waterfallgroupgap
# -----------------
@property
def waterfallgroupgap(self):
"""
Sets the gap (in plot fraction) between bars of the same
location coordinate.
The 'waterfallgroupgap' property is a number and may be specified as:
- An int or float in the interval [0, 1]
Returns
-------
int|float
"""
return self["waterfallgroupgap"]
@waterfallgroupgap.setter
def waterfallgroupgap(self, val):
self["waterfallgroupgap"] = val
# waterfallmode
# -------------
@property
def waterfallmode(self):
"""
Determines how bars at the same location coordinate are
displayed on the graph. With "group", the bars are plotted next
to one another centered around the shared location. With
"overlay", the bars are plotted over one another, you might
need to reduce "opacity" to see multiple bars.
The 'waterfallmode' property is an enumeration that may be specified as:
- One of the following enumeration values:
['group', 'overlay']
Returns
-------
Any
"""
return self["waterfallmode"]
@waterfallmode.setter
def waterfallmode(self, val):
self["waterfallmode"] = val
# width
# -----
@property
def width(self):
"""
Sets the plot's width (in px).
The 'width' property is a number and may be specified as:
- An int or float in the interval [10, inf]
Returns
-------
int|float
"""
return self["width"]
@width.setter
def width(self, val):
self["width"] = val
# xaxis
# -----
@property
def xaxis(self):
"""
The 'xaxis' property is an instance of XAxis
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.XAxis`
- A dict of string/value properties that will be passed
to the XAxis constructor
Supported dict properties:
anchor
If set to an opposite-letter axis id (e.g.
`x2`, `y`), this axis is bound to the
corresponding opposite-letter axis. If set to
"free", this axis' position is determined by
`position`.
automargin
Determines whether long tick labels
automatically grow the figure margins.
autorange
Determines whether or not the range of this
axis is computed in relation to the input data.
See `rangemode` for more info. If `range` is
provided and it has a value for both the lower
and upper bound, `autorange` is set to False.
Using "min" applies autorange only to set the
minimum. Using "max" applies autorange only to
set the maximum. Using *min reversed* applies
autorange only to set the minimum on a reversed
axis. Using *max reversed* applies autorange
only to set the maximum on a reversed axis.
Using "reversed" applies autorange on both ends
and reverses the axis direction.
autorangeoptions
:class:`plotly.graph_objects.layout.xaxis.Autor
angeoptions` instance or dict with compatible
properties
autotypenumbers
Using "strict" a numeric string in trace data
is not converted to a number. Using *convert
types* a numeric string in trace data may be
treated as a number during automatic axis
`type` detection. Defaults to
layout.autotypenumbers.
calendar
Sets the calendar system to use for `range` and
`tick0` if this is a date axis. This does not
set the calendar for interpreting data on this
axis, that's specified in the trace or via the
global `layout.calendar`
categoryarray
Sets the order in which categories on this axis
appear. Only has an effect if `categoryorder`
is set to "array". Used with `categoryorder`.
categoryarraysrc
Sets the source reference on Chart Studio Cloud
for `categoryarray`.
categoryorder
Specifies the ordering logic for the case of
categorical variables. By default, plotly uses
"trace", which specifies the order that is
present in the data supplied. Set
`categoryorder` to *category ascending* or
*category descending* if order should be
determined by the alphanumerical order of the
category names. Set `categoryorder` to "array"
to derive the ordering from the attribute
`categoryarray`. If a category is not found in
the `categoryarray` array, the sorting behavior
for that attribute will be identical to the
"trace" mode. The unspecified categories will
follow the categories in `categoryarray`. Set
`categoryorder` to *total ascending* or *total
descending* if order should be determined by
the numerical order of the values. Similarly,
the order can be determined by the min, max,
sum, mean or median of all the values.
color
Sets default for all colors associated with
this axis all at once: line, font, tick, and
grid colors. Grid color is lightened by
blending this with the plot background
Individual pieces can override this.
constrain
If this axis needs to be compressed (either due
to its own `scaleanchor` and `scaleratio` or
those of the other axis), determines how that
happens: by increasing the "range", or by
decreasing the "domain". Default is "domain"
for axes containing image traces, "range"
otherwise.
constraintoward
If this axis needs to be compressed (either due
to its own `scaleanchor` and `scaleratio` or
those of the other axis), determines which
direction we push the originally specified plot
area. Options are "left", "center" (default),
and "right" for x axes, and "top", "middle"
(default), and "bottom" for y axes.
dividercolor
Sets the color of the dividers Only has an
effect on "multicategory" axes.
dividerwidth
Sets the width (in px) of the dividers Only has
an effect on "multicategory" axes.
domain
Sets the domain of this axis (in plot
fraction).
dtick
Sets the step in-between ticks on this axis.
Use with `tick0`. Must be a positive number, or
special strings available to "log" and "date"
axes. If the axis `type` is "log", then ticks
are set every 10^(n*dtick) where n is the tick
number. For example, to set a tick mark at 1,
10, 100, 1000, ... set dtick to 1. To set tick
marks at 1, 100, 10000, ... set dtick to 2. To
set tick marks at 1, 5, 25, 125, 625, 3125, ...
set dtick to log_10(5), or 0.69897000433. "log"
has several special values; "L", where `f`
is a positive number, gives ticks linearly
spaced in value (but not position). For example
`tick0` = 0.1, `dtick` = "L0.5" will put ticks
at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10
plus small digits between, use "D1" (all
digits) or "D2" (only 2 and 5). `tick0` is
ignored for "D1" and "D2". If the axis `type`
is "date", then you must convert the time to
milliseconds. For example, to set the interval
between ticks to one day, set `dtick` to
86400000.0. "date" also has special values
"M" gives ticks spaced by a number of
months. `n` must be a positive integer. To set
ticks on the 15th of every third month, set
`tick0` to "2000-01-15" and `dtick` to "M3". To
set ticks every 4 years, set `dtick` to "M48"
exponentformat
Determines a formatting rule for the tick
exponents. For example, consider the number
1,000,000,000. If "none", it appears as
1,000,000,000. If "e", 1e+9. If "E", 1E+9. If
"power", 1x10^9 (with 9 in a super script). If
"SI", 1G. If "B", 1B.
fixedrange
Determines whether or not this axis is zoom-
able. If true, then zoom is disabled.
gridcolor
Sets the color of the grid lines.
griddash
Sets the dash style of lines. Set to a dash
type string ("solid", "dot", "dash",
"longdash", "dashdot", or "longdashdot") or a
dash length list in px (eg "5px,10px,2px,2px").
gridwidth
Sets the width (in px) of the grid lines.
hoverformat
Sets the hover text formatting rule using d3
formatting mini-languages which are very
similar to those in Python. For numbers, see: h
ttps://github.com/d3/d3-format/tree/v1.4.5#d3-
format. And for dates see:
https://github.com/d3/d3-time-
format/tree/v2.2.3#locale_format. We add two
items to d3's date formatter: "%h" for half of
the year as a decimal number as well as "%{n}f"
for fractional seconds with n digits. For
example, *2016-10-13 09:15:23.456* with
tickformat "%H~%M~%S.%2f" would display
"09~15~23.46"
insiderange
Could be used to set the desired inside range
of this axis (excluding the labels) when
`ticklabelposition` of the anchored axis has
"inside". Not implemented for axes with `type`
"log". This would be ignored when `range` is
provided.
labelalias
Replacement text for specific tick or hover
labels. For example using {US: 'USA', CA:
'Canada'} changes US to USA and CA to Canada.
The labels we would have shown must match the
keys exactly, after adding any tickprefix or
ticksuffix. For negative numbers the minus sign
symbol used (U+2212) is wider than the regular
ascii dash. That means you need to use −1
instead of -1. labelalias can be used with any
axis type, and both keys (if needed) and values
(if desired) can include html-like tags or
MathJax.
layer
Sets the layer on which this axis is displayed.
If *above traces*, this axis is displayed above
all the subplot's traces If *below traces*,
this axis is displayed below all the subplot's
traces, but above the grid lines. Useful when
used together with scatter-like traces with
`cliponaxis` set to False to show markers
and/or text nodes above this axis.
linecolor
Sets the axis line color.
linewidth
Sets the width (in px) of the axis line.
matches
If set to another axis id (e.g. `x2`, `y`), the
range of this axis will match the range of the
corresponding axis in data-coordinates space.
Moreover, matching axes share auto-range
values, category lists and histogram auto-bins.
Note that setting axes simultaneously in both a
`scaleanchor` and a `matches` constraint is
currently forbidden. Moreover, note that
matching axes must have the same `type`.
maxallowed
Determines the maximum range of this axis.
minallowed
Determines the minimum range of this axis.
minexponent
Hide SI prefix for 10^n if |n| is below this
number. This only has an effect when
`tickformat` is "SI" or "B".
minor
:class:`plotly.graph_objects.layout.xaxis.Minor
` instance or dict with compatible properties
mirror
Determines if the axis lines or/and ticks are
mirrored to the opposite side of the plotting
area. If True, the axis lines are mirrored. If
"ticks", the axis lines and ticks are mirrored.
If False, mirroring is disable. If "all", axis
lines are mirrored on all shared-axes subplots.
If "allticks", axis lines and ticks are
mirrored on all shared-axes subplots.
nticks
Specifies the maximum number of ticks for the
particular axis. The actual number of ticks
will be chosen automatically to be less than or
equal to `nticks`. Has an effect only if
`tickmode` is set to "auto".
overlaying
If set a same-letter axis id, this axis is
overlaid on top of the corresponding same-
letter axis, with traces and axes visible for
both axes. If False, this axis does not overlay
any same-letter axes. In this case, for axes
with overlapping domains only the highest-
numbered axis will be visible.
position
Sets the position of this axis in the plotting
space (in normalized coordinates). Only has an
effect if `anchor` is set to "free".
range
Sets the range of this axis. If the axis `type`
is "log", then you must take the log of your
desired range (e.g. to set the range from 1 to
100, set the range from 0 to 2). If the axis
`type` is "date", it should be date strings,
like date data, though Date objects and unix
milliseconds will be accepted and converted to
strings. If the axis `type` is "category", it
should be numbers, using the scale where each
category is assigned a serial number from zero
in the order it appears. Leaving either or both
elements `null` impacts the default
`autorange`.
rangebreaks
A tuple of :class:`plotly.graph_objects.layout.
xaxis.Rangebreak` instances or dicts with
compatible properties
rangebreakdefaults
When used in a template (as layout.template.lay
out.xaxis.rangebreakdefaults), sets the default
property values to use for elements of
layout.xaxis.rangebreaks
rangemode
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.
rangeselector
:class:`plotly.graph_objects.layout.xaxis.Range
selector` instance or dict with compatible
properties
rangeslider
:class:`plotly.graph_objects.layout.xaxis.Range
slider` instance or dict with compatible
properties
scaleanchor
If set to another axis id (e.g. `x2`, `y`), the
range of this axis changes together with the
range of the corresponding axis such that the
scale of pixels per unit is in a constant
ratio. Both axes are still zoomable, but when
you zoom one, the other will zoom the same
amount, keeping a fixed midpoint. `constrain`
and `constraintoward` determine how we enforce
the constraint. You can chain these, ie `yaxis:
{scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}`
but you can only link axes of the same `type`.
The linked axis can have the opposite letter
(to constrain the aspect ratio) or the same
letter (to match scales across subplots). Loops
(`yaxis: {scaleanchor: *x*}, xaxis:
{scaleanchor: *y*}` or longer) are redundant
and the last constraint encountered will be
ignored to avoid possible inconsistent
constraints via `scaleratio`. Note that setting
axes simultaneously in both a `scaleanchor` and
a `matches` constraint is currently forbidden.
Setting `false` allows to remove a default
constraint (occasionally, you may need to
prevent a default `scaleanchor` constraint from
being applied, eg. when having an image trace
`yaxis: {scaleanchor: "x"}` is set
automatically in order for pixels to be
rendered as squares, setting `yaxis:
{scaleanchor: false}` allows to remove the
constraint).
scaleratio
If this axis is linked to another by
`scaleanchor`, this determines the pixel to
unit scale ratio. For example, if this value is
10, then every unit on this axis spans 10 times
the number of pixels as a unit on the linked
axis. Use this for example to create an
elevation profile where the vertical scale is
exaggerated a fixed amount with respect to the
horizontal.
separatethousands
If "true", even 4-digit integers are separated
showdividers
Determines whether or not a dividers are drawn
between the category levels of this axis. Only
has an effect on "multicategory" axes.
showexponent
If "all", all exponents are shown besides their
significands. If "first", only the exponent of
the first tick is shown. If "last", only the
exponent of the last tick is shown. If "none",
no exponents appear.
showgrid
Determines whether or not grid lines are drawn.
If True, the grid lines are drawn at every tick
mark.
showline
Determines whether or not a line bounding this
axis is drawn.
showspikes
Determines whether or not spikes (aka
droplines) are drawn for this axis. Note: This
only takes affect when hovermode = closest
showticklabels
Determines whether or not the tick labels are
drawn.
showtickprefix
If "all", all tick labels are displayed with a
prefix. If "first", only the first tick is
displayed with a prefix. If "last", only the
last tick is displayed with a suffix. If
"none", tick prefixes are hidden.
showticksuffix
Same as `showtickprefix` but for tick suffixes.
side
Determines whether a x (y) axis is positioned
at the "bottom" ("left") or "top" ("right") of
the plotting area.
spikecolor
Sets the spike color. If undefined, will use
the series color
spikedash
Sets the dash style of lines. Set to a dash
type string ("solid", "dot", "dash",
"longdash", "dashdot", or "longdashdot") or a
dash length list in px (eg "5px,10px,2px,2px").
spikemode
Determines the drawing mode for the spike line
If "toaxis", the line is drawn from the data
point to the axis the series is plotted on. If
"across", the line is drawn across the entire
plot area, and supercedes "toaxis". If
"marker", then a marker dot is drawn on the
axis the series is plotted on
spikesnap
Determines whether spikelines are stuck to the
cursor or to the closest datapoints.
spikethickness
Sets the width (in px) of the zero line.
tick0
Sets the placement of the first tick on this
axis. Use with `dtick`. If the axis `type` is
"log", then you must take the log of your
starting tick (e.g. to set the starting tick to
100, set the `tick0` to 2) except when
`dtick`=*L* (see `dtick` for more info). If
the axis `type` is "date", it should be a date
string, like date data. If the axis `type` is
"category", it should be a number, using the
scale where each category is assigned a serial
number from zero in the order it appears.
tickangle
Sets the angle of the tick labels with respect
to the horizontal. For example, a `tickangle`
of -90 draws the tick labels vertically.
tickcolor
Sets the tick color.
tickfont
Sets the tick font.
tickformat
Sets the tick label formatting rule using d3
formatting mini-languages which are very
similar to those in Python. For numbers, see: h
ttps://github.com/d3/d3-format/tree/v1.4.5#d3-
format. And for dates see:
https://github.com/d3/d3-time-
format/tree/v2.2.3#locale_format. We add two
items to d3's date formatter: "%h" for half of
the year as a decimal number as well as "%{n}f"
for fractional seconds with n digits. For
example, *2016-10-13 09:15:23.456* with
tickformat "%H~%M~%S.%2f" would display
"09~15~23.46"
tickformatstops
A tuple of :class:`plotly.graph_objects.layout.
xaxis.Tickformatstop` instances or dicts with
compatible properties
tickformatstopdefaults
When used in a template (as layout.template.lay
out.xaxis.tickformatstopdefaults), sets the
default property values to use for elements of
layout.xaxis.tickformatstops
ticklabelmode
Determines where tick labels are drawn with
respect to their corresponding ticks and grid
lines. Only has an effect for axes of `type`
"date" When set to "period", tick labels are
drawn in the middle of the period between
ticks.
ticklabeloverflow
Determines how we handle tick labels that would
overflow either the graph div or the domain of
the axis. The default value for inside tick
labels is *hide past domain*. Otherwise on
"category" and "multicategory" axes the default
is "allow". In other cases the default is *hide
past div*.
ticklabelposition
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.
ticklabelstep
Sets the spacing between tick labels as
compared to the spacing between ticks. A value
of 1 (default) means each tick gets a label. A
value of 2 means shows every 2nd label. A
larger value n means only every nth tick is
labeled. `tick0` determines which labels are
shown. Not implemented for axes with `type`
"log" or "multicategory", or when `tickmode` is
"array".
ticklen
Sets the tick length (in px).
tickmode
Sets the tick mode for this axis. If "auto",
the number of ticks is set via `nticks`. If
"linear", the placement of the ticks is
determined by a starting position `tick0` and a
tick step `dtick` ("linear" is the default
value if `tick0` and `dtick` are provided). If
"array", the placement of the ticks is set via
`tickvals` and the tick text is `ticktext`.
("array" is the default value if `tickvals` is
provided). If "sync", the number of ticks will
sync with the overlayed axis set by
`overlaying` property.
tickprefix
Sets a tick label prefix.
ticks
Determines whether ticks are drawn or not. If
"", this axis' ticks are not drawn. If
"outside" ("inside"), this axis' are drawn
outside (inside) the axis lines.
tickson
Determines where ticks and grid lines are drawn
with respect to their corresponding tick
labels. Only has an effect for axes of `type`
"category" or "multicategory". When set to
"boundaries", ticks and grid lines are drawn
half a category to the left/bottom of labels.
ticksuffix
Sets a tick label suffix.
ticktext
Sets the text displayed at the ticks position
via `tickvals`. Only has an effect if
`tickmode` is set to "array". Used with
`tickvals`.
ticktextsrc
Sets the source reference on Chart Studio Cloud
for `ticktext`.
tickvals
Sets the values at which ticks on this axis
appear. Only has an effect if `tickmode` is set
to "array". Used with `ticktext`.
tickvalssrc
Sets the source reference on Chart Studio Cloud
for `tickvals`.
tickwidth
Sets the tick width (in px).
title
:class:`plotly.graph_objects.layout.xaxis.Title
` instance or dict with compatible properties
titlefont
Deprecated: Please use layout.xaxis.title.font
instead. Sets this axis' title font. Note that
the title's font used to be customized by the
now deprecated `titlefont` attribute.
type
Sets the axis type. By default, plotly attempts
to determined the axis type by looking into the
data of the traces that referenced the axis in
question.
uirevision
Controls persistence of user-driven changes in
axis `range`, `autorange`, and `title` if in
`editable: true` configuration. Defaults to
`layout.uirevision`.
visible
A single toggle to hide the axis while
preserving interaction like dragging. Default
is true when a cheater plot is present on the
axis, otherwise false
zeroline
Determines whether or not a line is drawn at
along the 0 value of this axis. If True, the
zero line is drawn on top of the grid lines.
zerolinecolor
Sets the line color of the zero line.
zerolinewidth
Sets the width (in px) of the zero line.
Returns
-------
plotly.graph_objs.layout.XAxis
"""
return self["xaxis"]
@xaxis.setter
def xaxis(self, val):
self["xaxis"] = val
# yaxis
# -----
@property
def yaxis(self):
"""
The 'yaxis' property is an instance of YAxis
that may be specified as:
- An instance of :class:`plotly.graph_objs.layout.YAxis`
- A dict of string/value properties that will be passed
to the YAxis constructor
Supported dict properties:
anchor
If set to an opposite-letter axis id (e.g.
`x2`, `y`), this axis is bound to the
corresponding opposite-letter axis. If set to
"free", this axis' position is determined by
`position`.
automargin
Determines whether long tick labels
automatically grow the figure margins.
autorange
Determines whether or not the range of this
axis is computed in relation to the input data.
See `rangemode` for more info. If `range` is
provided and it has a value for both the lower
and upper bound, `autorange` is set to False.
Using "min" applies autorange only to set the
minimum. Using "max" applies autorange only to
set the maximum. Using *min reversed* applies
autorange only to set the minimum on a reversed
axis. Using *max reversed* applies autorange
only to set the maximum on a reversed axis.
Using "reversed" applies autorange on both ends
and reverses the axis direction.
autorangeoptions
:class:`plotly.graph_objects.layout.yaxis.Autor
angeoptions` instance or dict with compatible
properties
autoshift
Automatically reposition the axis to avoid
overlap with other axes with the same
`overlaying` value. This repositioning will
account for any `shift` amount applied to other
axes on the same side with `autoshift` is set
to true. Only has an effect if `anchor` is set
to "free".
autotypenumbers
Using "strict" a numeric string in trace data
is not converted to a number. Using *convert
types* a numeric string in trace data may be
treated as a number during automatic axis
`type` detection. Defaults to
layout.autotypenumbers.
calendar
Sets the calendar system to use for `range` and
`tick0` if this is a date axis. This does not
set the calendar for interpreting data on this
axis, that's specified in the trace or via the
global `layout.calendar`
categoryarray
Sets the order in which categories on this axis
appear. Only has an effect if `categoryorder`
is set to "array". Used with `categoryorder`.
categoryarraysrc
Sets the source reference on Chart Studio Cloud
for `categoryarray`.
categoryorder
Specifies the ordering logic for the case of
categorical variables. By default, plotly uses
"trace", which specifies the order that is
present in the data supplied. Set
`categoryorder` to *category ascending* or
*category descending* if order should be
determined by the alphanumerical order of the
category names. Set `categoryorder` to "array"
to derive the ordering from the attribute
`categoryarray`. If a category is not found in
the `categoryarray` array, the sorting behavior
for that attribute will be identical to the
"trace" mode. The unspecified categories will
follow the categories in `categoryarray`. Set
`categoryorder` to *total ascending* or *total
descending* if order should be determined by
the numerical order of the values. Similarly,
the order can be determined by the min, max,
sum, mean or median of all the values.
color
Sets default for all colors associated with
this axis all at once: line, font, tick, and
grid colors. Grid color is lightened by
blending this with the plot background
Individual pieces can override this.
constrain
If this axis needs to be compressed (either due
to its own `scaleanchor` and `scaleratio` or
those of the other axis), determines how that
happens: by increasing the "range", or by
decreasing the "domain". Default is "domain"
for axes containing image traces, "range"
otherwise.
constraintoward
If this axis needs to be compressed (either due
to its own `scaleanchor` and `scaleratio` or
those of the other axis), determines which
direction we push the originally specified plot
area. Options are "left", "center" (default),
and "right" for x axes, and "top", "middle"
(default), and "bottom" for y axes.
dividercolor
Sets the color of the dividers Only has an
effect on "multicategory" axes.
dividerwidth
Sets the width (in px) of the dividers Only has
an effect on "multicategory" axes.
domain
Sets the domain of this axis (in plot
fraction).
dtick
Sets the step in-between ticks on this axis.
Use with `tick0`. Must be a positive number, or
special strings available to "log" and "date"
axes. If the axis `type` is "log", then ticks
are set every 10^(n*dtick) where n is the tick
number. For example, to set a tick mark at 1,
10, 100, 1000, ... set dtick to 1. To set tick
marks at 1, 100, 10000, ... set dtick to 2. To
set tick marks at 1, 5, 25, 125, 625, 3125, ...
set dtick to log_10(5), or 0.69897000433. "log"
has several special values; "L", where `f`
is a positive number, gives ticks linearly
spaced in value (but not position). For example
`tick0` = 0.1, `dtick` = "L0.5" will put ticks
at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10
plus small digits between, use "D1" (all
digits) or "D2" (only 2 and 5). `tick0` is
ignored for "D1" and "D2". If the axis `type`
is "date", then you must convert the time to
milliseconds. For example, to set the interval
between ticks to one day, set `dtick` to
86400000.0. "date" also has special values
"M" gives ticks spaced by a number of
months. `n` must be a positive integer. To set
ticks on the 15th of every third month, set
`tick0` to "2000-01-15" and `dtick` to "M3". To
set ticks every 4 years, set `dtick` to "M48"
exponentformat
Determines a formatting rule for the tick
exponents. For example, consider the number
1,000,000,000. If "none", it appears as
1,000,000,000. If "e", 1e+9. If "E", 1E+9. If
"power", 1x10^9 (with 9 in a super script). If
"SI", 1G. If "B", 1B.
fixedrange
Determines whether or not this axis is zoom-
able. If true, then zoom is disabled.
gridcolor
Sets the color of the grid lines.
griddash
Sets the dash style of lines. Set to a dash
type string ("solid", "dot", "dash",
"longdash", "dashdot", or "longdashdot") or a
dash length list in px (eg "5px,10px,2px,2px").
gridwidth
Sets the width (in px) of the grid lines.
hoverformat
Sets the hover text formatting rule using d3
formatting mini-languages which are very
similar to those in Python. For numbers, see: h
ttps://github.com/d3/d3-format/tree/v1.4.5#d3-
format. And for dates see:
https://github.com/d3/d3-time-
format/tree/v2.2.3#locale_format. We add two
items to d3's date formatter: "%h" for half of
the year as a decimal number as well as "%{n}f"
for fractional seconds with n digits. For
example, *2016-10-13 09:15:23.456* with
tickformat "%H~%M~%S.%2f" would display
"09~15~23.46"
insiderange
Could be used to set the desired inside range
of this axis (excluding the labels) when
`ticklabelposition` of the anchored axis has
"inside". Not implemented for axes with `type`
"log". This would be ignored when `range` is
provided.
labelalias
Replacement text for specific tick or hover
labels. For example using {US: 'USA', CA:
'Canada'} changes US to USA and CA to Canada.
The labels we would have shown must match the
keys exactly, after adding any tickprefix or
ticksuffix. For negative numbers the minus sign
symbol used (U+2212) is wider than the regular
ascii dash. That means you need to use −1
instead of -1. labelalias can be used with any
axis type, and both keys (if needed) and values
(if desired) can include html-like tags or
MathJax.
layer
Sets the layer on which this axis is displayed.
If *above traces*, this axis is displayed above
all the subplot's traces If *below traces*,
this axis is displayed below all the subplot's
traces, but above the grid lines. Useful when
used together with scatter-like traces with
`cliponaxis` set to False to show markers
and/or text nodes above this axis.
linecolor
Sets the axis line color.
linewidth
Sets the width (in px) of the axis line.
matches
If set to another axis id (e.g. `x2`, `y`), the
range of this axis will match the range of the
corresponding axis in data-coordinates space.
Moreover, matching axes share auto-range
values, category lists and histogram auto-bins.
Note that setting axes simultaneously in both a
`scaleanchor` and a `matches` constraint is
currently forbidden. Moreover, note that
matching axes must have the same `type`.
maxallowed
Determines the maximum range of this axis.
minallowed
Determines the minimum range of this axis.
minexponent
Hide SI prefix for 10^n if |n| is below this
number. This only has an effect when
`tickformat` is "SI" or "B".
minor
:class:`plotly.graph_objects.layout.yaxis.Minor
` instance or dict with compatible properties
mirror
Determines if the axis lines or/and ticks are
mirrored to the opposite side of the plotting
area. If True, the axis lines are mirrored. If
"ticks", the axis lines and ticks are mirrored.
If False, mirroring is disable. If "all", axis
lines are mirrored on all shared-axes subplots.
If "allticks", axis lines and ticks are
mirrored on all shared-axes subplots.
nticks
Specifies the maximum number of ticks for the
particular axis. The actual number of ticks
will be chosen automatically to be less than or
equal to `nticks`. Has an effect only if
`tickmode` is set to "auto".
overlaying
If set a same-letter axis id, this axis is
overlaid on top of the corresponding same-
letter axis, with traces and axes visible for
both axes. If False, this axis does not overlay
any same-letter axes. In this case, for axes
with overlapping domains only the highest-
numbered axis will be visible.
position
Sets the position of this axis in the plotting
space (in normalized coordinates). Only has an
effect if `anchor` is set to "free".
range
Sets the range of this axis. If the axis `type`
is "log", then you must take the log of your
desired range (e.g. to set the range from 1 to
100, set the range from 0 to 2). If the axis
`type` is "date", it should be date strings,
like date data, though Date objects and unix
milliseconds will be accepted and converted to
strings. If the axis `type` is "category", it
should be numbers, using the scale where each
category is assigned a serial number from zero
in the order it appears. Leaving either or both
elements `null` impacts the default
`autorange`.
rangebreaks
A tuple of :class:`plotly.graph_objects.layout.
yaxis.Rangebreak` instances or dicts with
compatible properties
rangebreakdefaults
When used in a template (as layout.template.lay
out.yaxis.rangebreakdefaults), sets the default
property values to use for elements of
layout.yaxis.rangebreaks
rangemode
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.
scaleanchor
If set to another axis id (e.g. `x2`, `y`), the
range of this axis changes together with the
range of the corresponding axis such that the
scale of pixels per unit is in a constant
ratio. Both axes are still zoomable, but when
you zoom one, the other will zoom the same
amount, keeping a fixed midpoint. `constrain`
and `constraintoward` determine how we enforce
the constraint. You can chain these, ie `yaxis:
{scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}`
but you can only link axes of the same `type`.
The linked axis can have the opposite letter
(to constrain the aspect ratio) or the same
letter (to match scales across subplots). Loops
(`yaxis: {scaleanchor: *x*}, xaxis:
{scaleanchor: *y*}` or longer) are redundant
and the last constraint encountered will be
ignored to avoid possible inconsistent
constraints via `scaleratio`. Note that setting
axes simultaneously in both a `scaleanchor` and
a `matches` constraint is currently forbidden.
Setting `false` allows to remove a default
constraint (occasionally, you may need to
prevent a default `scaleanchor` constraint from
being applied, eg. when having an image trace
`yaxis: {scaleanchor: "x"}` is set
automatically in order for pixels to be
rendered as squares, setting `yaxis:
{scaleanchor: false}` allows to remove the
constraint).
scaleratio
If this axis is linked to another by
`scaleanchor`, this determines the pixel to
unit scale ratio. For example, if this value is
10, then every unit on this axis spans 10 times
the number of pixels as a unit on the linked
axis. Use this for example to create an
elevation profile where the vertical scale is
exaggerated a fixed amount with respect to the
horizontal.
separatethousands
If "true", even 4-digit integers are separated
shift
Moves the axis a given number of pixels from
where it would have been otherwise. Accepts
both positive and negative values, which will
shift the axis either right or left,
respectively. If `autoshift` is set to true,
then this defaults to a padding of -3 if `side`
is set to "left". and defaults to +3 if `side`
is set to "right". Defaults to 0 if `autoshift`
is set to false. Only has an effect if `anchor`
is set to "free".
showdividers
Determines whether or not a dividers are drawn
between the category levels of this axis. Only
has an effect on "multicategory" axes.
showexponent
If "all", all exponents are shown besides their
significands. If "first", only the exponent of
the first tick is shown. If "last", only the
exponent of the last tick is shown. If "none",
no exponents appear.
showgrid
Determines whether or not grid lines are drawn.
If True, the grid lines are drawn at every tick
mark.
showline
Determines whether or not a line bounding this
axis is drawn.
showspikes
Determines whether or not spikes (aka
droplines) are drawn for this axis. Note: This
only takes affect when hovermode = closest
showticklabels
Determines whether or not the tick labels are
drawn.
showtickprefix
If "all", all tick labels are displayed with a
prefix. If "first", only the first tick is
displayed with a prefix. If "last", only the
last tick is displayed with a suffix. If
"none", tick prefixes are hidden.
showticksuffix
Same as `showtickprefix` but for tick suffixes.
side
Determines whether a x (y) axis is positioned
at the "bottom" ("left") or "top" ("right") of
the plotting area.
spikecolor
Sets the spike color. If undefined, will use
the series color
spikedash
Sets the dash style of lines. Set to a dash
type string ("solid", "dot", "dash",
"longdash", "dashdot", or "longdashdot") or a
dash length list in px (eg "5px,10px,2px,2px").
spikemode
Determines the drawing mode for the spike line
If "toaxis", the line is drawn from the data
point to the axis the series is plotted on. If
"across", the line is drawn across the entire
plot area, and supercedes "toaxis". If
"marker", then a marker dot is drawn on the
axis the series is plotted on
spikesnap
Determines whether spikelines are stuck to the
cursor or to the closest datapoints.
spikethickness
Sets the width (in px) of the zero line.
tick0
Sets the placement of the first tick on this
axis. Use with `dtick`. If the axis `type` is
"log", then you must take the log of your
starting tick (e.g. to set the starting tick to
100, set the `tick0` to 2) except when
`dtick`=*L* (see `dtick` for more info). If
the axis `type` is "date", it should be a date
string, like date data. If the axis `type` is
"category", it should be a number, using the
scale where each category is assigned a serial
number from zero in the order it appears.
tickangle
Sets the angle of the tick labels with respect
to the horizontal. For example, a `tickangle`
of -90 draws the tick labels vertically.
tickcolor
Sets the tick color.
tickfont
Sets the tick font.
tickformat
Sets the tick label formatting rule using d3
formatting mini-languages which are very
similar to those in Python. For numbers, see: h
ttps://github.com/d3/d3-format/tree/v1.4.5#d3-
format. And for dates see:
https://github.com/d3/d3-time-
format/tree/v2.2.3#locale_format. We add two
items to d3's date formatter: "%h" for half of
the year as a decimal number as well as "%{n}f"
for fractional seconds with n digits. For
example, *2016-10-13 09:15:23.456* with
tickformat "%H~%M~%S.%2f" would display
"09~15~23.46"
tickformatstops
A tuple of :class:`plotly.graph_objects.layout.
yaxis.Tickformatstop` instances or dicts with
compatible properties
tickformatstopdefaults
When used in a template (as layout.template.lay
out.yaxis.tickformatstopdefaults), sets the
default property values to use for elements of
layout.yaxis.tickformatstops
ticklabelmode
Determines where tick labels are drawn with
respect to their corresponding ticks and grid
lines. Only has an effect for axes of `type`
"date" When set to "period", tick labels are
drawn in the middle of the period between
ticks.
ticklabeloverflow
Determines how we handle tick labels that would
overflow either the graph div or the domain of
the axis. The default value for inside tick
labels is *hide past domain*. Otherwise on
"category" and "multicategory" axes the default
is "allow". In other cases the default is *hide
past div*.
ticklabelposition
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.
ticklabelstep
Sets the spacing between tick labels as
compared to the spacing between ticks. A value
of 1 (default) means each tick gets a label. A
value of 2 means shows every 2nd label. A
larger value n means only every nth tick is
labeled. `tick0` determines which labels are
shown. Not implemented for axes with `type`
"log" or "multicategory", or when `tickmode` is
"array".
ticklen
Sets the tick length (in px).
tickmode
Sets the tick mode for this axis. If "auto",
the number of ticks is set via `nticks`. If
"linear", the placement of the ticks is
determined by a starting position `tick0` and a
tick step `dtick` ("linear" is the default
value if `tick0` and `dtick` are provided). If
"array", the placement of the ticks is set via
`tickvals` and the tick text is `ticktext`.
("array" is the default value if `tickvals` is
provided). If "sync", the number of ticks will
sync with the overlayed axis set by
`overlaying` property.
tickprefix
Sets a tick label prefix.
ticks
Determines whether ticks are drawn or not. If
"", this axis' ticks are not drawn. If
"outside" ("inside"), this axis' are drawn
outside (inside) the axis lines.
tickson
Determines where ticks and grid lines are drawn
with respect to their corresponding tick
labels. Only has an effect for axes of `type`
"category" or "multicategory". When set to
"boundaries", ticks and grid lines are drawn
half a category to the left/bottom of labels.
ticksuffix
Sets a tick label suffix.
ticktext
Sets the text displayed at the ticks position
via `tickvals`. Only has an effect if
`tickmode` is set to "array". Used with
`tickvals`.
ticktextsrc
Sets the source reference on Chart Studio Cloud
for `ticktext`.
tickvals
Sets the values at which ticks on this axis
appear. Only has an effect if `tickmode` is set
to "array". Used with `ticktext`.
tickvalssrc
Sets the source reference on Chart Studio Cloud
for `tickvals`.
tickwidth
Sets the tick width (in px).
title
:class:`plotly.graph_objects.layout.yaxis.Title
` instance or dict with compatible properties
titlefont
Deprecated: Please use layout.yaxis.title.font
instead. Sets this axis' title font. Note that
the title's font used to be customized by the
now deprecated `titlefont` attribute.
type
Sets the axis type. By default, plotly attempts
to determined the axis type by looking into the
data of the traces that referenced the axis in
question.
uirevision
Controls persistence of user-driven changes in
axis `range`, `autorange`, and `title` if in
`editable: true` configuration. Defaults to
`layout.uirevision`.
visible
A single toggle to hide the axis while
preserving interaction like dragging. Default
is true when a cheater plot is present on the
axis, otherwise false
zeroline
Determines whether or not a line is drawn at
along the 0 value of this axis. If True, the
zero line is drawn on top of the grid lines.
zerolinecolor
Sets the line color of the zero line.
zerolinewidth
Sets the width (in px) of the zero line.
Returns
-------
plotly.graph_objs.layout.YAxis
"""
return self["yaxis"]
@yaxis.setter
def yaxis(self, val):
self["yaxis"] = val
# Self properties description
# ---------------------------
@property
def _prop_descriptions(self):
return """\
activeselection
:class:`plotly.graph_objects.layout.Activeselection`
instance or dict with compatible properties
activeshape
:class:`plotly.graph_objects.layout.Activeshape`
instance or dict with compatible properties
annotations
A tuple of
:class:`plotly.graph_objects.layout.Annotation`
instances or dicts with compatible properties
annotationdefaults
When used in a template (as
layout.template.layout.annotationdefaults), sets the
default property values to use for elements of
layout.annotations
autosize
Determines whether or not a layout width or height that
has been left undefined by the user is initialized on
each relayout. Note that, regardless of this attribute,
an undefined layout width or height is always
initialized on the first call to plot.
autotypenumbers
Using "strict" a numeric string in trace data is not
converted to a number. Using *convert types* a numeric
string in trace data may be treated as a number during
automatic axis `type` detection. This is the default
value; however it could be overridden for individual
axes.
bargap
Sets the gap (in plot fraction) between bars of
adjacent location coordinates.
bargroupgap
Sets the gap (in plot fraction) between bars of the
same location coordinate.
barmode
Determines how bars at the same location coordinate are
displayed on the graph. With "stack", the bars are
stacked on top of one another With "relative", the bars
are stacked on top of one another, with negative values
below the axis, positive values above With "group", the
bars are plotted next to one another centered around
the shared location. With "overlay", the bars are
plotted over one another, you might need to reduce
"opacity" to see multiple bars.
barnorm
Sets the normalization for bar traces on the graph.
With "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.
boxgap
Sets the gap (in plot fraction) between boxes of
adjacent location coordinates. Has no effect on traces
that have "width" set.
boxgroupgap
Sets the gap (in plot fraction) between boxes of the
same location coordinate. Has no effect on traces that
have "width" set.
boxmode
Determines how boxes at the same location coordinate
are displayed on the graph. If "group", the boxes are
plotted next to one another centered around the shared
location. If "overlay", the boxes are plotted over one
another, you might need to set "opacity" to see them
multiple boxes. Has no effect on traces that have
"width" set.
calendar
Sets the default calendar system to use for
interpreting and displaying dates throughout the plot.
clickmode
Determines the mode of single click interactions.
"event" is the default value and emits the
`plotly_click` event. In addition this mode emits the
`plotly_selected` event in drag modes "lasso" and
"select", but with no event data attached (kept for
compatibility reasons). The "select" flag enables
selecting single data points via click. This mode also
supports persistent selections, meaning that pressing
Shift while clicking, adds to / subtracts from an
existing selection. "select" with `hovermode`: "x" can
be confusing, consider explicitly setting `hovermode`:
"closest" when using this feature. Selection events are
sent accordingly as long as "event" flag is set as
well. When the "event" flag is missing, `plotly_click`
and `plotly_selected` events are not fired.
coloraxis
:class:`plotly.graph_objects.layout.Coloraxis` instance
or dict with compatible properties
colorscale
:class:`plotly.graph_objects.layout.Colorscale`
instance or dict with compatible properties
colorway
Sets the default trace colors.
computed
Placeholder for exporting automargin-impacting values
namely `margin.t`, `margin.b`, `margin.l` and
`margin.r` in "full-json" mode.
datarevision
If provided, a changed value tells `Plotly.react` that
one or more data arrays has changed. This way you can
modify arrays in-place rather than making a complete
new copy for an incremental change. If NOT provided,
`Plotly.react` assumes that data arrays are being
treated as immutable, thus any data array with a
different identity from its predecessor contains new
data.
dragmode
Determines the mode of drag interactions. "select" and
"lasso" apply only to scatter traces with markers or
text. "orbit" and "turntable" apply only to 3D scenes.
editrevision
Controls persistence of user-driven changes in
`editable: true` configuration, other than trace names
and axis titles. Defaults to `layout.uirevision`.
extendfunnelareacolors
If `true`, the funnelarea slice colors (whether given
by `funnelareacolorway` or inherited from `colorway`)
will be extended to three times its original length by
first repeating every color 20% lighter then each color
20% darker. This is intended to reduce the likelihood
of reusing the same color when you have many slices,
but you can set `false` to disable. Colors provided in
the trace, using `marker.colors`, are never extended.
extendiciclecolors
If `true`, the icicle slice colors (whether given by
`iciclecolorway` or inherited from `colorway`) will be
extended to three times its original length by first
repeating every color 20% lighter then each color 20%
darker. This is intended to reduce the likelihood of
reusing the same color when you have many slices, but
you can set `false` to disable. Colors provided in the
trace, using `marker.colors`, are never extended.
extendpiecolors
If `true`, the pie slice colors (whether given by
`piecolorway` or inherited from `colorway`) will be
extended to three times its original length by first
repeating every color 20% lighter then each color 20%
darker. This is intended to reduce the likelihood of
reusing the same color when you have many slices, but
you can set `false` to disable. Colors provided in the
trace, using `marker.colors`, are never extended.
extendsunburstcolors
If `true`, the sunburst slice colors (whether given by
`sunburstcolorway` or inherited from `colorway`) will
be extended to three times its original length by first
repeating every color 20% lighter then each color 20%
darker. This is intended to reduce the likelihood of
reusing the same color when you have many slices, but
you can set `false` to disable. Colors provided in the
trace, using `marker.colors`, are never extended.
extendtreemapcolors
If `true`, the treemap slice colors (whether given by
`treemapcolorway` or inherited from `colorway`) will be
extended to three times its original length by first
repeating every color 20% lighter then each color 20%
darker. This is intended to reduce the likelihood of
reusing the same color when you have many slices, but
you can set `false` to disable. Colors provided in the
trace, using `marker.colors`, are never extended.
font
Sets the global font. Note that fonts used in traces
and other layout components inherit from the global
font.
funnelareacolorway
Sets the default funnelarea slice colors. Defaults to
the main `colorway` used for trace colors. If you
specify a new list here it can still be extended with
lighter and darker colors, see
`extendfunnelareacolors`.
funnelgap
Sets the gap (in plot fraction) between bars of
adjacent location coordinates.
funnelgroupgap
Sets the gap (in plot fraction) between bars of the
same location coordinate.
funnelmode
Determines how bars at the same location coordinate are
displayed on the graph. With "stack", the bars are
stacked on top of one another With "group", the bars
are plotted next to one another centered around the
shared location. With "overlay", the bars are plotted
over one another, you might need to reduce "opacity" to
see multiple bars.
geo
:class:`plotly.graph_objects.layout.Geo` instance or
dict with compatible properties
grid
:class:`plotly.graph_objects.layout.Grid` instance or
dict with compatible properties
height
Sets the plot's height (in px).
hiddenlabels
hiddenlabels is the funnelarea & pie chart analog of
visible:'legendonly' but it can contain many labels,
and can simultaneously hide slices from several
pies/funnelarea charts
hiddenlabelssrc
Sets the source reference on Chart Studio Cloud for
`hiddenlabels`.
hidesources
Determines whether or not a text link citing the data
source is placed at the bottom-right cored of the
figure. Has only an effect only on graphs that have
been generated via forked graphs from the Chart Studio
Cloud (at https://chart-studio.plotly.com or on-
premise).
hoverdistance
Sets the default distance (in pixels) to look for data
to add hover labels (-1 means no cutoff, 0 means no
looking for data). This is only a real distance for
hovering on point-like objects, like scatter points.
For area-like objects (bars, scatter fills, etc)
hovering is on inside the area and off outside, but
these objects will not supersede hover on point-like
objects in case of conflict.
hoverlabel
:class:`plotly.graph_objects.layout.Hoverlabel`
instance or dict with compatible properties
hovermode
Determines the mode of hover interactions. If
"closest", a single hoverlabel will appear for the
"closest" point within the `hoverdistance`. If "x" (or
"y"), multiple hoverlabels will appear for multiple
points at the "closest" x- (or y-) coordinate within
the `hoverdistance`, with the caveat that no more than
one hoverlabel will appear per trace. If *x unified*
(or *y unified*), a single hoverlabel will appear
multiple points at the closest x- (or y-) coordinate
within the `hoverdistance` with the caveat that no more
than one hoverlabel will appear per trace. In this
mode, spikelines are enabled by default perpendicular
to the specified axis. If false, hover interactions are
disabled.
iciclecolorway
Sets the default icicle slice colors. Defaults to the
main `colorway` used for trace colors. If you specify a
new list here it can still be extended with lighter and
darker colors, see `extendiciclecolors`.
images
A tuple of :class:`plotly.graph_objects.layout.Image`
instances or dicts with compatible properties
imagedefaults
When used in a template (as
layout.template.layout.imagedefaults), sets the default
property values to use for elements of layout.images
legend
:class:`plotly.graph_objects.layout.Legend` instance or
dict with compatible properties
mapbox
:class:`plotly.graph_objects.layout.Mapbox` instance or
dict with compatible properties
margin
:class:`plotly.graph_objects.layout.Margin` instance or
dict with compatible properties
meta
Assigns extra meta information that can be used in
various `text` attributes. Attributes such as the
graph, axis and colorbar `title.text`, annotation
`text` `trace.name` in legend items, `rangeselector`,
`updatemenus` and `sliders` `label` text all support
`meta`. One can access `meta` fields using template
strings: `%{meta[i]}` where `i` is the index of the
`meta` item in question. `meta` can also be an object
for example `{key: value}` which can be accessed
%{meta[key]}.
metasrc
Sets the source reference on Chart Studio Cloud for
`meta`.
minreducedheight
Minimum height of the plot with margin.automargin
applied (in px)
minreducedwidth
Minimum width of the plot with margin.automargin
applied (in px)
modebar
:class:`plotly.graph_objects.layout.Modebar` instance
or dict with compatible properties
newselection
:class:`plotly.graph_objects.layout.Newselection`
instance or dict with compatible properties
newshape
:class:`plotly.graph_objects.layout.Newshape` instance
or dict with compatible properties
paper_bgcolor
Sets the background color of the paper where the graph
is drawn.
piecolorway
Sets the default pie slice colors. Defaults to the main
`colorway` used for trace colors. If you specify a new
list here it can still be extended with lighter and
darker colors, see `extendpiecolors`.
plot_bgcolor
Sets the background color of the plotting area in-
between x and y axes.
polar
:class:`plotly.graph_objects.layout.Polar` instance or
dict with compatible properties
scattergap
Sets the gap (in plot fraction) between scatter points
of adjacent location coordinates. Defaults to `bargap`.
scattermode
Determines how scatter points at the same location
coordinate are displayed on the graph. With "group",
the scatter points are plotted next to one another
centered around the shared location. With "overlay",
the scatter points are plotted over one another, you
might need to reduce "opacity" to see multiple scatter
points.
scene
:class:`plotly.graph_objects.layout.Scene` instance or
dict with compatible properties
selectdirection
When `dragmode` is set to "select", this limits the
selection of the drag to horizontal, vertical or
diagonal. "h" only allows horizontal selection, "v"
only vertical, "d" only diagonal and "any" sets no
limit.
selectionrevision
Controls persistence of user-driven changes in selected
points from all traces.
selections
A tuple of
:class:`plotly.graph_objects.layout.Selection`
instances or dicts with compatible properties
selectiondefaults
When used in a template (as
layout.template.layout.selectiondefaults), sets the
default property values to use for elements of
layout.selections
separators
Sets the decimal and thousand separators. For example,
*. * puts a '.' before decimals and a space between
thousands. In English locales, dflt is ".," but other
locales may alter this default.
shapes
A tuple of :class:`plotly.graph_objects.layout.Shape`
instances or dicts with compatible properties
shapedefaults
When used in a template (as
layout.template.layout.shapedefaults), sets the default
property values to use for elements of layout.shapes
showlegend
Determines whether or not a legend is drawn. Default is
`true` if there is a trace to show and any of these: a)
Two or more traces would by default be shown in the
legend. b) One pie trace is shown in the legend. c) One
trace is explicitly given with `showlegend: true`.
sliders
A tuple of :class:`plotly.graph_objects.layout.Slider`
instances or dicts with compatible properties
sliderdefaults
When used in a template (as
layout.template.layout.sliderdefaults), sets the
default property values to use for elements of
layout.sliders
smith
:class:`plotly.graph_objects.layout.Smith` instance or
dict with compatible properties
spikedistance
Sets the default distance (in pixels) to look for data
to draw spikelines to (-1 means no cutoff, 0 means no
looking for data). As with hoverdistance, distance does
not apply to area-like objects. In addition, some
objects can be hovered on but will not generate
spikelines, such as scatter fills.
sunburstcolorway
Sets the default sunburst slice colors. Defaults to the
main `colorway` used for trace colors. If you specify a
new list here it can still be extended with lighter and
darker colors, see `extendsunburstcolors`.
template
Default attributes to be applied to the plot. This
should be a dict with format: `{'layout':
layoutTemplate, 'data': {trace_type: [traceTemplate,
...], ...}}` where `layoutTemplate` is a dict matching
the structure of `figure.layout` and `traceTemplate` is
a dict matching the structure of the trace with type
`trace_type` (e.g. 'scatter'). Alternatively, this may
be specified as an instance of
plotly.graph_objs.layout.Template. Trace templates are
applied cyclically to traces of each type. Container
arrays (eg `annotations`) have special handling: An
object ending in `defaults` (eg `annotationdefaults`)
is applied to each array item. But if an item has a
`templateitemname` key we look in the template array
for an item with matching `name` and apply that
instead. If no matching `name` is found we mark the
item invisible. Any named template item not referenced
is appended to the end of the array, so this can be
used to add a watermark annotation or a logo image, for
example. To omit one of these items on the plot, make
an item with matching `templateitemname` and `visible:
false`.
ternary
:class:`plotly.graph_objects.layout.Ternary` instance
or dict with compatible properties
title
:class:`plotly.graph_objects.layout.Title` instance or
dict with compatible properties
titlefont
Deprecated: Please use layout.title.font instead. Sets
the title font. Note that the title's font used to be
customized by the now deprecated `titlefont` attribute.
transition
Sets transition options used during Plotly.react
updates.
treemapcolorway
Sets the default treemap slice colors. Defaults to the
main `colorway` used for trace colors. If you specify a
new list here it can still be extended with lighter and
darker colors, see `extendtreemapcolors`.
uirevision
Used to allow user interactions with the plot to
persist after `Plotly.react` calls that are unaware of
these interactions. If `uirevision` is omitted, or if
it is given and it changed from the previous
`Plotly.react` call, the exact new figure is used. If
`uirevision` is truthy and did NOT change, any
attribute that has been affected by user interactions
and did not receive a different value in the new figure
will keep the interaction value. `layout.uirevision`
attribute serves as the default for `uirevision`
attributes in various sub-containers. For finer control
you can set these sub-attributes directly. For example,
if your app separately controls the data on the x and y
axes you might set `xaxis.uirevision=*time*` and
`yaxis.uirevision=*cost*`. Then if only the y data is
changed, you can update `yaxis.uirevision=*quantity*`
and the y axis range will reset but the x axis range
will retain any user-driven zoom.
uniformtext
:class:`plotly.graph_objects.layout.Uniformtext`
instance or dict with compatible properties
updatemenus
A tuple of
:class:`plotly.graph_objects.layout.Updatemenu`
instances or dicts with compatible properties
updatemenudefaults
When used in a template (as
layout.template.layout.updatemenudefaults), sets the
default property values to use for elements of
layout.updatemenus
violingap
Sets the gap (in plot fraction) between violins of
adjacent location coordinates. Has no effect on traces
that have "width" set.
violingroupgap
Sets the gap (in plot fraction) between violins of the
same location coordinate. Has no effect on traces that
have "width" set.
violinmode
Determines how violins at the same location coordinate
are displayed on the graph. If "group", the violins are
plotted next to one another centered around the shared
location. If "overlay", the violins are plotted over
one another, you might need to set "opacity" to see
them multiple violins. Has no effect on traces that
have "width" set.
waterfallgap
Sets the gap (in plot fraction) between bars of
adjacent location coordinates.
waterfallgroupgap
Sets the gap (in plot fraction) between bars of the
same location coordinate.
waterfallmode
Determines how bars at the same location coordinate are
displayed on the graph. With "group", the bars are
plotted next to one another centered around the shared
location. With "overlay", the bars are plotted over one
another, you might need to reduce "opacity" to see
multiple bars.
width
Sets the plot's width (in px).
xaxis
:class:`plotly.graph_objects.layout.XAxis` instance or
dict with compatible properties
yaxis
:class:`plotly.graph_objects.layout.YAxis` instance or
dict with compatible properties
"""
_mapped_properties = {"titlefont": ("title", "font")}
def __init__(
self,
arg=None,
activeselection=None,
activeshape=None,
annotations=None,
annotationdefaults=None,
autosize=None,
autotypenumbers=None,
bargap=None,
bargroupgap=None,
barmode=None,
barnorm=None,
boxgap=None,
boxgroupgap=None,
boxmode=None,
calendar=None,
clickmode=None,
coloraxis=None,
colorscale=None,
colorway=None,
computed=None,
datarevision=None,
dragmode=None,
editrevision=None,
extendfunnelareacolors=None,
extendiciclecolors=None,
extendpiecolors=None,
extendsunburstcolors=None,
extendtreemapcolors=None,
font=None,
funnelareacolorway=None,
funnelgap=None,
funnelgroupgap=None,
funnelmode=None,
geo=None,
grid=None,
height=None,
hiddenlabels=None,
hiddenlabelssrc=None,
hidesources=None,
hoverdistance=None,
hoverlabel=None,
hovermode=None,
iciclecolorway=None,
images=None,
imagedefaults=None,
legend=None,
mapbox=None,
margin=None,
meta=None,
metasrc=None,
minreducedheight=None,
minreducedwidth=None,
modebar=None,
newselection=None,
newshape=None,
paper_bgcolor=None,
piecolorway=None,
plot_bgcolor=None,
polar=None,
scattergap=None,
scattermode=None,
scene=None,
selectdirection=None,
selectionrevision=None,
selections=None,
selectiondefaults=None,
separators=None,
shapes=None,
shapedefaults=None,
showlegend=None,
sliders=None,
sliderdefaults=None,
smith=None,
spikedistance=None,
sunburstcolorway=None,
template=None,
ternary=None,
title=None,
titlefont=None,
transition=None,
treemapcolorway=None,
uirevision=None,
uniformtext=None,
updatemenus=None,
updatemenudefaults=None,
violingap=None,
violingroupgap=None,
violinmode=None,
waterfallgap=None,
waterfallgroupgap=None,
waterfallmode=None,
width=None,
xaxis=None,
yaxis=None,
**kwargs,
):
"""
Construct a new Layout object
Parameters
----------
arg
dict of properties compatible with this constructor or
an instance of :class:`plotly.graph_objs.Layout`
activeselection
:class:`plotly.graph_objects.layout.Activeselection`
instance or dict with compatible properties
activeshape
:class:`plotly.graph_objects.layout.Activeshape`
instance or dict with compatible properties
annotations
A tuple of
:class:`plotly.graph_objects.layout.Annotation`
instances or dicts with compatible properties
annotationdefaults
When used in a template (as
layout.template.layout.annotationdefaults), sets the
default property values to use for elements of
layout.annotations
autosize
Determines whether or not a layout width or height that
has been left undefined by the user is initialized on
each relayout. Note that, regardless of this attribute,
an undefined layout width or height is always
initialized on the first call to plot.
autotypenumbers
Using "strict" a numeric string in trace data is not
converted to a number. Using *convert types* a numeric
string in trace data may be treated as a number during
automatic axis `type` detection. This is the default
value; however it could be overridden for individual
axes.
bargap
Sets the gap (in plot fraction) between bars of
adjacent location coordinates.
bargroupgap
Sets the gap (in plot fraction) between bars of the
same location coordinate.
barmode
Determines how bars at the same location coordinate are
displayed on the graph. With "stack", the bars are
stacked on top of one another With "relative", the bars
are stacked on top of one another, with negative values
below the axis, positive values above With "group", the
bars are plotted next to one another centered around
the shared location. With "overlay", the bars are
plotted over one another, you might need to reduce
"opacity" to see multiple bars.
barnorm
Sets the normalization for bar traces on the graph.
With "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.
boxgap
Sets the gap (in plot fraction) between boxes of
adjacent location coordinates. Has no effect on traces
that have "width" set.
boxgroupgap
Sets the gap (in plot fraction) between boxes of the
same location coordinate. Has no effect on traces that
have "width" set.
boxmode
Determines how boxes at the same location coordinate
are displayed on the graph. If "group", the boxes are
plotted next to one another centered around the shared
location. If "overlay", the boxes are plotted over one
another, you might need to set "opacity" to see them
multiple boxes. Has no effect on traces that have
"width" set.
calendar
Sets the default calendar system to use for
interpreting and displaying dates throughout the plot.
clickmode
Determines the mode of single click interactions.
"event" is the default value and emits the
`plotly_click` event. In addition this mode emits the
`plotly_selected` event in drag modes "lasso" and
"select", but with no event data attached (kept for
compatibility reasons). The "select" flag enables
selecting single data points via click. This mode also
supports persistent selections, meaning that pressing
Shift while clicking, adds to / subtracts from an
existing selection. "select" with `hovermode`: "x" can
be confusing, consider explicitly setting `hovermode`:
"closest" when using this feature. Selection events are
sent accordingly as long as "event" flag is set as
well. When the "event" flag is missing, `plotly_click`
and `plotly_selected` events are not fired.
coloraxis
:class:`plotly.graph_objects.layout.Coloraxis` instance
or dict with compatible properties
colorscale
:class:`plotly.graph_objects.layout.Colorscale`
instance or dict with compatible properties
colorway
Sets the default trace colors.
computed
Placeholder for exporting automargin-impacting values
namely `margin.t`, `margin.b`, `margin.l` and
`margin.r` in "full-json" mode.
datarevision
If provided, a changed value tells `Plotly.react` that
one or more data arrays has changed. This way you can
modify arrays in-place rather than making a complete
new copy for an incremental change. If NOT provided,
`Plotly.react` assumes that data arrays are being
treated as immutable, thus any data array with a
different identity from its predecessor contains new
data.
dragmode
Determines the mode of drag interactions. "select" and
"lasso" apply only to scatter traces with markers or
text. "orbit" and "turntable" apply only to 3D scenes.
editrevision
Controls persistence of user-driven changes in
`editable: true` configuration, other than trace names
and axis titles. Defaults to `layout.uirevision`.
extendfunnelareacolors
If `true`, the funnelarea slice colors (whether given
by `funnelareacolorway` or inherited from `colorway`)
will be extended to three times its original length by
first repeating every color 20% lighter then each color
20% darker. This is intended to reduce the likelihood
of reusing the same color when you have many slices,
but you can set `false` to disable. Colors provided in
the trace, using `marker.colors`, are never extended.
extendiciclecolors
If `true`, the icicle slice colors (whether given by
`iciclecolorway` or inherited from `colorway`) will be
extended to three times its original length by first
repeating every color 20% lighter then each color 20%
darker. This is intended to reduce the likelihood of
reusing the same color when you have many slices, but
you can set `false` to disable. Colors provided in the
trace, using `marker.colors`, are never extended.
extendpiecolors
If `true`, the pie slice colors (whether given by
`piecolorway` or inherited from `colorway`) will be
extended to three times its original length by first
repeating every color 20% lighter then each color 20%
darker. This is intended to reduce the likelihood of
reusing the same color when you have many slices, but
you can set `false` to disable. Colors provided in the
trace, using `marker.colors`, are never extended.
extendsunburstcolors
If `true`, the sunburst slice colors (whether given by
`sunburstcolorway` or inherited from `colorway`) will
be extended to three times its original length by first
repeating every color 20% lighter then each color 20%
darker. This is intended to reduce the likelihood of
reusing the same color when you have many slices, but
you can set `false` to disable. Colors provided in the
trace, using `marker.colors`, are never extended.
extendtreemapcolors
If `true`, the treemap slice colors (whether given by
`treemapcolorway` or inherited from `colorway`) will be
extended to three times its original length by first
repeating every color 20% lighter then each color 20%
darker. This is intended to reduce the likelihood of
reusing the same color when you have many slices, but
you can set `false` to disable. Colors provided in the
trace, using `marker.colors`, are never extended.
font
Sets the global font. Note that fonts used in traces
and other layout components inherit from the global
font.
funnelareacolorway
Sets the default funnelarea slice colors. Defaults to
the main `colorway` used for trace colors. If you
specify a new list here it can still be extended with
lighter and darker colors, see
`extendfunnelareacolors`.
funnelgap
Sets the gap (in plot fraction) between bars of
adjacent location coordinates.
funnelgroupgap
Sets the gap (in plot fraction) between bars of the
same location coordinate.
funnelmode
Determines how bars at the same location coordinate are
displayed on the graph. With "stack", the bars are
stacked on top of one another With "group", the bars
are plotted next to one another centered around the
shared location. With "overlay", the bars are plotted
over one another, you might need to reduce "opacity" to
see multiple bars.
geo
:class:`plotly.graph_objects.layout.Geo` instance or
dict with compatible properties
grid
:class:`plotly.graph_objects.layout.Grid` instance or
dict with compatible properties
height
Sets the plot's height (in px).
hiddenlabels
hiddenlabels is the funnelarea & pie chart analog of
visible:'legendonly' but it can contain many labels,
and can simultaneously hide slices from several
pies/funnelarea charts
hiddenlabelssrc
Sets the source reference on Chart Studio Cloud for
`hiddenlabels`.
hidesources
Determines whether or not a text link citing the data
source is placed at the bottom-right cored of the
figure. Has only an effect only on graphs that have
been generated via forked graphs from the Chart Studio
Cloud (at https://chart-studio.plotly.com or on-
premise).
hoverdistance
Sets the default distance (in pixels) to look for data
to add hover labels (-1 means no cutoff, 0 means no
looking for data). This is only a real distance for
hovering on point-like objects, like scatter points.
For area-like objects (bars, scatter fills, etc)
hovering is on inside the area and off outside, but
these objects will not supersede hover on point-like
objects in case of conflict.
hoverlabel
:class:`plotly.graph_objects.layout.Hoverlabel`
instance or dict with compatible properties
hovermode
Determines the mode of hover interactions. If
"closest", a single hoverlabel will appear for the
"closest" point within the `hoverdistance`. If "x" (or
"y"), multiple hoverlabels will appear for multiple
points at the "closest" x- (or y-) coordinate within
the `hoverdistance`, with the caveat that no more than
one hoverlabel will appear per trace. If *x unified*
(or *y unified*), a single hoverlabel will appear
multiple points at the closest x- (or y-) coordinate
within the `hoverdistance` with the caveat that no more
than one hoverlabel will appear per trace. In this
mode, spikelines are enabled by default perpendicular
to the specified axis. If false, hover interactions are
disabled.
iciclecolorway
Sets the default icicle slice colors. Defaults to the
main `colorway` used for trace colors. If you specify a
new list here it can still be extended with lighter and
darker colors, see `extendiciclecolors`.
images
A tuple of :class:`plotly.graph_objects.layout.Image`
instances or dicts with compatible properties
imagedefaults
When used in a template (as
layout.template.layout.imagedefaults), sets the default
property values to use for elements of layout.images
legend
:class:`plotly.graph_objects.layout.Legend` instance or
dict with compatible properties
mapbox
:class:`plotly.graph_objects.layout.Mapbox` instance or
dict with compatible properties
margin
:class:`plotly.graph_objects.layout.Margin` instance or
dict with compatible properties
meta
Assigns extra meta information that can be used in
various `text` attributes. Attributes such as the
graph, axis and colorbar `title.text`, annotation
`text` `trace.name` in legend items, `rangeselector`,
`updatemenus` and `sliders` `label` text all support
`meta`. One can access `meta` fields using template
strings: `%{meta[i]}` where `i` is the index of the
`meta` item in question. `meta` can also be an object
for example `{key: value}` which can be accessed
%{meta[key]}.
metasrc
Sets the source reference on Chart Studio Cloud for
`meta`.
minreducedheight
Minimum height of the plot with margin.automargin
applied (in px)
minreducedwidth
Minimum width of the plot with margin.automargin
applied (in px)
modebar
:class:`plotly.graph_objects.layout.Modebar` instance
or dict with compatible properties
newselection
:class:`plotly.graph_objects.layout.Newselection`
instance or dict with compatible properties
newshape
:class:`plotly.graph_objects.layout.Newshape` instance
or dict with compatible properties
paper_bgcolor
Sets the background color of the paper where the graph
is drawn.
piecolorway
Sets the default pie slice colors. Defaults to the main
`colorway` used for trace colors. If you specify a new
list here it can still be extended with lighter and
darker colors, see `extendpiecolors`.
plot_bgcolor
Sets the background color of the plotting area in-
between x and y axes.
polar
:class:`plotly.graph_objects.layout.Polar` instance or
dict with compatible properties
scattergap
Sets the gap (in plot fraction) between scatter points
of adjacent location coordinates. Defaults to `bargap`.
scattermode
Determines how scatter points at the same location
coordinate are displayed on the graph. With "group",
the scatter points are plotted next to one another
centered around the shared location. With "overlay",
the scatter points are plotted over one another, you
might need to reduce "opacity" to see multiple scatter
points.
scene
:class:`plotly.graph_objects.layout.Scene` instance or
dict with compatible properties
selectdirection
When `dragmode` is set to "select", this limits the
selection of the drag to horizontal, vertical or
diagonal. "h" only allows horizontal selection, "v"
only vertical, "d" only diagonal and "any" sets no
limit.
selectionrevision
Controls persistence of user-driven changes in selected
points from all traces.
selections
A tuple of
:class:`plotly.graph_objects.layout.Selection`
instances or dicts with compatible properties
selectiondefaults
When used in a template (as
layout.template.layout.selectiondefaults), sets the
default property values to use for elements of
layout.selections
separators
Sets the decimal and thousand separators. For example,
*. * puts a '.' before decimals and a space between
thousands. In English locales, dflt is ".," but other
locales may alter this default.
shapes
A tuple of :class:`plotly.graph_objects.layout.Shape`
instances or dicts with compatible properties
shapedefaults
When used in a template (as
layout.template.layout.shapedefaults), sets the default
property values to use for elements of layout.shapes
showlegend
Determines whether or not a legend is drawn. Default is
`true` if there is a trace to show and any of these: a)
Two or more traces would by default be shown in the
legend. b) One pie trace is shown in the legend. c) One
trace is explicitly given with `showlegend: true`.
sliders
A tuple of :class:`plotly.graph_objects.layout.Slider`
instances or dicts with compatible properties
sliderdefaults
When used in a template (as
layout.template.layout.sliderdefaults), sets the
default property values to use for elements of
layout.sliders
smith
:class:`plotly.graph_objects.layout.Smith` instance or
dict with compatible properties
spikedistance
Sets the default distance (in pixels) to look for data
to draw spikelines to (-1 means no cutoff, 0 means no
looking for data). As with hoverdistance, distance does
not apply to area-like objects. In addition, some
objects can be hovered on but will not generate
spikelines, such as scatter fills.
sunburstcolorway
Sets the default sunburst slice colors. Defaults to the
main `colorway` used for trace colors. If you specify a
new list here it can still be extended with lighter and
darker colors, see `extendsunburstcolors`.
template
Default attributes to be applied to the plot. This
should be a dict with format: `{'layout':
layoutTemplate, 'data': {trace_type: [traceTemplate,
...], ...}}` where `layoutTemplate` is a dict matching
the structure of `figure.layout` and `traceTemplate` is
a dict matching the structure of the trace with type
`trace_type` (e.g. 'scatter'). Alternatively, this may
be specified as an instance of
plotly.graph_objs.layout.Template. Trace templates are
applied cyclically to traces of each type. Container
arrays (eg `annotations`) have special handling: An
object ending in `defaults` (eg `annotationdefaults`)
is applied to each array item. But if an item has a
`templateitemname` key we look in the template array
for an item with matching `name` and apply that
instead. If no matching `name` is found we mark the
item invisible. Any named template item not referenced
is appended to the end of the array, so this can be
used to add a watermark annotation or a logo image, for
example. To omit one of these items on the plot, make
an item with matching `templateitemname` and `visible:
false`.
ternary
:class:`plotly.graph_objects.layout.Ternary` instance
or dict with compatible properties
title
:class:`plotly.graph_objects.layout.Title` instance or
dict with compatible properties
titlefont
Deprecated: Please use layout.title.font instead. Sets
the title font. Note that the title's font used to be
customized by the now deprecated `titlefont` attribute.
transition
Sets transition options used during Plotly.react
updates.
treemapcolorway
Sets the default treemap slice colors. Defaults to the
main `colorway` used for trace colors. If you specify a
new list here it can still be extended with lighter and
darker colors, see `extendtreemapcolors`.
uirevision
Used to allow user interactions with the plot to
persist after `Plotly.react` calls that are unaware of
these interactions. If `uirevision` is omitted, or if
it is given and it changed from the previous
`Plotly.react` call, the exact new figure is used. If
`uirevision` is truthy and did NOT change, any
attribute that has been affected by user interactions
and did not receive a different value in the new figure
will keep the interaction value. `layout.uirevision`
attribute serves as the default for `uirevision`
attributes in various sub-containers. For finer control
you can set these sub-attributes directly. For example,
if your app separately controls the data on the x and y
axes you might set `xaxis.uirevision=*time*` and
`yaxis.uirevision=*cost*`. Then if only the y data is
changed, you can update `yaxis.uirevision=*quantity*`
and the y axis range will reset but the x axis range
will retain any user-driven zoom.
uniformtext
:class:`plotly.graph_objects.layout.Uniformtext`
instance or dict with compatible properties
updatemenus
A tuple of
:class:`plotly.graph_objects.layout.Updatemenu`
instances or dicts with compatible properties
updatemenudefaults
When used in a template (as
layout.template.layout.updatemenudefaults), sets the
default property values to use for elements of
layout.updatemenus
violingap
Sets the gap (in plot fraction) between violins of
adjacent location coordinates. Has no effect on traces
that have "width" set.
violingroupgap
Sets the gap (in plot fraction) between violins of the
same location coordinate. Has no effect on traces that
have "width" set.
violinmode
Determines how violins at the same location coordinate
are displayed on the graph. If "group", the violins are
plotted next to one another centered around the shared
location. If "overlay", the violins are plotted over
one another, you might need to set "opacity" to see
them multiple violins. Has no effect on traces that
have "width" set.
waterfallgap
Sets the gap (in plot fraction) between bars of
adjacent location coordinates.
waterfallgroupgap
Sets the gap (in plot fraction) between bars of the
same location coordinate.
waterfallmode
Determines how bars at the same location coordinate are
displayed on the graph. With "group", the bars are
plotted next to one another centered around the shared
location. With "overlay", the bars are plotted over one
another, you might need to reduce "opacity" to see
multiple bars.
width
Sets the plot's width (in px).
xaxis
:class:`plotly.graph_objects.layout.XAxis` instance or
dict with compatible properties
yaxis
:class:`plotly.graph_objects.layout.YAxis` instance or
dict with compatible properties
Returns
-------
Layout
"""
super(Layout, self).__init__("layout")
if "_parent" in kwargs:
self._parent = kwargs["_parent"]
return
# Override _valid_props for instance so that instance can mutate set
# to support subplot properties (e.g. xaxis2)
self._valid_props = {
"activeselection",
"activeshape",
"annotationdefaults",
"annotations",
"autosize",
"autotypenumbers",
"bargap",
"bargroupgap",
"barmode",
"barnorm",
"boxgap",
"boxgroupgap",
"boxmode",
"calendar",
"clickmode",
"coloraxis",
"colorscale",
"colorway",
"computed",
"datarevision",
"dragmode",
"editrevision",
"extendfunnelareacolors",
"extendiciclecolors",
"extendpiecolors",
"extendsunburstcolors",
"extendtreemapcolors",
"font",
"funnelareacolorway",
"funnelgap",
"funnelgroupgap",
"funnelmode",
"geo",
"grid",
"height",
"hiddenlabels",
"hiddenlabelssrc",
"hidesources",
"hoverdistance",
"hoverlabel",
"hovermode",
"iciclecolorway",
"imagedefaults",
"images",
"legend",
"mapbox",
"margin",
"meta",
"metasrc",
"minreducedheight",
"minreducedwidth",
"modebar",
"newselection",
"newshape",
"paper_bgcolor",
"piecolorway",
"plot_bgcolor",
"polar",
"scattergap",
"scattermode",
"scene",
"selectdirection",
"selectiondefaults",
"selectionrevision",
"selections",
"separators",
"shapedefaults",
"shapes",
"showlegend",
"sliderdefaults",
"sliders",
"smith",
"spikedistance",
"sunburstcolorway",
"template",
"ternary",
"title",
"titlefont",
"transition",
"treemapcolorway",
"uirevision",
"uniformtext",
"updatemenudefaults",
"updatemenus",
"violingap",
"violingroupgap",
"violinmode",
"waterfallgap",
"waterfallgroupgap",
"waterfallmode",
"width",
"xaxis",
"yaxis",
}
# 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
constructor must be a dict or
an instance of :class:`plotly.graph_objs.Layout`"""
)
# 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("activeselection", None)
_v = activeselection if activeselection is not None else _v
if _v is not None:
self["activeselection"] = _v
_v = arg.pop("activeshape", None)
_v = activeshape if activeshape is not None else _v
if _v is not None:
self["activeshape"] = _v
_v = arg.pop("annotations", None)
_v = annotations if annotations is not None else _v
if _v is not None:
self["annotations"] = _v
_v = arg.pop("annotationdefaults", None)
_v = annotationdefaults if annotationdefaults is not None else _v
if _v is not None:
self["annotationdefaults"] = _v
_v = arg.pop("autosize", None)
_v = autosize if autosize is not None else _v
if _v is not None:
self["autosize"] = _v
_v = arg.pop("autotypenumbers", None)
_v = autotypenumbers if autotypenumbers is not None else _v
if _v is not None:
self["autotypenumbers"] = _v
_v = arg.pop("bargap", None)
_v = bargap if bargap is not None else _v
if _v is not None:
self["bargap"] = _v
_v = arg.pop("bargroupgap", None)
_v = bargroupgap if bargroupgap is not None else _v
if _v is not None:
self["bargroupgap"] = _v
_v = arg.pop("barmode", None)
_v = barmode if barmode is not None else _v
if _v is not None:
self["barmode"] = _v
_v = arg.pop("barnorm", None)
_v = barnorm if barnorm is not None else _v
if _v is not None:
self["barnorm"] = _v
_v = arg.pop("boxgap", None)
_v = boxgap if boxgap is not None else _v
if _v is not None:
self["boxgap"] = _v
_v = arg.pop("boxgroupgap", None)
_v = boxgroupgap if boxgroupgap is not None else _v
if _v is not None:
self["boxgroupgap"] = _v
_v = arg.pop("boxmode", None)
_v = boxmode if boxmode is not None else _v
if _v is not None:
self["boxmode"] = _v
_v = arg.pop("calendar", None)
_v = calendar if calendar is not None else _v
if _v is not None:
self["calendar"] = _v
_v = arg.pop("clickmode", None)
_v = clickmode if clickmode is not None else _v
if _v is not None:
self["clickmode"] = _v
_v = arg.pop("coloraxis", None)
_v = coloraxis if coloraxis is not None else _v
if _v is not None:
self["coloraxis"] = _v
_v = arg.pop("colorscale", None)
_v = colorscale if colorscale is not None else _v
if _v is not None:
self["colorscale"] = _v
_v = arg.pop("colorway", None)
_v = colorway if colorway is not None else _v
if _v is not None:
self["colorway"] = _v
_v = arg.pop("computed", None)
_v = computed if computed is not None else _v
if _v is not None:
self["computed"] = _v
_v = arg.pop("datarevision", None)
_v = datarevision if datarevision is not None else _v
if _v is not None:
self["datarevision"] = _v
_v = arg.pop("dragmode", None)
_v = dragmode if dragmode is not None else _v
if _v is not None:
self["dragmode"] = _v
_v = arg.pop("editrevision", None)
_v = editrevision if editrevision is not None else _v
if _v is not None:
self["editrevision"] = _v
_v = arg.pop("extendfunnelareacolors", None)
_v = extendfunnelareacolors if extendfunnelareacolors is not None else _v
if _v is not None:
self["extendfunnelareacolors"] = _v
_v = arg.pop("extendiciclecolors", None)
_v = extendiciclecolors if extendiciclecolors is not None else _v
if _v is not None:
self["extendiciclecolors"] = _v
_v = arg.pop("extendpiecolors", None)
_v = extendpiecolors if extendpiecolors is not None else _v
if _v is not None:
self["extendpiecolors"] = _v
_v = arg.pop("extendsunburstcolors", None)
_v = extendsunburstcolors if extendsunburstcolors is not None else _v
if _v is not None:
self["extendsunburstcolors"] = _v
_v = arg.pop("extendtreemapcolors", None)
_v = extendtreemapcolors if extendtreemapcolors is not None else _v
if _v is not None:
self["extendtreemapcolors"] = _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("funnelareacolorway", None)
_v = funnelareacolorway if funnelareacolorway is not None else _v
if _v is not None:
self["funnelareacolorway"] = _v
_v = arg.pop("funnelgap", None)
_v = funnelgap if funnelgap is not None else _v
if _v is not None:
self["funnelgap"] = _v
_v = arg.pop("funnelgroupgap", None)
_v = funnelgroupgap if funnelgroupgap is not None else _v
if _v is not None:
self["funnelgroupgap"] = _v
_v = arg.pop("funnelmode", None)
_v = funnelmode if funnelmode is not None else _v
if _v is not None:
self["funnelmode"] = _v
_v = arg.pop("geo", None)
_v = geo if geo is not None else _v
if _v is not None:
self["geo"] = _v
_v = arg.pop("grid", None)
_v = grid if grid is not None else _v
if _v is not None:
self["grid"] = _v
_v = arg.pop("height", None)
_v = height if height is not None else _v
if _v is not None:
self["height"] = _v
_v = arg.pop("hiddenlabels", None)
_v = hiddenlabels if hiddenlabels is not None else _v
if _v is not None:
self["hiddenlabels"] = _v
_v = arg.pop("hiddenlabelssrc", None)
_v = hiddenlabelssrc if hiddenlabelssrc is not None else _v
if _v is not None:
self["hiddenlabelssrc"] = _v
_v = arg.pop("hidesources", None)
_v = hidesources if hidesources is not None else _v
if _v is not None:
self["hidesources"] = _v
_v = arg.pop("hoverdistance", None)
_v = hoverdistance if hoverdistance is not None else _v
if _v is not None:
self["hoverdistance"] = _v
_v = arg.pop("hoverlabel", None)
_v = hoverlabel if hoverlabel is not None else _v
if _v is not None:
self["hoverlabel"] = _v
_v = arg.pop("hovermode", None)
_v = hovermode if hovermode is not None else _v
if _v is not None:
self["hovermode"] = _v
_v = arg.pop("iciclecolorway", None)
_v = iciclecolorway if iciclecolorway is not None else _v
if _v is not None:
self["iciclecolorway"] = _v
_v = arg.pop("images", None)
_v = images if images is not None else _v
if _v is not None:
self["images"] = _v
_v = arg.pop("imagedefaults", None)
_v = imagedefaults if imagedefaults is not None else _v
if _v is not None:
self["imagedefaults"] = _v
_v = arg.pop("legend", None)
_v = legend if legend is not None else _v
if _v is not None:
self["legend"] = _v
_v = arg.pop("mapbox", None)
_v = mapbox if mapbox is not None else _v
if _v is not None:
self["mapbox"] = _v
_v = arg.pop("margin", None)
_v = margin if margin is not None else _v
if _v is not None:
self["margin"] = _v
_v = arg.pop("meta", None)
_v = meta if meta is not None else _v
if _v is not None:
self["meta"] = _v
_v = arg.pop("metasrc", None)
_v = metasrc if metasrc is not None else _v
if _v is not None:
self["metasrc"] = _v
_v = arg.pop("minreducedheight", None)
_v = minreducedheight if minreducedheight is not None else _v
if _v is not None:
self["minreducedheight"] = _v
_v = arg.pop("minreducedwidth", None)
_v = minreducedwidth if minreducedwidth is not None else _v
if _v is not None:
self["minreducedwidth"] = _v
_v = arg.pop("modebar", None)
_v = modebar if modebar is not None else _v
if _v is not None:
self["modebar"] = _v
_v = arg.pop("newselection", None)
_v = newselection if newselection is not None else _v
if _v is not None:
self["newselection"] = _v
_v = arg.pop("newshape", None)
_v = newshape if newshape is not None else _v
if _v is not None:
self["newshape"] = _v
_v = arg.pop("paper_bgcolor", None)
_v = paper_bgcolor if paper_bgcolor is not None else _v
if _v is not None:
self["paper_bgcolor"] = _v
_v = arg.pop("piecolorway", None)
_v = piecolorway if piecolorway is not None else _v
if _v is not None:
self["piecolorway"] = _v
_v = arg.pop("plot_bgcolor", None)
_v = plot_bgcolor if plot_bgcolor is not None else _v
if _v is not None:
self["plot_bgcolor"] = _v
_v = arg.pop("polar", None)
_v = polar if polar is not None else _v
if _v is not None:
self["polar"] = _v
_v = arg.pop("scattergap", None)
_v = scattergap if scattergap is not None else _v
if _v is not None:
self["scattergap"] = _v
_v = arg.pop("scattermode", None)
_v = scattermode if scattermode is not None else _v
if _v is not None:
self["scattermode"] = _v
_v = arg.pop("scene", None)
_v = scene if scene is not None else _v
if _v is not None:
self["scene"] = _v
_v = arg.pop("selectdirection", None)
_v = selectdirection if selectdirection is not None else _v
if _v is not None:
self["selectdirection"] = _v
_v = arg.pop("selectionrevision", None)
_v = selectionrevision if selectionrevision is not None else _v
if _v is not None:
self["selectionrevision"] = _v
_v = arg.pop("selections", None)
_v = selections if selections is not None else _v
if _v is not None:
self["selections"] = _v
_v = arg.pop("selectiondefaults", None)
_v = selectiondefaults if selectiondefaults is not None else _v
if _v is not None:
self["selectiondefaults"] = _v
_v = arg.pop("separators", None)
_v = separators if separators is not None else _v
if _v is not None:
self["separators"] = _v
_v = arg.pop("shapes", None)
_v = shapes if shapes is not None else _v
if _v is not None:
self["shapes"] = _v
_v = arg.pop("shapedefaults", None)
_v = shapedefaults if shapedefaults is not None else _v
if _v is not None:
self["shapedefaults"] = _v
_v = arg.pop("showlegend", None)
_v = showlegend if showlegend is not None else _v
if _v is not None:
self["showlegend"] = _v
_v = arg.pop("sliders", None)
_v = sliders if sliders is not None else _v
if _v is not None:
self["sliders"] = _v
_v = arg.pop("sliderdefaults", None)
_v = sliderdefaults if sliderdefaults is not None else _v
if _v is not None:
self["sliderdefaults"] = _v
_v = arg.pop("smith", None)
_v = smith if smith is not None else _v
if _v is not None:
self["smith"] = _v
_v = arg.pop("spikedistance", None)
_v = spikedistance if spikedistance is not None else _v
if _v is not None:
self["spikedistance"] = _v
_v = arg.pop("sunburstcolorway", None)
_v = sunburstcolorway if sunburstcolorway is not None else _v
if _v is not None:
self["sunburstcolorway"] = _v
_v = arg.pop("template", None)
_v = template if template is not None else _v
if _v is not None:
self["template"] = _v
_v = arg.pop("ternary", None)
_v = ternary if ternary is not None else _v
if _v is not None:
self["ternary"] = _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("titlefont", None)
_v = titlefont if titlefont is not None else _v
if _v is not None:
self["titlefont"] = _v
_v = arg.pop("transition", None)
_v = transition if transition is not None else _v
if _v is not None:
self["transition"] = _v
_v = arg.pop("treemapcolorway", None)
_v = treemapcolorway if treemapcolorway is not None else _v
if _v is not None:
self["treemapcolorway"] = _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("uniformtext", None)
_v = uniformtext if uniformtext is not None else _v
if _v is not None:
self["uniformtext"] = _v
_v = arg.pop("updatemenus", None)
_v = updatemenus if updatemenus is not None else _v
if _v is not None:
self["updatemenus"] = _v
_v = arg.pop("updatemenudefaults", None)
_v = updatemenudefaults if updatemenudefaults is not None else _v
if _v is not None:
self["updatemenudefaults"] = _v
_v = arg.pop("violingap", None)
_v = violingap if violingap is not None else _v
if _v is not None:
self["violingap"] = _v
_v = arg.pop("violingroupgap", None)
_v = violingroupgap if violingroupgap is not None else _v
if _v is not None:
self["violingroupgap"] = _v
_v = arg.pop("violinmode", None)
_v = violinmode if violinmode is not None else _v
if _v is not None:
self["violinmode"] = _v
_v = arg.pop("waterfallgap", None)
_v = waterfallgap if waterfallgap is not None else _v
if _v is not None:
self["waterfallgap"] = _v
_v = arg.pop("waterfallgroupgap", None)
_v = waterfallgroupgap if waterfallgroupgap is not None else _v
if _v is not None:
self["waterfallgroupgap"] = _v
_v = arg.pop("waterfallmode", None)
_v = waterfallmode if waterfallmode is not None else _v
if _v is not None:
self["waterfallmode"] = _v
_v = arg.pop("width", None)
_v = width if width is not None else _v
if _v is not None:
self["width"] = _v
_v = arg.pop("xaxis", None)
_v = xaxis if xaxis is not None else _v
if _v is not None:
self["xaxis"] = _v
_v = arg.pop("yaxis", None)
_v = yaxis if yaxis is not None else _v
if _v is not None:
self["yaxis"] = _v
# Process unknown kwargs
# ----------------------
self._process_kwargs(**dict(arg, **kwargs))
# Reset skip_invalid
# ------------------
self._skip_invalid = False