diff options
author | sotech117 <michael_foiani@brown.edu> | 2025-07-31 17:27:24 -0400 |
---|---|---|
committer | sotech117 <michael_foiani@brown.edu> | 2025-07-31 17:27:24 -0400 |
commit | 5bf22fc7e3c392c8bd44315ca2d06d7dca7d084e (patch) | |
tree | 8dacb0f195df1c0788d36dd0064f6bbaa3143ede /venv/lib/python3.8/site-packages/plotly/graph_objs/layout | |
parent | b832d364da8c2efe09e3f75828caf73c50d01ce3 (diff) |
add code for analysis of data
Diffstat (limited to 'venv/lib/python3.8/site-packages/plotly/graph_objs/layout')
288 files changed, 74548 insertions, 0 deletions
diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/__init__.py new file mode 100644 index 0000000..9fe6cad --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/__init__.py @@ -0,0 +1,120 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._activeselection import Activeselection + from ._activeshape import Activeshape + from ._annotation import Annotation + from ._coloraxis import Coloraxis + from ._colorscale import Colorscale + from ._font import Font + from ._geo import Geo + from ._grid import Grid + from ._hoverlabel import Hoverlabel + from ._image import Image + from ._legend import Legend + from ._map import Map + from ._mapbox import Mapbox + from ._margin import Margin + from ._modebar import Modebar + from ._newselection import Newselection + from ._newshape import Newshape + from ._polar import Polar + from ._scene import Scene + from ._selection import Selection + from ._shape import Shape + from ._slider import Slider + from ._smith import Smith + from ._template import Template + from ._ternary import Ternary + from ._title import Title + from ._transition import Transition + from ._uniformtext import Uniformtext + from ._updatemenu import Updatemenu + from ._xaxis import XAxis + from ._yaxis import YAxis + from . import annotation + from . import coloraxis + from . import geo + from . import grid + from . import hoverlabel + from . import legend + from . import map + from . import mapbox + from . import newselection + from . import newshape + from . import polar + from . import scene + from . import selection + from . import shape + from . import slider + from . import smith + from . import template + from . import ternary + from . import title + from . import updatemenu + from . import xaxis + from . import yaxis +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [ + ".annotation", + ".coloraxis", + ".geo", + ".grid", + ".hoverlabel", + ".legend", + ".map", + ".mapbox", + ".newselection", + ".newshape", + ".polar", + ".scene", + ".selection", + ".shape", + ".slider", + ".smith", + ".template", + ".ternary", + ".title", + ".updatemenu", + ".xaxis", + ".yaxis", + ], + [ + "._activeselection.Activeselection", + "._activeshape.Activeshape", + "._annotation.Annotation", + "._coloraxis.Coloraxis", + "._colorscale.Colorscale", + "._font.Font", + "._geo.Geo", + "._grid.Grid", + "._hoverlabel.Hoverlabel", + "._image.Image", + "._legend.Legend", + "._map.Map", + "._mapbox.Mapbox", + "._margin.Margin", + "._modebar.Modebar", + "._newselection.Newselection", + "._newshape.Newshape", + "._polar.Polar", + "._scene.Scene", + "._selection.Selection", + "._shape.Shape", + "._slider.Slider", + "._smith.Smith", + "._template.Template", + "._ternary.Ternary", + "._title.Title", + "._transition.Transition", + "._uniformtext.Uniformtext", + "._updatemenu.Updatemenu", + "._xaxis.XAxis", + "._yaxis.YAxis", + ], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_activeselection.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_activeselection.py new file mode 100644 index 0000000..df89476 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_activeselection.py @@ -0,0 +1,104 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Activeselection(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.activeselection" + _valid_props = {"fillcolor", "opacity"} + + @property + def fillcolor(self): + """ + Sets the color filling the active selection' interior. + + The 'fillcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["fillcolor"] + + @fillcolor.setter + def fillcolor(self, val): + self["fillcolor"] = val + + @property + def opacity(self): + """ + Sets the opacity of the active selection. + + The 'opacity' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["opacity"] + + @opacity.setter + def opacity(self, val): + self["opacity"] = val + + @property + def _prop_descriptions(self): + return """\ + fillcolor + Sets the color filling the active selection' interior. + opacity + Sets the opacity of the active selection. + """ + + def __init__(self, arg=None, fillcolor=None, opacity=None, **kwargs): + """ + Construct a new Activeselection object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Activeselection` + fillcolor + Sets the color filling the active selection' interior. + opacity + Sets the opacity of the active selection. + + Returns + ------- + Activeselection + """ + super().__init__("activeselection") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Activeselection +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Activeselection`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("fillcolor", arg, fillcolor) + self._set_property("opacity", arg, opacity) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_activeshape.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_activeshape.py new file mode 100644 index 0000000..e350187 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_activeshape.py @@ -0,0 +1,104 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Activeshape(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.activeshape" + _valid_props = {"fillcolor", "opacity"} + + @property + def fillcolor(self): + """ + Sets the color filling the active shape' interior. + + The 'fillcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["fillcolor"] + + @fillcolor.setter + def fillcolor(self, val): + self["fillcolor"] = val + + @property + def opacity(self): + """ + Sets the opacity of the active shape. + + The 'opacity' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["opacity"] + + @opacity.setter + def opacity(self, val): + self["opacity"] = val + + @property + def _prop_descriptions(self): + return """\ + fillcolor + Sets the color filling the active shape' interior. + opacity + Sets the opacity of the active shape. + """ + + def __init__(self, arg=None, fillcolor=None, opacity=None, **kwargs): + """ + Construct a new Activeshape object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Activeshape` + fillcolor + Sets the color filling the active shape' interior. + opacity + Sets the opacity of the active shape. + + Returns + ------- + Activeshape + """ + super().__init__("activeshape") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Activeshape +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Activeshape`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("fillcolor", arg, fillcolor) + self._set_property("opacity", arg, opacity) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_annotation.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_annotation.py new file mode 100644 index 0000000..5be9964 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_annotation.py @@ -0,0 +1,1714 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Annotation(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.annotation" + _valid_props = { + "align", + "arrowcolor", + "arrowhead", + "arrowside", + "arrowsize", + "arrowwidth", + "ax", + "axref", + "ay", + "ayref", + "bgcolor", + "bordercolor", + "borderpad", + "borderwidth", + "captureevents", + "clicktoshow", + "font", + "height", + "hoverlabel", + "hovertext", + "name", + "opacity", + "showarrow", + "standoff", + "startarrowhead", + "startarrowsize", + "startstandoff", + "templateitemname", + "text", + "textangle", + "valign", + "visible", + "width", + "x", + "xanchor", + "xclick", + "xref", + "xshift", + "y", + "yanchor", + "yclick", + "yref", + "yshift", + } + + @property + def align(self): + """ + 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 <br> HTML tags) or if an explicit width is + set to override the text width. + + The 'align' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['left', 'center', 'right'] + + Returns + ------- + Any + """ + return self["align"] + + @align.setter + def align(self, val): + self["align"] = val + + @property + def arrowcolor(self): + """ + Sets the color of the annotation arrow. + + The 'arrowcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["arrowcolor"] + + @arrowcolor.setter + def arrowcolor(self, val): + self["arrowcolor"] = val + + @property + def arrowhead(self): + """ + Sets the end annotation arrow head style. + + The 'arrowhead' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 8] + + Returns + ------- + int + """ + return self["arrowhead"] + + @arrowhead.setter + def arrowhead(self, val): + self["arrowhead"] = val + + @property + def arrowside(self): + """ + Sets the annotation arrow head position. + + The 'arrowside' property is a flaglist and may be specified + as a string containing: + - Any combination of ['end', 'start'] joined with '+' characters + (e.g. 'end+start') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["arrowside"] + + @arrowside.setter + def arrowside(self, val): + self["arrowside"] = val + + @property + def arrowsize(self): + """ + 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. + + The 'arrowsize' property is a number and may be specified as: + - An int or float in the interval [0.3, inf] + + Returns + ------- + int|float + """ + return self["arrowsize"] + + @arrowsize.setter + def arrowsize(self, val): + self["arrowsize"] = val + + @property + def arrowwidth(self): + """ + Sets the width (in px) of annotation arrow line. + + The 'arrowwidth' property is a number and may be specified as: + - An int or float in the interval [0.1, inf] + + Returns + ------- + int|float + """ + return self["arrowwidth"] + + @arrowwidth.setter + def arrowwidth(self, val): + self["arrowwidth"] = val + + @property + def ax(self): + """ + 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`. + + The 'ax' property accepts values of any type + + Returns + ------- + Any + """ + return self["ax"] + + @ax.setter + def ax(self, val): + self["ax"] = val + + @property + def axref(self): + """ + 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. + + The 'axref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['pixel'] + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["axref"] + + @axref.setter + def axref(self, val): + self["axref"] = val + + @property + def ay(self): + """ + 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`. + + The 'ay' property accepts values of any type + + Returns + ------- + Any + """ + return self["ay"] + + @ay.setter + def ay(self, val): + self["ay"] = val + + @property + def ayref(self): + """ + 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. + + The 'ayref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['pixel'] + - A string that matches one of the following regular expressions: + ['^y([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["ayref"] + + @ayref.setter + def ayref(self, val): + self["ayref"] = val + + @property + def bgcolor(self): + """ + Sets the background color of the annotation. + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def bordercolor(self): + """ + Sets the color of the border enclosing the annotation `text`. + + The 'bordercolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bordercolor"] + + @bordercolor.setter + def bordercolor(self, val): + self["bordercolor"] = val + + @property + def borderpad(self): + """ + Sets the padding (in px) between the `text` and the enclosing + border. + + The 'borderpad' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["borderpad"] + + @borderpad.setter + def borderpad(self, val): + self["borderpad"] = val + + @property + def borderwidth(self): + """ + Sets the width (in px) of the border enclosing the annotation + `text`. + + The 'borderwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["borderwidth"] + + @borderwidth.setter + def borderwidth(self, val): + self["borderwidth"] = val + + @property + def captureevents(self): + """ + 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`. + + The 'captureevents' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["captureevents"] + + @captureevents.setter + def captureevents(self, val): + self["captureevents"] = val + + @property + def clicktoshow(self): + """ + 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`. + + The 'clicktoshow' property is an enumeration that may be specified as: + - One of the following enumeration values: + [False, 'onoff', 'onout'] + + Returns + ------- + Any + """ + return self["clicktoshow"] + + @clicktoshow.setter + def clicktoshow(self, val): + self["clicktoshow"] = val + + @property + def font(self): + """ + Sets the annotation text font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.annotation.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.annotation.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def height(self): + """ + Sets an explicit height for the text box. null (default) lets + the text set the box height. Taller text will be clipped. + + The 'height' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["height"] + + @height.setter + def height(self, val): + self["height"] = val + + @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.annotation.Hoverlabel` + - A dict of string/value properties that will be passed + to the Hoverlabel constructor + + Returns + ------- + plotly.graph_objs.layout.annotation.Hoverlabel + """ + return self["hoverlabel"] + + @hoverlabel.setter + def hoverlabel(self, val): + self["hoverlabel"] = val + + @property + def hovertext(self): + """ + Sets text to appear when hovering over this annotation. If + omitted or blank, no hover label will appear. + + The 'hovertext' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["hovertext"] + + @hovertext.setter + def hovertext(self, val): + self["hovertext"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def opacity(self): + """ + Sets the opacity of the annotation (text + arrow). + + The 'opacity' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["opacity"] + + @opacity.setter + def opacity(self, val): + self["opacity"] = val + + @property + def showarrow(self): + """ + 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. + + The 'showarrow' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showarrow"] + + @showarrow.setter + def showarrow(self, val): + self["showarrow"] = val + + @property + def standoff(self): + """ + 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. + + The 'standoff' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["standoff"] + + @standoff.setter + def standoff(self, val): + self["standoff"] = val + + @property + def startarrowhead(self): + """ + Sets the start annotation arrow head style. + + The 'startarrowhead' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 8] + + Returns + ------- + int + """ + return self["startarrowhead"] + + @startarrowhead.setter + def startarrowhead(self, val): + self["startarrowhead"] = val + + @property + def startarrowsize(self): + """ + 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. + + The 'startarrowsize' property is a number and may be specified as: + - An int or float in the interval [0.3, inf] + + Returns + ------- + int|float + """ + return self["startarrowsize"] + + @startarrowsize.setter + def startarrowsize(self, val): + self["startarrowsize"] = val + + @property + def startstandoff(self): + """ + 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. + + The 'startstandoff' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["startstandoff"] + + @startstandoff.setter + def startstandoff(self, val): + self["startstandoff"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def text(self): + """ + Sets the text associated with this annotation. Plotly uses a + subset of HTML tags to do things like newline (<br>), bold + (<b></b>), italics (<i></i>), hyperlinks (<a href='...'></a>). + Tags <em>, <sup>, <sub>, <s>, <u> <span> are also supported. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def textangle(self): + """ + Sets the angle at which the `text` is drawn with respect to the + horizontal. + + The 'textangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["textangle"] + + @textangle.setter + def textangle(self, val): + self["textangle"] = val + + @property + def valign(self): + """ + 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. + + The 'valign' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["valign"] + + @valign.setter + def valign(self, val): + self["valign"] = val + + @property + def visible(self): + """ + Determines whether or not this annotation is visible. + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def width(self): + """ + 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 <br> to start a new line. + + The 'width' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["width"] + + @width.setter + def width(self, val): + self["width"] = val + + @property + def x(self): + """ + 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. + + The 'x' property accepts values of any type + + Returns + ------- + Any + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def xanchor(self): + """ + 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. + + The 'xanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'left', 'center', 'right'] + + Returns + ------- + Any + """ + return self["xanchor"] + + @xanchor.setter + def xanchor(self, val): + self["xanchor"] = val + + @property + def xclick(self): + """ + Toggle this annotation when clicking a data point whose `x` + value is `xclick` rather than the annotation's `x` value. + + The 'xclick' property accepts values of any type + + Returns + ------- + Any + """ + return self["xclick"] + + @xclick.setter + def xclick(self, val): + self["xclick"] = val + + @property + def xref(self): + """ + 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. + + The 'xref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['paper'] + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["xref"] + + @xref.setter + def xref(self, val): + self["xref"] = val + + @property + def xshift(self): + """ + Shifts the position of the whole annotation and arrow to the + right (positive) or left (negative) by this many pixels. + + The 'xshift' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["xshift"] + + @xshift.setter + def xshift(self, val): + self["xshift"] = val + + @property + def y(self): + """ + 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. + + The 'y' property accepts values of any type + + Returns + ------- + Any + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def yanchor(self): + """ + 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. + + The 'yanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["yanchor"] + + @yanchor.setter + def yanchor(self, val): + self["yanchor"] = val + + @property + def yclick(self): + """ + Toggle this annotation when clicking a data point whose `y` + value is `yclick` rather than the annotation's `y` value. + + The 'yclick' property accepts values of any type + + Returns + ------- + Any + """ + return self["yclick"] + + @yclick.setter + def yclick(self, val): + self["yclick"] = val + + @property + def yref(self): + """ + 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. + + The 'yref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['paper'] + - A string that matches one of the following regular expressions: + ['^y([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["yref"] + + @yref.setter + def yref(self, val): + self["yref"] = val + + @property + def yshift(self): + """ + Shifts the position of the whole annotation and arrow up + (positive) or down (negative) by this many pixels. + + The 'yshift' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["yshift"] + + @yshift.setter + def yshift(self, val): + self["yshift"] = val + + @property + def _prop_descriptions(self): + return """\ + 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 <br> 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.Hoverlab + el` 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 + (<br>), bold (<b></b>), italics (<i></i>), hyperlinks + (<a href='...'></a>). Tags <em>, <sup>, <sub>, <s>, <u> + <span> 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 <br> 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. + """ + + def __init__( + self, + arg=None, + align=None, + arrowcolor=None, + arrowhead=None, + arrowside=None, + arrowsize=None, + arrowwidth=None, + ax=None, + axref=None, + ay=None, + ayref=None, + bgcolor=None, + bordercolor=None, + borderpad=None, + borderwidth=None, + captureevents=None, + clicktoshow=None, + font=None, + height=None, + hoverlabel=None, + hovertext=None, + name=None, + opacity=None, + showarrow=None, + standoff=None, + startarrowhead=None, + startarrowsize=None, + startstandoff=None, + templateitemname=None, + text=None, + textangle=None, + valign=None, + visible=None, + width=None, + x=None, + xanchor=None, + xclick=None, + xref=None, + xshift=None, + y=None, + yanchor=None, + yclick=None, + yref=None, + yshift=None, + **kwargs, + ): + """ + Construct a new Annotation object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Annotation` + 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 <br> 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.Hoverlab + el` 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 + (<br>), bold (<b></b>), italics (<i></i>), hyperlinks + (<a href='...'></a>). Tags <em>, <sup>, <sub>, <s>, <u> + <span> 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 <br> 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 + ------- + Annotation + """ + super().__init__("annotations") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Annotation +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Annotation`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("align", arg, align) + self._set_property("arrowcolor", arg, arrowcolor) + self._set_property("arrowhead", arg, arrowhead) + self._set_property("arrowside", arg, arrowside) + self._set_property("arrowsize", arg, arrowsize) + self._set_property("arrowwidth", arg, arrowwidth) + self._set_property("ax", arg, ax) + self._set_property("axref", arg, axref) + self._set_property("ay", arg, ay) + self._set_property("ayref", arg, ayref) + self._set_property("bgcolor", arg, bgcolor) + self._set_property("bordercolor", arg, bordercolor) + self._set_property("borderpad", arg, borderpad) + self._set_property("borderwidth", arg, borderwidth) + self._set_property("captureevents", arg, captureevents) + self._set_property("clicktoshow", arg, clicktoshow) + self._set_property("font", arg, font) + self._set_property("height", arg, height) + self._set_property("hoverlabel", arg, hoverlabel) + self._set_property("hovertext", arg, hovertext) + self._set_property("name", arg, name) + self._set_property("opacity", arg, opacity) + self._set_property("showarrow", arg, showarrow) + self._set_property("standoff", arg, standoff) + self._set_property("startarrowhead", arg, startarrowhead) + self._set_property("startarrowsize", arg, startarrowsize) + self._set_property("startstandoff", arg, startstandoff) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("text", arg, text) + self._set_property("textangle", arg, textangle) + self._set_property("valign", arg, valign) + self._set_property("visible", arg, visible) + self._set_property("width", arg, width) + self._set_property("x", arg, x) + self._set_property("xanchor", arg, xanchor) + self._set_property("xclick", arg, xclick) + self._set_property("xref", arg, xref) + self._set_property("xshift", arg, xshift) + self._set_property("y", arg, y) + self._set_property("yanchor", arg, yanchor) + self._set_property("yclick", arg, yclick) + self._set_property("yref", arg, yref) + self._set_property("yshift", arg, yshift) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_coloraxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_coloraxis.py new file mode 100644 index 0000000..4606c7a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_coloraxis.py @@ -0,0 +1,396 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Coloraxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.coloraxis" + _valid_props = { + "autocolorscale", + "cauto", + "cmax", + "cmid", + "cmin", + "colorbar", + "colorscale", + "reversescale", + "showscale", + } + + @property + def autocolorscale(self): + """ + 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. + + The 'autocolorscale' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["autocolorscale"] + + @autocolorscale.setter + def autocolorscale(self, val): + self["autocolorscale"] = val + + @property + def cauto(self): + """ + 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. + + The 'cauto' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["cauto"] + + @cauto.setter + def cauto(self, val): + self["cauto"] = val + + @property + def cmax(self): + """ + 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. + + The 'cmax' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["cmax"] + + @cmax.setter + def cmax(self, val): + self["cmax"] = val + + @property + def cmid(self): + """ + 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`. + + The 'cmid' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["cmid"] + + @cmid.setter + def cmid(self, val): + self["cmid"] = val + + @property + def cmin(self): + """ + 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. + + The 'cmin' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["cmin"] + + @cmin.setter + def cmin(self, val): + self["cmin"] = val + + @property + def colorbar(self): + """ + The 'colorbar' property is an instance of ColorBar + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.coloraxis.ColorBar` + - A dict of string/value properties that will be passed + to the ColorBar constructor + + Returns + ------- + plotly.graph_objs.layout.coloraxis.ColorBar + """ + return self["colorbar"] + + @colorbar.setter + def colorbar(self, val): + self["colorbar"] = val + + @property + def colorscale(self): + """ + 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: Blackbody,Bluered,Blues,Cividis,Earth,Electric, + Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis, + YlGnBu,YlOrRd. + + The 'colorscale' property is a colorscale and may be + specified as: + - A list of colors that will be spaced evenly to create the colorscale. + Many predefined colorscale lists are included in the sequential, diverging, + and cyclical modules in the plotly.colors package. + - A list of 2-element lists where the first element is the + normalized color level value (starting at 0 and ending at 1), + and the second item is a valid color string. + (e.g. [[0, 'green'], [0.5, 'red'], [1.0, 'rgb(0, 0, 255)']]) + - One of the following named colorscales: + ['aggrnyl', 'agsunset', 'algae', 'amp', 'armyrose', 'balance', + 'blackbody', 'bluered', 'blues', 'blugrn', 'bluyl', 'brbg', + 'brwnyl', 'bugn', 'bupu', 'burg', 'burgyl', 'cividis', 'curl', + 'darkmint', 'deep', 'delta', 'dense', 'earth', 'edge', 'electric', + 'emrld', 'fall', 'geyser', 'gnbu', 'gray', 'greens', 'greys', + 'haline', 'hot', 'hsv', 'ice', 'icefire', 'inferno', 'jet', + 'magenta', 'magma', 'matter', 'mint', 'mrybm', 'mygbm', 'oranges', + 'orrd', 'oryel', 'oxy', 'peach', 'phase', 'picnic', 'pinkyl', + 'piyg', 'plasma', 'plotly3', 'portland', 'prgn', 'pubu', 'pubugn', + 'puor', 'purd', 'purp', 'purples', 'purpor', 'rainbow', 'rdbu', + 'rdgy', 'rdpu', 'rdylbu', 'rdylgn', 'redor', 'reds', 'solar', + 'spectral', 'speed', 'sunset', 'sunsetdark', 'teal', 'tealgrn', + 'tealrose', 'tempo', 'temps', 'thermal', 'tropic', 'turbid', + 'turbo', 'twilight', 'viridis', 'ylgn', 'ylgnbu', 'ylorbr', + 'ylorrd']. + Appending '_r' to a named colorscale reverses it. + + Returns + ------- + str + """ + return self["colorscale"] + + @colorscale.setter + def colorscale(self, val): + self["colorscale"] = val + + @property + def reversescale(self): + """ + 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. + + The 'reversescale' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["reversescale"] + + @reversescale.setter + def reversescale(self, val): + self["reversescale"] = val + + @property + def showscale(self): + """ + Determines whether or not a colorbar is displayed for this + trace. + + The 'showscale' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showscale"] + + @showscale.setter + def showscale(self, val): + self["showscale"] = val + + @property + def _prop_descriptions(self): + return """\ + 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.ColorBar` + 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: Blackbody,Bluered,Blues,C + ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl + and,Rainbow,RdBu,Reds,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. + """ + + def __init__( + self, + arg=None, + autocolorscale=None, + cauto=None, + cmax=None, + cmid=None, + cmin=None, + colorbar=None, + colorscale=None, + reversescale=None, + showscale=None, + **kwargs, + ): + """ + Construct a new Coloraxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Coloraxis` + 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.ColorBar` + 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: Blackbody,Bluered,Blues,C + ividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portl + and,Rainbow,RdBu,Reds,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 + ------- + Coloraxis + """ + super().__init__("coloraxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Coloraxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Coloraxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("autocolorscale", arg, autocolorscale) + self._set_property("cauto", arg, cauto) + self._set_property("cmax", arg, cmax) + self._set_property("cmid", arg, cmid) + self._set_property("cmin", arg, cmin) + self._set_property("colorbar", arg, colorbar) + self._set_property("colorscale", arg, colorscale) + self._set_property("reversescale", arg, reversescale) + self._set_property("showscale", arg, showscale) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_colorscale.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_colorscale.py new file mode 100644 index 0000000..b65ed87 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_colorscale.py @@ -0,0 +1,214 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Colorscale(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.colorscale" + _valid_props = {"diverging", "sequential", "sequentialminus"} + + @property + def diverging(self): + """ + Sets the default diverging colorscale. Note that + `autocolorscale` must be true for this attribute to work. + + The 'diverging' property is a colorscale and may be + specified as: + - A list of colors that will be spaced evenly to create the colorscale. + Many predefined colorscale lists are included in the sequential, diverging, + and cyclical modules in the plotly.colors package. + - A list of 2-element lists where the first element is the + normalized color level value (starting at 0 and ending at 1), + and the second item is a valid color string. + (e.g. [[0, 'green'], [0.5, 'red'], [1.0, 'rgb(0, 0, 255)']]) + - One of the following named colorscales: + ['aggrnyl', 'agsunset', 'algae', 'amp', 'armyrose', 'balance', + 'blackbody', 'bluered', 'blues', 'blugrn', 'bluyl', 'brbg', + 'brwnyl', 'bugn', 'bupu', 'burg', 'burgyl', 'cividis', 'curl', + 'darkmint', 'deep', 'delta', 'dense', 'earth', 'edge', 'electric', + 'emrld', 'fall', 'geyser', 'gnbu', 'gray', 'greens', 'greys', + 'haline', 'hot', 'hsv', 'ice', 'icefire', 'inferno', 'jet', + 'magenta', 'magma', 'matter', 'mint', 'mrybm', 'mygbm', 'oranges', + 'orrd', 'oryel', 'oxy', 'peach', 'phase', 'picnic', 'pinkyl', + 'piyg', 'plasma', 'plotly3', 'portland', 'prgn', 'pubu', 'pubugn', + 'puor', 'purd', 'purp', 'purples', 'purpor', 'rainbow', 'rdbu', + 'rdgy', 'rdpu', 'rdylbu', 'rdylgn', 'redor', 'reds', 'solar', + 'spectral', 'speed', 'sunset', 'sunsetdark', 'teal', 'tealgrn', + 'tealrose', 'tempo', 'temps', 'thermal', 'tropic', 'turbid', + 'turbo', 'twilight', 'viridis', 'ylgn', 'ylgnbu', 'ylorbr', + 'ylorrd']. + Appending '_r' to a named colorscale reverses it. + + Returns + ------- + str + """ + return self["diverging"] + + @diverging.setter + def diverging(self, val): + self["diverging"] = val + + @property + def sequential(self): + """ + Sets the default sequential colorscale for positive values. + Note that `autocolorscale` must be true for this attribute to + work. + + The 'sequential' property is a colorscale and may be + specified as: + - A list of colors that will be spaced evenly to create the colorscale. + Many predefined colorscale lists are included in the sequential, diverging, + and cyclical modules in the plotly.colors package. + - A list of 2-element lists where the first element is the + normalized color level value (starting at 0 and ending at 1), + and the second item is a valid color string. + (e.g. [[0, 'green'], [0.5, 'red'], [1.0, 'rgb(0, 0, 255)']]) + - One of the following named colorscales: + ['aggrnyl', 'agsunset', 'algae', 'amp', 'armyrose', 'balance', + 'blackbody', 'bluered', 'blues', 'blugrn', 'bluyl', 'brbg', + 'brwnyl', 'bugn', 'bupu', 'burg', 'burgyl', 'cividis', 'curl', + 'darkmint', 'deep', 'delta', 'dense', 'earth', 'edge', 'electric', + 'emrld', 'fall', 'geyser', 'gnbu', 'gray', 'greens', 'greys', + 'haline', 'hot', 'hsv', 'ice', 'icefire', 'inferno', 'jet', + 'magenta', 'magma', 'matter', 'mint', 'mrybm', 'mygbm', 'oranges', + 'orrd', 'oryel', 'oxy', 'peach', 'phase', 'picnic', 'pinkyl', + 'piyg', 'plasma', 'plotly3', 'portland', 'prgn', 'pubu', 'pubugn', + 'puor', 'purd', 'purp', 'purples', 'purpor', 'rainbow', 'rdbu', + 'rdgy', 'rdpu', 'rdylbu', 'rdylgn', 'redor', 'reds', 'solar', + 'spectral', 'speed', 'sunset', 'sunsetdark', 'teal', 'tealgrn', + 'tealrose', 'tempo', 'temps', 'thermal', 'tropic', 'turbid', + 'turbo', 'twilight', 'viridis', 'ylgn', 'ylgnbu', 'ylorbr', + 'ylorrd']. + Appending '_r' to a named colorscale reverses it. + + Returns + ------- + str + """ + return self["sequential"] + + @sequential.setter + def sequential(self, val): + self["sequential"] = val + + @property + def sequentialminus(self): + """ + Sets the default sequential colorscale for negative values. + Note that `autocolorscale` must be true for this attribute to + work. + + The 'sequentialminus' property is a colorscale and may be + specified as: + - A list of colors that will be spaced evenly to create the colorscale. + Many predefined colorscale lists are included in the sequential, diverging, + and cyclical modules in the plotly.colors package. + - A list of 2-element lists where the first element is the + normalized color level value (starting at 0 and ending at 1), + and the second item is a valid color string. + (e.g. [[0, 'green'], [0.5, 'red'], [1.0, 'rgb(0, 0, 255)']]) + - One of the following named colorscales: + ['aggrnyl', 'agsunset', 'algae', 'amp', 'armyrose', 'balance', + 'blackbody', 'bluered', 'blues', 'blugrn', 'bluyl', 'brbg', + 'brwnyl', 'bugn', 'bupu', 'burg', 'burgyl', 'cividis', 'curl', + 'darkmint', 'deep', 'delta', 'dense', 'earth', 'edge', 'electric', + 'emrld', 'fall', 'geyser', 'gnbu', 'gray', 'greens', 'greys', + 'haline', 'hot', 'hsv', 'ice', 'icefire', 'inferno', 'jet', + 'magenta', 'magma', 'matter', 'mint', 'mrybm', 'mygbm', 'oranges', + 'orrd', 'oryel', 'oxy', 'peach', 'phase', 'picnic', 'pinkyl', + 'piyg', 'plasma', 'plotly3', 'portland', 'prgn', 'pubu', 'pubugn', + 'puor', 'purd', 'purp', 'purples', 'purpor', 'rainbow', 'rdbu', + 'rdgy', 'rdpu', 'rdylbu', 'rdylgn', 'redor', 'reds', 'solar', + 'spectral', 'speed', 'sunset', 'sunsetdark', 'teal', 'tealgrn', + 'tealrose', 'tempo', 'temps', 'thermal', 'tropic', 'turbid', + 'turbo', 'twilight', 'viridis', 'ylgn', 'ylgnbu', 'ylorbr', + 'ylorrd']. + Appending '_r' to a named colorscale reverses it. + + Returns + ------- + str + """ + return self["sequentialminus"] + + @sequentialminus.setter + def sequentialminus(self, val): + self["sequentialminus"] = val + + @property + def _prop_descriptions(self): + return """\ + 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. + """ + + def __init__( + self, arg=None, diverging=None, sequential=None, sequentialminus=None, **kwargs + ): + """ + Construct a new Colorscale object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Colorscale` + 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 + ------- + Colorscale + """ + super().__init__("colorscale") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Colorscale +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Colorscale`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("diverging", arg, diverging) + self._set_property("sequential", arg, sequential) + self._set_property("sequentialminus", arg, sequentialminus) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_font.py new file mode 100644 index 0000000..c691e70 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the global font. Note that fonts used in traces and other + layout components inherit from the global font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_geo.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_geo.py new file mode 100644 index 0000000..40fba3a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_geo.py @@ -0,0 +1,968 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Geo(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.geo" + _valid_props = { + "bgcolor", + "center", + "coastlinecolor", + "coastlinewidth", + "countrycolor", + "countrywidth", + "domain", + "fitbounds", + "framecolor", + "framewidth", + "lakecolor", + "landcolor", + "lataxis", + "lonaxis", + "oceancolor", + "projection", + "resolution", + "rivercolor", + "riverwidth", + "scope", + "showcoastlines", + "showcountries", + "showframe", + "showlakes", + "showland", + "showocean", + "showrivers", + "showsubunits", + "subunitcolor", + "subunitwidth", + "uirevision", + "visible", + } + + @property + def bgcolor(self): + """ + Set the background color of the map + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def center(self): + """ + The 'center' property is an instance of Center + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.geo.Center` + - A dict of string/value properties that will be passed + to the Center constructor + + Returns + ------- + plotly.graph_objs.layout.geo.Center + """ + return self["center"] + + @center.setter + def center(self, val): + self["center"] = val + + @property + def coastlinecolor(self): + """ + Sets the coastline color. + + The 'coastlinecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["coastlinecolor"] + + @coastlinecolor.setter + def coastlinecolor(self, val): + self["coastlinecolor"] = val + + @property + def coastlinewidth(self): + """ + Sets the coastline stroke width (in px). + + The 'coastlinewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["coastlinewidth"] + + @coastlinewidth.setter + def coastlinewidth(self, val): + self["coastlinewidth"] = val + + @property + def countrycolor(self): + """ + Sets line color of the country boundaries. + + The 'countrycolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["countrycolor"] + + @countrycolor.setter + def countrycolor(self, val): + self["countrycolor"] = val + + @property + def countrywidth(self): + """ + Sets line width (in px) of the country boundaries. + + The 'countrywidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["countrywidth"] + + @countrywidth.setter + def countrywidth(self, val): + self["countrywidth"] = val + + @property + def domain(self): + """ + The 'domain' property is an instance of Domain + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.geo.Domain` + - A dict of string/value properties that will be passed + to the Domain constructor + + Returns + ------- + plotly.graph_objs.layout.geo.Domain + """ + return self["domain"] + + @domain.setter + def domain(self, val): + self["domain"] = val + + @property + def fitbounds(self): + """ + 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 `lataxis.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. + + The 'fitbounds' property is an enumeration that may be specified as: + - One of the following enumeration values: + [False, 'locations', 'geojson'] + + Returns + ------- + Any + """ + return self["fitbounds"] + + @fitbounds.setter + def fitbounds(self, val): + self["fitbounds"] = val + + @property + def framecolor(self): + """ + Sets the color the frame. + + The 'framecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["framecolor"] + + @framecolor.setter + def framecolor(self, val): + self["framecolor"] = val + + @property + def framewidth(self): + """ + Sets the stroke width (in px) of the frame. + + The 'framewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["framewidth"] + + @framewidth.setter + def framewidth(self, val): + self["framewidth"] = val + + @property + def lakecolor(self): + """ + Sets the color of the lakes. + + The 'lakecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["lakecolor"] + + @lakecolor.setter + def lakecolor(self, val): + self["lakecolor"] = val + + @property + def landcolor(self): + """ + Sets the land mass color. + + The 'landcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["landcolor"] + + @landcolor.setter + def landcolor(self, val): + self["landcolor"] = val + + @property + def lataxis(self): + """ + The 'lataxis' property is an instance of Lataxis + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.geo.Lataxis` + - A dict of string/value properties that will be passed + to the Lataxis constructor + + Returns + ------- + plotly.graph_objs.layout.geo.Lataxis + """ + return self["lataxis"] + + @lataxis.setter + def lataxis(self, val): + self["lataxis"] = val + + @property + def lonaxis(self): + """ + The 'lonaxis' property is an instance of Lonaxis + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.geo.Lonaxis` + - A dict of string/value properties that will be passed + to the Lonaxis constructor + + Returns + ------- + plotly.graph_objs.layout.geo.Lonaxis + """ + return self["lonaxis"] + + @lonaxis.setter + def lonaxis(self, val): + self["lonaxis"] = val + + @property + def oceancolor(self): + """ + Sets the ocean color + + The 'oceancolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["oceancolor"] + + @oceancolor.setter + def oceancolor(self, val): + self["oceancolor"] = val + + @property + def projection(self): + """ + The 'projection' property is an instance of Projection + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.geo.Projection` + - A dict of string/value properties that will be passed + to the Projection constructor + + Returns + ------- + plotly.graph_objs.layout.geo.Projection + """ + return self["projection"] + + @projection.setter + def projection(self, val): + self["projection"] = val + + @property + def resolution(self): + """ + 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. + + The 'resolution' property is an enumeration that may be specified as: + - One of the following enumeration values: + [110, 50] + + Returns + ------- + Any + """ + return self["resolution"] + + @resolution.setter + def resolution(self, val): + self["resolution"] = val + + @property + def rivercolor(self): + """ + Sets color of the rivers. + + The 'rivercolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["rivercolor"] + + @rivercolor.setter + def rivercolor(self, val): + self["rivercolor"] = val + + @property + def riverwidth(self): + """ + Sets the stroke width (in px) of the rivers. + + The 'riverwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["riverwidth"] + + @riverwidth.setter + def riverwidth(self, val): + self["riverwidth"] = val + + @property + def scope(self): + """ + Set the scope of the map. + + The 'scope' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['africa', 'asia', 'europe', 'north america', 'south + america', 'usa', 'world'] + + Returns + ------- + Any + """ + return self["scope"] + + @scope.setter + def scope(self, val): + self["scope"] = val + + @property + def showcoastlines(self): + """ + Sets whether or not the coastlines are drawn. + + The 'showcoastlines' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showcoastlines"] + + @showcoastlines.setter + def showcoastlines(self, val): + self["showcoastlines"] = val + + @property + def showcountries(self): + """ + Sets whether or not country boundaries are drawn. + + The 'showcountries' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showcountries"] + + @showcountries.setter + def showcountries(self, val): + self["showcountries"] = val + + @property + def showframe(self): + """ + Sets whether or not a frame is drawn around the map. + + The 'showframe' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showframe"] + + @showframe.setter + def showframe(self, val): + self["showframe"] = val + + @property + def showlakes(self): + """ + Sets whether or not lakes are drawn. + + The 'showlakes' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showlakes"] + + @showlakes.setter + def showlakes(self, val): + self["showlakes"] = val + + @property + def showland(self): + """ + Sets whether or not land masses are filled in color. + + The 'showland' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showland"] + + @showland.setter + def showland(self, val): + self["showland"] = val + + @property + def showocean(self): + """ + Sets whether or not oceans are filled in color. + + The 'showocean' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showocean"] + + @showocean.setter + def showocean(self, val): + self["showocean"] = val + + @property + def showrivers(self): + """ + Sets whether or not rivers are drawn. + + The 'showrivers' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showrivers"] + + @showrivers.setter + def showrivers(self, val): + self["showrivers"] = val + + @property + def showsubunits(self): + """ + Sets whether or not boundaries of subunits within countries + (e.g. states, provinces) are drawn. + + The 'showsubunits' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showsubunits"] + + @showsubunits.setter + def showsubunits(self, val): + self["showsubunits"] = val + + @property + def subunitcolor(self): + """ + Sets the color of the subunits boundaries. + + The 'subunitcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["subunitcolor"] + + @subunitcolor.setter + def subunitcolor(self, val): + self["subunitcolor"] = val + + @property + def subunitwidth(self): + """ + Sets the stroke width (in px) of the subunits boundaries. + + The 'subunitwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["subunitwidth"] + + @subunitwidth.setter + def subunitwidth(self, val): + self["subunitwidth"] = val + + @property + def uirevision(self): + """ + Controls persistence of user-driven changes in the view + (projection and center). Defaults to `layout.uirevision`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @property + def visible(self): + """ + Sets the default visibility of the base layers. + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def _prop_descriptions(self): + return """\ + 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 `lataxis.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.Projection` + 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. + """ + + def __init__( + self, + arg=None, + bgcolor=None, + center=None, + coastlinecolor=None, + coastlinewidth=None, + countrycolor=None, + countrywidth=None, + domain=None, + fitbounds=None, + framecolor=None, + framewidth=None, + lakecolor=None, + landcolor=None, + lataxis=None, + lonaxis=None, + oceancolor=None, + projection=None, + resolution=None, + rivercolor=None, + riverwidth=None, + scope=None, + showcoastlines=None, + showcountries=None, + showframe=None, + showlakes=None, + showland=None, + showocean=None, + showrivers=None, + showsubunits=None, + subunitcolor=None, + subunitwidth=None, + uirevision=None, + visible=None, + **kwargs, + ): + """ + Construct a new Geo object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.Geo` + 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 `lataxis.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.Projection` + 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 + ------- + Geo + """ + super().__init__("geo") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Geo +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Geo`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("bgcolor", arg, bgcolor) + self._set_property("center", arg, center) + self._set_property("coastlinecolor", arg, coastlinecolor) + self._set_property("coastlinewidth", arg, coastlinewidth) + self._set_property("countrycolor", arg, countrycolor) + self._set_property("countrywidth", arg, countrywidth) + self._set_property("domain", arg, domain) + self._set_property("fitbounds", arg, fitbounds) + self._set_property("framecolor", arg, framecolor) + self._set_property("framewidth", arg, framewidth) + self._set_property("lakecolor", arg, lakecolor) + self._set_property("landcolor", arg, landcolor) + self._set_property("lataxis", arg, lataxis) + self._set_property("lonaxis", arg, lonaxis) + self._set_property("oceancolor", arg, oceancolor) + self._set_property("projection", arg, projection) + self._set_property("resolution", arg, resolution) + self._set_property("rivercolor", arg, rivercolor) + self._set_property("riverwidth", arg, riverwidth) + self._set_property("scope", arg, scope) + self._set_property("showcoastlines", arg, showcoastlines) + self._set_property("showcountries", arg, showcountries) + self._set_property("showframe", arg, showframe) + self._set_property("showlakes", arg, showlakes) + self._set_property("showland", arg, showland) + self._set_property("showocean", arg, showocean) + self._set_property("showrivers", arg, showrivers) + self._set_property("showsubunits", arg, showsubunits) + self._set_property("subunitcolor", arg, subunitcolor) + self._set_property("subunitwidth", arg, subunitwidth) + self._set_property("uirevision", arg, uirevision) + self._set_property("visible", arg, visible) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_grid.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_grid.py new file mode 100644 index 0000000..8788027 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_grid.py @@ -0,0 +1,511 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Grid(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.grid" + _valid_props = { + "columns", + "domain", + "pattern", + "roworder", + "rows", + "subplots", + "xaxes", + "xgap", + "xside", + "yaxes", + "ygap", + "yside", + } + + @property + def columns(self): + """ + 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. + + The 'columns' 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["columns"] + + @columns.setter + def columns(self, val): + self["columns"] = val + + @property + def domain(self): + """ + The 'domain' property is an instance of Domain + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.grid.Domain` + - A dict of string/value properties that will be passed + to the Domain constructor + + Returns + ------- + plotly.graph_objs.layout.grid.Domain + """ + return self["domain"] + + @domain.setter + def domain(self, val): + self["domain"] = val + + @property + def pattern(self): + """ + 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`. + + The 'pattern' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['independent', 'coupled'] + + Returns + ------- + Any + """ + return self["pattern"] + + @pattern.setter + def pattern(self, val): + self["pattern"] = val + + @property + def roworder(self): + """ + Is the first row the top or the bottom? Note that columns are + always enumerated from left to right. + + The 'roworder' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top to bottom', 'bottom to top'] + + Returns + ------- + Any + """ + return self["roworder"] + + @roworder.setter + def roworder(self, val): + self["roworder"] = val + + @property + def rows(self): + """ + 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. + + The 'rows' 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["rows"] + + @rows.setter + def rows(self, val): + self["rows"] = val + + @property + def subplots(self): + """ + 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. + + The 'subplots' property is an info array that may be specified as: + * a 2D list where: + The 'subplots[i][j]' property is an enumeration that may be specified as: + - One of the following enumeration values: + [''] + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?$'] + + Returns + ------- + list + """ + return self["subplots"] + + @subplots.setter + def subplots(self, val): + self["subplots"] = val + + @property + def xaxes(self): + """ + 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. + + The 'xaxes' property is an info array that may be specified as: + * a list of elements where: + The 'xaxes[i]' property is an enumeration that may be specified as: + - One of the following enumeration values: + [''] + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + list + """ + return self["xaxes"] + + @xaxes.setter + def xaxes(self, val): + self["xaxes"] = val + + @property + def xgap(self): + """ + 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. + + The 'xgap' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["xgap"] + + @xgap.setter + def xgap(self, val): + self["xgap"] = val + + @property + def xside(self): + """ + 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. + + The 'xside' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['bottom', 'bottom plot', 'top plot', 'top'] + + Returns + ------- + Any + """ + return self["xside"] + + @xside.setter + def xside(self, val): + self["xside"] = val + + @property + def yaxes(self): + """ + 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. + + The 'yaxes' property is an info array that may be specified as: + * a list of elements where: + The 'yaxes[i]' property is an enumeration that may be specified as: + - One of the following enumeration values: + [''] + - A string that matches one of the following regular expressions: + ['^y([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + list + """ + return self["yaxes"] + + @yaxes.setter + def yaxes(self, val): + self["yaxes"] = val + + @property + def ygap(self): + """ + 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. + + The 'ygap' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["ygap"] + + @ygap.setter + def ygap(self, val): + self["ygap"] = val + + @property + def yside(self): + """ + 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. + + The 'yside' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['left', 'left plot', 'right plot', 'right'] + + Returns + ------- + Any + """ + return self["yside"] + + @yside.setter + def yside(self, val): + self["yside"] = val + + @property + def _prop_descriptions(self): + return """\ + 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. + """ + + def __init__( + self, + arg=None, + columns=None, + domain=None, + pattern=None, + roworder=None, + rows=None, + subplots=None, + xaxes=None, + xgap=None, + xside=None, + yaxes=None, + ygap=None, + yside=None, + **kwargs, + ): + """ + Construct a new Grid object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.Grid` + 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 + ------- + Grid + """ + super().__init__("grid") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Grid +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Grid`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("columns", arg, columns) + self._set_property("domain", arg, domain) + self._set_property("pattern", arg, pattern) + self._set_property("roworder", arg, roworder) + self._set_property("rows", arg, rows) + self._set_property("subplots", arg, subplots) + self._set_property("xaxes", arg, xaxes) + self._set_property("xgap", arg, xgap) + self._set_property("xside", arg, xside) + self._set_property("yaxes", arg, yaxes) + self._set_property("ygap", arg, ygap) + self._set_property("yside", arg, yside) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_hoverlabel.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_hoverlabel.py new file mode 100644 index 0000000..867d356 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_hoverlabel.py @@ -0,0 +1,254 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Hoverlabel(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.hoverlabel" + _valid_props = { + "align", + "bgcolor", + "bordercolor", + "font", + "grouptitlefont", + "namelength", + } + + @property + def align(self): + """ + 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 + + The 'align' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['left', 'right', 'auto'] + + Returns + ------- + Any + """ + return self["align"] + + @align.setter + def align(self, val): + self["align"] = val + + @property + def bgcolor(self): + """ + Sets the background color of all hover labels on graph + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def bordercolor(self): + """ + Sets the border color of all hover labels on graph. + + The 'bordercolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bordercolor"] + + @bordercolor.setter + def bordercolor(self, val): + self["bordercolor"] = val + + @property + def font(self): + """ + Sets the default hover label font used by all traces on the + graph. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.hoverlabel.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.hoverlabel.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def grouptitlefont(self): + """ + Sets the font for group titles in hover (unified modes). + Defaults to `hoverlabel.font`. + + The 'grouptitlefont' property is an instance of Grouptitlefont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.hoverlabel.Grouptitlefont` + - A dict of string/value properties that will be passed + to the Grouptitlefont constructor + + Returns + ------- + plotly.graph_objs.layout.hoverlabel.Grouptitlefont + """ + return self["grouptitlefont"] + + @grouptitlefont.setter + def grouptitlefont(self, val): + self["grouptitlefont"] = val + + @property + def namelength(self): + """ + 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. + + The 'namelength' 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["namelength"] + + @namelength.setter + def namelength(self, val): + self["namelength"] = val + + @property + def _prop_descriptions(self): + return """\ + 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. + """ + + def __init__( + self, + arg=None, + align=None, + bgcolor=None, + bordercolor=None, + font=None, + grouptitlefont=None, + namelength=None, + **kwargs, + ): + """ + Construct a new Hoverlabel object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Hoverlabel` + 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 + ------- + Hoverlabel + """ + super().__init__("hoverlabel") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Hoverlabel +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Hoverlabel`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("align", arg, align) + self._set_property("bgcolor", arg, bgcolor) + self._set_property("bordercolor", arg, bordercolor) + self._set_property("font", arg, font) + self._set_property("grouptitlefont", arg, grouptitlefont) + self._set_property("namelength", arg, namelength) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_image.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_image.py new file mode 100644 index 0000000..33865e4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_image.py @@ -0,0 +1,608 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Image(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.image" + _valid_props = { + "layer", + "name", + "opacity", + "sizex", + "sizey", + "sizing", + "source", + "templateitemname", + "visible", + "x", + "xanchor", + "xref", + "y", + "yanchor", + "yref", + } + + @property + def layer(self): + """ + 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. + + The 'layer' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['below', 'above'] + + Returns + ------- + Any + """ + return self["layer"] + + @layer.setter + def layer(self, val): + self["layer"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def opacity(self): + """ + Sets the opacity of the image. + + The 'opacity' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["opacity"] + + @opacity.setter + def opacity(self, val): + self["opacity"] = val + + @property + def sizex(self): + """ + 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. + + The 'sizex' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["sizex"] + + @sizex.setter + def sizex(self, val): + self["sizex"] = val + + @property + def sizey(self): + """ + 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. + + The 'sizey' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["sizey"] + + @sizey.setter + def sizey(self, val): + self["sizey"] = val + + @property + def sizing(self): + """ + Specifies which dimension of the image to constrain. + + The 'sizing' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['fill', 'contain', 'stretch'] + + Returns + ------- + Any + """ + return self["sizing"] + + @sizing.setter + def sizing(self, val): + self["sizing"] = val + + @property + def source(self): + """ + 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. + + The 'source' property is an image URI that may be specified as: + - A remote image URI string + (e.g. 'http://www.somewhere.com/image.png') + - A data URI image string + (e.g. 'data:image/png;base64,iVBORw0KGgoAAAANSU') + - A PIL.Image.Image object which will be immediately converted + to a data URI image string + See http://pillow.readthedocs.io/en/latest/reference/Image.html + + Returns + ------- + str + """ + return self["source"] + + @source.setter + def source(self, val): + self["source"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def visible(self): + """ + Determines whether or not this image is visible. + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def x(self): + """ + 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 + + The 'x' property accepts values of any type + + Returns + ------- + Any + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def xanchor(self): + """ + Sets the anchor for the x position + + The 'xanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['left', 'center', 'right'] + + Returns + ------- + Any + """ + return self["xanchor"] + + @xanchor.setter + def xanchor(self, val): + self["xanchor"] = val + + @property + def xref(self): + """ + 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. + + The 'xref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['paper'] + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["xref"] + + @xref.setter + def xref(self, val): + self["xref"] = val + + @property + def y(self): + """ + 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 + + The 'y' property accepts values of any type + + Returns + ------- + Any + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def yanchor(self): + """ + Sets the anchor for the y position. + + The 'yanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["yanchor"] + + @yanchor.setter + def yanchor(self, val): + self["yanchor"] = val + + @property + def yref(self): + """ + 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. + + The 'yref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['paper'] + - A string that matches one of the following regular expressions: + ['^y([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["yref"] + + @yref.setter + def yref(self, val): + self["yref"] = val + + @property + def _prop_descriptions(self): + return """\ + 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. + """ + + def __init__( + self, + arg=None, + layer=None, + name=None, + opacity=None, + sizex=None, + sizey=None, + sizing=None, + source=None, + templateitemname=None, + visible=None, + x=None, + xanchor=None, + xref=None, + y=None, + yanchor=None, + yref=None, + **kwargs, + ): + """ + Construct a new Image object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.Image` + 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 + ------- + Image + """ + super().__init__("images") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Image +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Image`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("layer", arg, layer) + self._set_property("name", arg, name) + self._set_property("opacity", arg, opacity) + self._set_property("sizex", arg, sizex) + self._set_property("sizey", arg, sizey) + self._set_property("sizing", arg, sizing) + self._set_property("source", arg, source) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("visible", arg, visible) + self._set_property("x", arg, x) + self._set_property("xanchor", arg, xanchor) + self._set_property("xref", arg, xref) + self._set_property("y", arg, y) + self._set_property("yanchor", arg, yanchor) + self._set_property("yref", arg, yref) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_legend.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_legend.py new file mode 100644 index 0000000..7df6dad --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_legend.py @@ -0,0 +1,916 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Legend(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.legend" + _valid_props = { + "bgcolor", + "bordercolor", + "borderwidth", + "entrywidth", + "entrywidthmode", + "font", + "groupclick", + "grouptitlefont", + "indentation", + "itemclick", + "itemdoubleclick", + "itemsizing", + "itemwidth", + "orientation", + "title", + "tracegroupgap", + "traceorder", + "uirevision", + "valign", + "visible", + "x", + "xanchor", + "xref", + "y", + "yanchor", + "yref", + } + + @property + def bgcolor(self): + """ + Sets the legend background color. Defaults to + `layout.paper_bgcolor`. + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def bordercolor(self): + """ + Sets the color of the border enclosing the legend. + + The 'bordercolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bordercolor"] + + @bordercolor.setter + def bordercolor(self, val): + self["bordercolor"] = val + + @property + def borderwidth(self): + """ + Sets the width (in px) of the border enclosing the legend. + + The 'borderwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["borderwidth"] + + @borderwidth.setter + def borderwidth(self, val): + self["borderwidth"] = val + + @property + def entrywidth(self): + """ + 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". + + The 'entrywidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["entrywidth"] + + @entrywidth.setter + def entrywidth(self, val): + self["entrywidth"] = val + + @property + def entrywidthmode(self): + """ + Determines what entrywidth means. + + The 'entrywidthmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['fraction', 'pixels'] + + Returns + ------- + Any + """ + return self["entrywidthmode"] + + @entrywidthmode.setter + def entrywidthmode(self, val): + self["entrywidthmode"] = val + + @property + def font(self): + """ + Sets the font used to text the legend items. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.legend.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.legend.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def groupclick(self): + """ + Determines the behavior on legend group item click. + "toggleitem" toggles the visibility of the individual item + clicked on the graph. "togglegroup" toggles the visibility of + all items in the same legendgroup as the item clicked on the + graph. + + The 'groupclick' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['toggleitem', 'togglegroup'] + + Returns + ------- + Any + """ + return self["groupclick"] + + @groupclick.setter + def groupclick(self, val): + self["groupclick"] = val + + @property + def grouptitlefont(self): + """ + Sets the font for group titles in legend. Defaults to + `legend.font` with its size increased about 10%. + + The 'grouptitlefont' property is an instance of Grouptitlefont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.legend.Grouptitlefont` + - A dict of string/value properties that will be passed + to the Grouptitlefont constructor + + Returns + ------- + plotly.graph_objs.layout.legend.Grouptitlefont + """ + return self["grouptitlefont"] + + @grouptitlefont.setter + def grouptitlefont(self, val): + self["grouptitlefont"] = val + + @property + def indentation(self): + """ + Sets the indentation (in px) of the legend entries. + + The 'indentation' property is a number and may be specified as: + - An int or float in the interval [-15, inf] + + Returns + ------- + int|float + """ + return self["indentation"] + + @indentation.setter + def indentation(self, val): + self["indentation"] = val + + @property + def itemclick(self): + """ + Determines the behavior on legend item click. "toggle" toggles + the visibility of the item clicked on the graph. "toggleothers" + makes the clicked item the sole visible item on the graph. + False disables legend item click interactions. + + The 'itemclick' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['toggle', 'toggleothers', False] + + Returns + ------- + Any + """ + return self["itemclick"] + + @itemclick.setter + def itemclick(self, val): + self["itemclick"] = val + + @property + def itemdoubleclick(self): + """ + Determines the behavior on legend item double-click. "toggle" + toggles the visibility of the item clicked on the graph. + "toggleothers" makes the clicked item the sole visible item on + the graph. False disables legend item double-click + interactions. + + The 'itemdoubleclick' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['toggle', 'toggleothers', False] + + Returns + ------- + Any + """ + return self["itemdoubleclick"] + + @itemdoubleclick.setter + def itemdoubleclick(self, val): + self["itemdoubleclick"] = val + + @property + def itemsizing(self): + """ + Determines if the legend items symbols scale with their + corresponding "trace" attributes or remain "constant" + independent of the symbol size on the graph. + + The 'itemsizing' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['trace', 'constant'] + + Returns + ------- + Any + """ + return self["itemsizing"] + + @itemsizing.setter + def itemsizing(self, val): + self["itemsizing"] = val + + @property + def itemwidth(self): + """ + Sets the width (in px) of the legend item symbols (the part + other than the title.text). + + The 'itemwidth' property is a number and may be specified as: + - An int or float in the interval [30, inf] + + Returns + ------- + int|float + """ + return self["itemwidth"] + + @itemwidth.setter + def itemwidth(self, val): + self["itemwidth"] = val + + @property + def orientation(self): + """ + Sets the orientation of the legend. + + The 'orientation' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['v', 'h'] + + Returns + ------- + Any + """ + return self["orientation"] + + @orientation.setter + def orientation(self, val): + self["orientation"] = val + + @property + def title(self): + """ + The 'title' property is an instance of Title + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.legend.Title` + - A dict of string/value properties that will be passed + to the Title constructor + + Returns + ------- + plotly.graph_objs.layout.legend.Title + """ + return self["title"] + + @title.setter + def title(self, val): + self["title"] = val + + @property + def tracegroupgap(self): + """ + Sets the amount of vertical space (in px) between legend + groups. + + The 'tracegroupgap' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tracegroupgap"] + + @tracegroupgap.setter + def tracegroupgap(self, val): + self["tracegroupgap"] = val + + @property + def traceorder(self): + """ + Determines the order at which the legend items are displayed. + If "normal", the items are displayed top-to-bottom in the same + order as the input data. If "reversed", the items are displayed + in the opposite order as "normal". If "grouped", the items are + displayed in groups (when a trace `legendgroup` is provided). + if "grouped+reversed", the items are displayed in the opposite + order as "grouped". + + The 'traceorder' property is a flaglist and may be specified + as a string containing: + - Any combination of ['reversed', 'grouped'] joined with '+' characters + (e.g. 'reversed+grouped') + OR exactly one of ['normal'] (e.g. 'normal') + + Returns + ------- + Any + """ + return self["traceorder"] + + @traceorder.setter + def traceorder(self, val): + self["traceorder"] = val + + @property + def uirevision(self): + """ + Controls persistence of legend-driven changes in trace and pie + label visibility. Defaults to `layout.uirevision`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @property + def valign(self): + """ + Sets the vertical alignment of the symbols with respect to + their associated text. + + The 'valign' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["valign"] + + @valign.setter + def valign(self, val): + self["valign"] = val + + @property + def visible(self): + """ + Determines whether or not this legend is visible. + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def x(self): + """ + 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". + + The 'x' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def xanchor(self): + """ + Sets the legend's horizontal position anchor. This anchor binds + the `x` position to the "left", "center" or "right" of the + legend. Value "auto" anchors legends to the right for `x` + values greater than or equal to 2/3, anchors legends to the + left for `x` values less than or equal to 1/3 and anchors + legends with respect to their center otherwise. + + The 'xanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'left', 'center', 'right'] + + Returns + ------- + Any + """ + return self["xanchor"] + + @xanchor.setter + def xanchor(self, val): + self["xanchor"] = val + + @property + def xref(self): + """ + Sets the container `x` refers to. "container" spans the entire + `width` of the plot. "paper" refers to the width of the + plotting area only. + + The 'xref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['container', 'paper'] + + Returns + ------- + Any + """ + return self["xref"] + + @xref.setter + def xref(self, val): + self["xref"] = val + + @property + def y(self): + """ + 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". + + The 'y' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def yanchor(self): + """ + Sets the legend's vertical position anchor This anchor binds + the `y` position to the "top", "middle" or "bottom" of the + legend. Value "auto" anchors legends at their bottom for `y` + values less than or equal to 1/3, anchors legends to at their + top for `y` values greater than or equal to 2/3 and anchors + legends with respect to their middle otherwise. + + The 'yanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["yanchor"] + + @yanchor.setter + def yanchor(self, val): + self["yanchor"] = val + + @property + def yref(self): + """ + Sets the container `y` refers to. "container" spans the entire + `height` of the plot. "paper" refers to the height of the + plotting area only. + + The 'yref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['container', 'paper'] + + Returns + ------- + Any + """ + return self["yref"] + + @yref.setter + def yref(self, val): + self["yref"] = val + + @property + def _prop_descriptions(self): + return """\ + bgcolor + Sets the legend background color. Defaults to + `layout.paper_bgcolor`. + bordercolor + Sets the color of the border enclosing the legend. + borderwidth + Sets the width (in px) of the border enclosing the + legend. + 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%. + indentation + Sets the indentation (in px) of the legend entries. + itemclick + Determines the behavior on legend item click. "toggle" + toggles the visibility of the item clicked on the + graph. "toggleothers" makes the clicked item the sole + visible item on the graph. False disables legend item + click interactions. + itemdoubleclick + Determines the behavior on legend item double-click. + "toggle" toggles the visibility of the item clicked on + the graph. "toggleothers" makes the clicked item the + sole visible item on the graph. False disables legend + item double-click interactions. + itemsizing + Determines if the legend items symbols scale with their + corresponding "trace" attributes or remain "constant" + independent of the symbol size on the graph. + itemwidth + Sets the width (in px) of the legend item symbols (the + part other than the title.text). + orientation + Sets the orientation of the legend. + title + :class:`plotly.graph_objects.layout.legend.Title` + instance or dict with compatible properties + tracegroupgap + Sets the amount of vertical space (in px) between + legend groups. + traceorder + Determines the order at which the legend items are + displayed. If "normal", the items are displayed top-to- + bottom in the same order as the input data. If + "reversed", the items are displayed in the opposite + order as "normal". If "grouped", the items are + displayed in groups (when a trace `legendgroup` is + provided). if "grouped+reversed", the items are + displayed in the opposite order as "grouped". + uirevision + Controls persistence of legend-driven changes in trace + and pie label visibility. Defaults to + `layout.uirevision`. + valign + Sets the vertical alignment of the symbols with respect + to their associated text. + 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. + """ + + def __init__( + self, + arg=None, + bgcolor=None, + bordercolor=None, + borderwidth=None, + entrywidth=None, + entrywidthmode=None, + font=None, + groupclick=None, + grouptitlefont=None, + indentation=None, + itemclick=None, + itemdoubleclick=None, + itemsizing=None, + itemwidth=None, + orientation=None, + title=None, + tracegroupgap=None, + traceorder=None, + uirevision=None, + valign=None, + visible=None, + x=None, + xanchor=None, + xref=None, + y=None, + yanchor=None, + yref=None, + **kwargs, + ): + """ + Construct a new Legend object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.Legend` + bgcolor + Sets the legend background color. Defaults to + `layout.paper_bgcolor`. + bordercolor + Sets the color of the border enclosing the legend. + borderwidth + Sets the width (in px) of the border enclosing the + legend. + 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%. + indentation + Sets the indentation (in px) of the legend entries. + itemclick + Determines the behavior on legend item click. "toggle" + toggles the visibility of the item clicked on the + graph. "toggleothers" makes the clicked item the sole + visible item on the graph. False disables legend item + click interactions. + itemdoubleclick + Determines the behavior on legend item double-click. + "toggle" toggles the visibility of the item clicked on + the graph. "toggleothers" makes the clicked item the + sole visible item on the graph. False disables legend + item double-click interactions. + itemsizing + Determines if the legend items symbols scale with their + corresponding "trace" attributes or remain "constant" + independent of the symbol size on the graph. + itemwidth + Sets the width (in px) of the legend item symbols (the + part other than the title.text). + orientation + Sets the orientation of the legend. + title + :class:`plotly.graph_objects.layout.legend.Title` + instance or dict with compatible properties + tracegroupgap + Sets the amount of vertical space (in px) between + legend groups. + traceorder + Determines the order at which the legend items are + displayed. If "normal", the items are displayed top-to- + bottom in the same order as the input data. If + "reversed", the items are displayed in the opposite + order as "normal". If "grouped", the items are + displayed in groups (when a trace `legendgroup` is + provided). if "grouped+reversed", the items are + displayed in the opposite order as "grouped". + uirevision + Controls persistence of legend-driven changes in trace + and pie label visibility. Defaults to + `layout.uirevision`. + valign + Sets the vertical alignment of the symbols with respect + to their associated text. + 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 + ------- + Legend + """ + super().__init__("legend") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + if arg is None: + arg = {} + elif isinstance(arg, self.__class__): + arg = arg.to_plotly_json() + elif isinstance(arg, dict): + arg = _copy.copy(arg) + else: + raise ValueError("""\ +The first argument to the plotly.graph_objs.layout.Legend +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Legend`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("bgcolor", arg, bgcolor) + self._set_property("bordercolor", arg, bordercolor) + self._set_property("borderwidth", arg, borderwidth) + self._set_property("entrywidth", arg, entrywidth) + self._set_property("entrywidthmode", arg, entrywidthmode) + self._set_property("font", arg, font) + self._set_property("groupclick", arg, groupclick) + self._set_property("grouptitlefont", arg, grouptitlefont) + self._set_property("indentation", arg, indentation) + self._set_property("itemclick", arg, itemclick) + self._set_property("itemdoubleclick", arg, itemdoubleclick) + self._set_property("itemsizing", arg, itemsizing) + self._set_property("itemwidth", arg, itemwidth) + self._set_property("orientation", arg, orientation) + self._set_property("title", arg, title) + self._set_property("tracegroupgap", arg, tracegroupgap) + self._set_property("traceorder", arg, traceorder) + self._set_property("uirevision", arg, uirevision) + self._set_property("valign", arg, valign) + self._set_property("visible", arg, visible) + self._set_property("x", arg, x) + self._set_property("xanchor", arg, xanchor) + self._set_property("xref", arg, xref) + self._set_property("y", arg, y) + self._set_property("yanchor", arg, yanchor) + self._set_property("yref", arg, yref) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_map.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_map.py new file mode 100644 index 0000000..f54257c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_map.py @@ -0,0 +1,392 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Map(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.map" + _valid_props = { + "bearing", + "bounds", + "center", + "domain", + "layerdefaults", + "layers", + "pitch", + "style", + "uirevision", + "zoom", + } + + @property + def bearing(self): + """ + Sets the bearing angle of the map in degrees counter-clockwise + from North (map.bearing). + + The 'bearing' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["bearing"] + + @bearing.setter + def bearing(self, val): + self["bearing"] = val + + @property + def bounds(self): + """ + The 'bounds' property is an instance of Bounds + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.map.Bounds` + - A dict of string/value properties that will be passed + to the Bounds constructor + + Returns + ------- + plotly.graph_objs.layout.map.Bounds + """ + return self["bounds"] + + @bounds.setter + def bounds(self, val): + self["bounds"] = val + + @property + def center(self): + """ + The 'center' property is an instance of Center + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.map.Center` + - A dict of string/value properties that will be passed + to the Center constructor + + Returns + ------- + plotly.graph_objs.layout.map.Center + """ + return self["center"] + + @center.setter + def center(self, val): + self["center"] = val + + @property + def domain(self): + """ + The 'domain' property is an instance of Domain + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.map.Domain` + - A dict of string/value properties that will be passed + to the Domain constructor + + Returns + ------- + plotly.graph_objs.layout.map.Domain + """ + return self["domain"] + + @domain.setter + def domain(self, val): + self["domain"] = val + + @property + def layers(self): + """ + The 'layers' property is a tuple of instances of + Layer that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.map.Layer + - A list or tuple of dicts of string/value properties that + will be passed to the Layer constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.map.Layer] + """ + return self["layers"] + + @layers.setter + def layers(self, val): + self["layers"] = val + + @property + def layerdefaults(self): + """ + When used in a template (as + layout.template.layout.map.layerdefaults), sets the default + property values to use for elements of layout.map.layers + + The 'layerdefaults' property is an instance of Layer + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.map.Layer` + - A dict of string/value properties that will be passed + to the Layer constructor + + Returns + ------- + plotly.graph_objs.layout.map.Layer + """ + return self["layerdefaults"] + + @layerdefaults.setter + def layerdefaults(self, val): + self["layerdefaults"] = val + + @property + def pitch(self): + """ + Sets the pitch angle of the map (in degrees, where 0 means + perpendicular to the surface of the map) (map.pitch). + + The 'pitch' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["pitch"] + + @pitch.setter + def pitch(self, val): + self["pitch"] = val + + @property + def style(self): + """ + 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.map.layers`. + These layers can be defined either explicitly as a Map 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 or by using a custom + style URL Map Style objects are of the form described in the + MapLibre GL JS documentation available at + https://maplibre.org/maplibre-style-spec/ The built-in + plotly.js styles objects are: basic, carto-darkmatter, carto- + darkmatter-nolabels, carto-positron, carto-positron-nolabels, + carto-voyager, carto-voyager-nolabels, dark, light, open- + street-map, outdoors, satellite, satellite-streets, streets, + white-bg. + + The 'style' property accepts values of any type + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def uirevision(self): + """ + Controls persistence of user-driven changes in the view: + `center`, `zoom`, `bearing`, `pitch`. Defaults to + `layout.uirevision`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @property + def zoom(self): + """ + Sets the zoom level of the map (map.zoom). + + The 'zoom' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["zoom"] + + @zoom.setter + def zoom(self, val): + self["zoom"] = val + + @property + def _prop_descriptions(self): + return """\ + bearing + Sets the bearing angle of the map in degrees counter- + clockwise from North (map.bearing). + bounds + :class:`plotly.graph_objects.layout.map.Bounds` + instance or dict with compatible properties + center + :class:`plotly.graph_objects.layout.map.Center` + instance or dict with compatible properties + domain + :class:`plotly.graph_objects.layout.map.Domain` + instance or dict with compatible properties + layers + A tuple of + :class:`plotly.graph_objects.layout.map.Layer` + instances or dicts with compatible properties + layerdefaults + When used in a template (as + layout.template.layout.map.layerdefaults), sets the + default property values to use for elements of + layout.map.layers + pitch + Sets the pitch angle of the map (in degrees, where 0 + means perpendicular to the surface of the map) + (map.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.map.layers`. These layers can be defined + either explicitly as a Map 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 or by using a + custom style URL Map Style objects are of the form + described in the MapLibre GL JS documentation available + at https://maplibre.org/maplibre-style-spec/ The + built-in plotly.js styles objects are: basic, carto- + darkmatter, carto-darkmatter-nolabels, carto-positron, + carto-positron-nolabels, carto-voyager, carto-voyager- + nolabels, dark, light, open-street-map, outdoors, + satellite, satellite-streets, streets, white-bg. + 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 (map.zoom). + """ + + def __init__( + self, + arg=None, + bearing=None, + bounds=None, + center=None, + domain=None, + layers=None, + layerdefaults=None, + pitch=None, + style=None, + uirevision=None, + zoom=None, + **kwargs, + ): + """ + Construct a new Map object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.Map` + bearing + Sets the bearing angle of the map in degrees counter- + clockwise from North (map.bearing). + bounds + :class:`plotly.graph_objects.layout.map.Bounds` + instance or dict with compatible properties + center + :class:`plotly.graph_objects.layout.map.Center` + instance or dict with compatible properties + domain + :class:`plotly.graph_objects.layout.map.Domain` + instance or dict with compatible properties + layers + A tuple of + :class:`plotly.graph_objects.layout.map.Layer` + instances or dicts with compatible properties + layerdefaults + When used in a template (as + layout.template.layout.map.layerdefaults), sets the + default property values to use for elements of + layout.map.layers + pitch + Sets the pitch angle of the map (in degrees, where 0 + means perpendicular to the surface of the map) + (map.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.map.layers`. These layers can be defined + either explicitly as a Map 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 or by using a + custom style URL Map Style objects are of the form + described in the MapLibre GL JS documentation available + at https://maplibre.org/maplibre-style-spec/ The + built-in plotly.js styles objects are: basic, carto- + darkmatter, carto-darkmatter-nolabels, carto-positron, + carto-positron-nolabels, carto-voyager, carto-voyager- + nolabels, dark, light, open-street-map, outdoors, + satellite, satellite-streets, streets, white-bg. + 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 (map.zoom). + + Returns + ------- + Map + """ + super().__init__("map") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Map +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Map`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("bearing", arg, bearing) + self._set_property("bounds", arg, bounds) + self._set_property("center", arg, center) + self._set_property("domain", arg, domain) + self._set_property("layers", arg, layers) + self._set_property("layerdefaults", arg, layerdefaults) + self._set_property("pitch", arg, pitch) + self._set_property("style", arg, style) + self._set_property("uirevision", arg, uirevision) + self._set_property("zoom", arg, zoom) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_mapbox.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_mapbox.py new file mode 100644 index 0000000..b0f5e4e --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_mapbox.py @@ -0,0 +1,452 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Mapbox(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.mapbox" + _valid_props = { + "accesstoken", + "bearing", + "bounds", + "center", + "domain", + "layerdefaults", + "layers", + "pitch", + "style", + "uirevision", + "zoom", + } + + @property + def accesstoken(self): + """ + 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. + + The 'accesstoken' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["accesstoken"] + + @accesstoken.setter + def accesstoken(self, val): + self["accesstoken"] = val + + @property + def bearing(self): + """ + Sets the bearing angle of the map in degrees counter-clockwise + from North (mapbox.bearing). + + The 'bearing' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["bearing"] + + @bearing.setter + def bearing(self, val): + self["bearing"] = val + + @property + def bounds(self): + """ + The 'bounds' property is an instance of Bounds + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.mapbox.Bounds` + - A dict of string/value properties that will be passed + to the Bounds constructor + + Returns + ------- + plotly.graph_objs.layout.mapbox.Bounds + """ + return self["bounds"] + + @bounds.setter + def bounds(self, val): + self["bounds"] = val + + @property + def center(self): + """ + The 'center' property is an instance of Center + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.mapbox.Center` + - A dict of string/value properties that will be passed + to the Center constructor + + Returns + ------- + plotly.graph_objs.layout.mapbox.Center + """ + return self["center"] + + @center.setter + def center(self, val): + self["center"] = val + + @property + def domain(self): + """ + The 'domain' property is an instance of Domain + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.mapbox.Domain` + - A dict of string/value properties that will be passed + to the Domain constructor + + Returns + ------- + plotly.graph_objs.layout.mapbox.Domain + """ + return self["domain"] + + @domain.setter + def domain(self, val): + self["domain"] = val + + @property + def layers(self): + """ + The 'layers' property is a tuple of instances of + Layer that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.mapbox.Layer + - A list or tuple of dicts of string/value properties that + will be passed to the Layer constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.mapbox.Layer] + """ + return self["layers"] + + @layers.setter + def layers(self, val): + self["layers"] = val + + @property + def layerdefaults(self): + """ + When used in a template (as + layout.template.layout.mapbox.layerdefaults), sets the default + property values to use for elements of layout.mapbox.layers + + The 'layerdefaults' property is an instance of Layer + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.mapbox.Layer` + - A dict of string/value properties that will be passed + to the Layer constructor + + Returns + ------- + plotly.graph_objs.layout.mapbox.Layer + """ + return self["layerdefaults"] + + @layerdefaults.setter + def layerdefaults(self, val): + self["layerdefaults"] = val + + @property + def pitch(self): + """ + Sets the pitch angle of the map (in degrees, where 0 means + perpendicular to the surface of the map) (mapbox.pitch). + + The 'pitch' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["pitch"] + + @pitch.setter + def pitch(self, val): + self["pitch"] = val + + @property + def style(self): + """ + 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-<name>-<version> + + The 'style' property accepts values of any type + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def uirevision(self): + """ + Controls persistence of user-driven changes in the view: + `center`, `zoom`, `bearing`, `pitch`. Defaults to + `layout.uirevision`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @property + def zoom(self): + """ + Sets the zoom level of the map (mapbox.zoom). + + The 'zoom' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["zoom"] + + @zoom.setter + def zoom(self, val): + self["zoom"] = val + + @property + def _prop_descriptions(self): + return """\ + 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.Bounds` + instance or dict with compatible properties + center + :class:`plotly.graph_objects.layout.mapbox.Center` + instance or dict with compatible properties + domain + :class:`plotly.graph_objects.layout.mapbox.Domain` + 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-<name>-<version> + 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). + """ + + def __init__( + self, + arg=None, + accesstoken=None, + bearing=None, + bounds=None, + center=None, + domain=None, + layers=None, + layerdefaults=None, + pitch=None, + style=None, + uirevision=None, + zoom=None, + **kwargs, + ): + """ + Construct a new Mapbox object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.Mapbox` + 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.Bounds` + instance or dict with compatible properties + center + :class:`plotly.graph_objects.layout.mapbox.Center` + instance or dict with compatible properties + domain + :class:`plotly.graph_objects.layout.mapbox.Domain` + 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-<name>-<version> + 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 + ------- + Mapbox + """ + super().__init__("mapbox") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Mapbox +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Mapbox`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("accesstoken", arg, accesstoken) + self._set_property("bearing", arg, bearing) + self._set_property("bounds", arg, bounds) + self._set_property("center", arg, center) + self._set_property("domain", arg, domain) + self._set_property("layers", arg, layers) + self._set_property("layerdefaults", arg, layerdefaults) + self._set_property("pitch", arg, pitch) + self._set_property("style", arg, style) + self._set_property("uirevision", arg, uirevision) + self._set_property("zoom", arg, zoom) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_margin.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_margin.py new file mode 100644 index 0000000..2af6048 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_margin.py @@ -0,0 +1,212 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Margin(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.margin" + _valid_props = {"autoexpand", "b", "l", "pad", "r", "t"} + + @property + def autoexpand(self): + """ + Turns on/off margin expansion computations. Legends, colorbars, + updatemenus, sliders, axis rangeselector and rangeslider are + allowed to push the margins by defaults. + + The 'autoexpand' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["autoexpand"] + + @autoexpand.setter + def autoexpand(self, val): + self["autoexpand"] = val + + @property + def b(self): + """ + Sets the bottom margin (in px). + + The 'b' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["b"] + + @b.setter + def b(self, val): + self["b"] = val + + @property + def l(self): + """ + Sets the left margin (in px). + + The 'l' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["l"] + + @l.setter + def l(self, val): + self["l"] = val + + @property + def pad(self): + """ + Sets the amount of padding (in px) between the plotting area + and the axis lines + + The 'pad' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["pad"] + + @pad.setter + def pad(self, val): + self["pad"] = val + + @property + def r(self): + """ + Sets the right margin (in px). + + The 'r' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["r"] + + @r.setter + def r(self, val): + self["r"] = val + + @property + def t(self): + """ + Sets the top margin (in px). + + The 't' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["t"] + + @t.setter + def t(self, val): + self["t"] = val + + @property + def _prop_descriptions(self): + return """\ + 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). + """ + + def __init__( + self, + arg=None, + autoexpand=None, + b=None, + l=None, + pad=None, + r=None, + t=None, + **kwargs, + ): + """ + Construct a new Margin object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.Margin` + 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 + ------- + Margin + """ + super().__init__("margin") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Margin +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Margin`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("autoexpand", arg, autoexpand) + self._set_property("b", arg, b) + self._set_property("l", arg, l) + self._set_property("pad", arg, pad) + self._set_property("r", arg, r) + self._set_property("t", arg, t) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_modebar.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_modebar.py new file mode 100644 index 0000000..34b9180 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_modebar.py @@ -0,0 +1,387 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Modebar(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.modebar" + _valid_props = { + "activecolor", + "add", + "addsrc", + "bgcolor", + "color", + "orientation", + "remove", + "removesrc", + "uirevision", + } + + @property + def activecolor(self): + """ + Sets the color of the active or hovered on icons in the + modebar. + + The 'activecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["activecolor"] + + @activecolor.setter + def activecolor(self, val): + self["activecolor"] = val + + @property + def add(self): + """ + 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". + + The 'add' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["add"] + + @add.setter + def add(self, val): + self["add"] = val + + @property + def addsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `add`. + + The 'addsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["addsrc"] + + @addsrc.setter + def addsrc(self, val): + self["addsrc"] = val + + @property + def bgcolor(self): + """ + Sets the background color of the modebar. + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def color(self): + """ + Sets the color of the icons in the modebar. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def orientation(self): + """ + Sets the orientation of the modebar. + + The 'orientation' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['v', 'h'] + + Returns + ------- + Any + """ + return self["orientation"] + + @orientation.setter + def orientation(self, val): + self["orientation"] = val + + @property + def remove(self): + """ + 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", "resetViewMap", "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", + "zoomInMap", "zoomInMapbox", "zoomOut2d", "zoomOutGeo", + "zoomOutMap", "zoomOutMapbox", "zoomin", "zoomout". + + The 'remove' property is a string and must be specified as: + - A string + - A number that will be converted to a string + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + str|numpy.ndarray + """ + return self["remove"] + + @remove.setter + def remove(self, val): + self["remove"] = val + + @property + def removesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `remove`. + + The 'removesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["removesrc"] + + @removesrc.setter + def removesrc(self, val): + self["removesrc"] = val + + @property + def uirevision(self): + """ + 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`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @property + def _prop_descriptions(self): + return """\ + 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", "resetViewMap", + "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", "zoomInMap", + "zoomInMapbox", "zoomOut2d", "zoomOutGeo", + "zoomOutMap", "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`. + """ + + def __init__( + self, + arg=None, + activecolor=None, + add=None, + addsrc=None, + bgcolor=None, + color=None, + orientation=None, + remove=None, + removesrc=None, + uirevision=None, + **kwargs, + ): + """ + Construct a new Modebar object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Modebar` + 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", "resetViewMap", + "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", "zoomInMap", + "zoomInMapbox", "zoomOut2d", "zoomOutGeo", + "zoomOutMap", "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 + ------- + Modebar + """ + super().__init__("modebar") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Modebar +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Modebar`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("activecolor", arg, activecolor) + self._set_property("add", arg, add) + self._set_property("addsrc", arg, addsrc) + self._set_property("bgcolor", arg, bgcolor) + self._set_property("color", arg, color) + self._set_property("orientation", arg, orientation) + self._set_property("remove", arg, remove) + self._set_property("removesrc", arg, removesrc) + self._set_property("uirevision", arg, uirevision) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_newselection.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_newselection.py new file mode 100644 index 0000000..4f06571 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_newselection.py @@ -0,0 +1,118 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Newselection(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.newselection" + _valid_props = {"line", "mode"} + + @property + def line(self): + """ + The 'line' property is an instance of Line + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.newselection.Line` + - A dict of string/value properties that will be passed + to the Line constructor + + Returns + ------- + plotly.graph_objs.layout.newselection.Line + """ + return self["line"] + + @line.setter + def line(self, val): + self["line"] = val + + @property + def mode(self): + """ + 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. + + The 'mode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['immediate', 'gradual'] + + Returns + ------- + Any + """ + return self["mode"] + + @mode.setter + def mode(self, val): + self["mode"] = val + + @property + def _prop_descriptions(self): + return """\ + line + :class:`plotly.graph_objects.layout.newselection.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. + """ + + def __init__(self, arg=None, line=None, mode=None, **kwargs): + """ + Construct a new Newselection object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Newselection` + line + :class:`plotly.graph_objects.layout.newselection.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 + ------- + Newselection + """ + super().__init__("newselection") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Newselection +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Newselection`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("line", arg, line) + self._set_property("mode", arg, mode) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_newshape.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_newshape.py new file mode 100644 index 0000000..05710a1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_newshape.py @@ -0,0 +1,543 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Newshape(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.newshape" + _valid_props = { + "drawdirection", + "fillcolor", + "fillrule", + "label", + "layer", + "legend", + "legendgroup", + "legendgrouptitle", + "legendrank", + "legendwidth", + "line", + "name", + "opacity", + "showlegend", + "visible", + } + + @property + def drawdirection(self): + """ + 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. + + The 'drawdirection' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['ortho', 'horizontal', 'vertical', 'diagonal'] + + Returns + ------- + Any + """ + return self["drawdirection"] + + @drawdirection.setter + def drawdirection(self, val): + self["drawdirection"] = val + + @property + def fillcolor(self): + """ + 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. + + The 'fillcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["fillcolor"] + + @fillcolor.setter + def fillcolor(self, val): + self["fillcolor"] = val + + @property + def fillrule(self): + """ + Determines the path's interior. For more info please visit + https://developer.mozilla.org/en- + US/docs/Web/SVG/Attribute/fill-rule + + The 'fillrule' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['evenodd', 'nonzero'] + + Returns + ------- + Any + """ + return self["fillrule"] + + @fillrule.setter + def fillrule(self, val): + self["fillrule"] = val + + @property + def label(self): + """ + The 'label' property is an instance of Label + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.newshape.Label` + - A dict of string/value properties that will be passed + to the Label constructor + + Returns + ------- + plotly.graph_objs.layout.newshape.Label + """ + return self["label"] + + @label.setter + def label(self, val): + self["label"] = val + + @property + def layer(self): + """ + Specifies whether new shapes are drawn below gridlines + ("below"), between gridlines and traces ("between") or above + traces ("above"). + + The 'layer' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['below', 'above', 'between'] + + Returns + ------- + Any + """ + return self["layer"] + + @layer.setter + def layer(self, val): + self["layer"] = val + + @property + def legend(self): + """ + 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. + + The 'legend' property is an identifier of a particular + subplot, of type 'legend', that may be specified as the string 'legend' + optionally followed by an integer >= 1 + (e.g. 'legend', 'legend1', 'legend2', 'legend3', etc.) + + Returns + ------- + str + """ + return self["legend"] + + @legend.setter + def legend(self, val): + self["legend"] = val + + @property + def legendgroup(self): + """ + 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. + + The 'legendgroup' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["legendgroup"] + + @legendgroup.setter + def legendgroup(self, val): + self["legendgroup"] = val + + @property + def legendgrouptitle(self): + """ + The 'legendgrouptitle' property is an instance of Legendgrouptitle + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.newshape.Legendgrouptitle` + - A dict of string/value properties that will be passed + to the Legendgrouptitle constructor + + Returns + ------- + plotly.graph_objs.layout.newshape.Legendgrouptitle + """ + return self["legendgrouptitle"] + + @legendgrouptitle.setter + def legendgrouptitle(self, val): + self["legendgrouptitle"] = val + + @property + def legendrank(self): + """ + 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. + + The 'legendrank' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["legendrank"] + + @legendrank.setter + def legendrank(self, val): + self["legendrank"] = val + + @property + def legendwidth(self): + """ + Sets the width (in px or fraction) of the legend for new shape. + + The 'legendwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["legendwidth"] + + @legendwidth.setter + def legendwidth(self, val): + self["legendwidth"] = val + + @property + def line(self): + """ + The 'line' property is an instance of Line + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.newshape.Line` + - A dict of string/value properties that will be passed + to the Line constructor + + Returns + ------- + plotly.graph_objs.layout.newshape.Line + """ + return self["line"] + + @line.setter + def line(self, val): + self["line"] = val + + @property + def name(self): + """ + Sets new shape name. The name appears as the legend item. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def opacity(self): + """ + Sets the opacity of new shapes. + + The 'opacity' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["opacity"] + + @opacity.setter + def opacity(self, val): + self["opacity"] = val + + @property + def showlegend(self): + """ + Determines whether or not new shape is shown in the legend. + + 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 + + @property + def visible(self): + """ + 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). + + The 'visible' property is an enumeration that may be specified as: + - One of the following enumeration values: + [True, False, 'legendonly'] + + Returns + ------- + Any + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def _prop_descriptions(self): + return """\ + 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.Label` + instance or dict with compatible properties + layer + Specifies whether new shapes are drawn below gridlines + ("below"), between gridlines and traces ("between") or + above traces ("above"). + 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.Legendgrou + ptitle` 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.Line` + 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). + """ + + def __init__( + self, + arg=None, + drawdirection=None, + fillcolor=None, + fillrule=None, + label=None, + layer=None, + legend=None, + legendgroup=None, + legendgrouptitle=None, + legendrank=None, + legendwidth=None, + line=None, + name=None, + opacity=None, + showlegend=None, + visible=None, + **kwargs, + ): + """ + Construct a new Newshape object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Newshape` + 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.Label` + instance or dict with compatible properties + layer + Specifies whether new shapes are drawn below gridlines + ("below"), between gridlines and traces ("between") or + above traces ("above"). + 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.Legendgrou + ptitle` 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.Line` + 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 + ------- + Newshape + """ + super().__init__("newshape") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Newshape +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Newshape`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("drawdirection", arg, drawdirection) + self._set_property("fillcolor", arg, fillcolor) + self._set_property("fillrule", arg, fillrule) + self._set_property("label", arg, label) + self._set_property("layer", arg, layer) + self._set_property("legend", arg, legend) + self._set_property("legendgroup", arg, legendgroup) + self._set_property("legendgrouptitle", arg, legendgrouptitle) + self._set_property("legendrank", arg, legendrank) + self._set_property("legendwidth", arg, legendwidth) + self._set_property("line", arg, line) + self._set_property("name", arg, name) + self._set_property("opacity", arg, opacity) + self._set_property("showlegend", arg, showlegend) + self._set_property("visible", arg, visible) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_polar.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_polar.py new file mode 100644 index 0000000..51d7620 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_polar.py @@ -0,0 +1,382 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Polar(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.polar" + _valid_props = { + "angularaxis", + "bargap", + "barmode", + "bgcolor", + "domain", + "gridshape", + "hole", + "radialaxis", + "sector", + "uirevision", + } + + @property + def angularaxis(self): + """ + The 'angularaxis' property is an instance of AngularAxis + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.polar.AngularAxis` + - A dict of string/value properties that will be passed + to the AngularAxis constructor + + Returns + ------- + plotly.graph_objs.layout.polar.AngularAxis + """ + return self["angularaxis"] + + @angularaxis.setter + def angularaxis(self, val): + self["angularaxis"] = val + + @property + def bargap(self): + """ + 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. + + 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 + + @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 "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', 'overlay'] + + Returns + ------- + Any + """ + return self["barmode"] + + @barmode.setter + def barmode(self, val): + self["barmode"] = val + + @property + def bgcolor(self): + """ + Set the background color of the subplot + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def domain(self): + """ + The 'domain' property is an instance of Domain + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.polar.Domain` + - A dict of string/value properties that will be passed + to the Domain constructor + + Returns + ------- + plotly.graph_objs.layout.polar.Domain + """ + return self["domain"] + + @domain.setter + def domain(self, val): + self["domain"] = val + + @property + def gridshape(self): + """ + 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). + + The 'gridshape' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['circular', 'linear'] + + Returns + ------- + Any + """ + return self["gridshape"] + + @gridshape.setter + def gridshape(self, val): + self["gridshape"] = val + + @property + def hole(self): + """ + Sets the fraction of the radius to cut out of the polar + subplot. + + The 'hole' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["hole"] + + @hole.setter + def hole(self, val): + self["hole"] = val + + @property + def radialaxis(self): + """ + The 'radialaxis' property is an instance of RadialAxis + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.polar.RadialAxis` + - A dict of string/value properties that will be passed + to the RadialAxis constructor + + Returns + ------- + plotly.graph_objs.layout.polar.RadialAxis + """ + return self["radialaxis"] + + @radialaxis.setter + def radialaxis(self, val): + self["radialaxis"] = val + + @property + def sector(self): + """ + 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. + + The 'sector' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'sector[0]' property is a number and may be specified as: + - An int or float + (1) The 'sector[1]' property is a number and may be specified as: + - An int or float + + Returns + ------- + list + """ + return self["sector"] + + @sector.setter + def sector(self, val): + self["sector"] = val + + @property + def uirevision(self): + """ + Controls persistence of user-driven changes in axis attributes, + if not overridden in the individual axes. Defaults to + `layout.uirevision`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @property + def _prop_descriptions(self): + return """\ + angularaxis + :class:`plotly.graph_objects.layout.polar.AngularAxis` + 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.Domain` + 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.RadialAxis` + 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`. + """ + + def __init__( + self, + arg=None, + angularaxis=None, + bargap=None, + barmode=None, + bgcolor=None, + domain=None, + gridshape=None, + hole=None, + radialaxis=None, + sector=None, + uirevision=None, + **kwargs, + ): + """ + Construct a new Polar object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.Polar` + angularaxis + :class:`plotly.graph_objects.layout.polar.AngularAxis` + 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.Domain` + 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.RadialAxis` + 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 + ------- + Polar + """ + super().__init__("polar") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Polar +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Polar`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("angularaxis", arg, angularaxis) + self._set_property("bargap", arg, bargap) + self._set_property("barmode", arg, barmode) + self._set_property("bgcolor", arg, bgcolor) + self._set_property("domain", arg, domain) + self._set_property("gridshape", arg, gridshape) + self._set_property("hole", arg, hole) + self._set_property("radialaxis", arg, radialaxis) + self._set_property("sector", arg, sector) + self._set_property("uirevision", arg, uirevision) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_scene.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_scene.py new file mode 100644 index 0000000..2d08ae1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_scene.py @@ -0,0 +1,454 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Scene(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.scene" + _valid_props = { + "annotationdefaults", + "annotations", + "aspectmode", + "aspectratio", + "bgcolor", + "camera", + "domain", + "dragmode", + "hovermode", + "uirevision", + "xaxis", + "yaxis", + "zaxis", + } + + @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.scene.Annotation + - A list or tuple of dicts of string/value properties that + will be passed to the Annotation constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.scene.Annotation] + """ + return self["annotations"] + + @annotations.setter + def annotations(self, val): + self["annotations"] = val + + @property + def annotationdefaults(self): + """ + When used in a template (as + layout.template.layout.scene.annotationdefaults), sets the + default property values to use for elements of + layout.scene.annotations + + The 'annotationdefaults' property is an instance of Annotation + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.Annotation` + - A dict of string/value properties that will be passed + to the Annotation constructor + + Returns + ------- + plotly.graph_objs.layout.scene.Annotation + """ + return self["annotationdefaults"] + + @annotationdefaults.setter + def annotationdefaults(self, val): + self["annotationdefaults"] = val + + @property + def aspectmode(self): + """ + 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. + + The 'aspectmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'cube', 'data', 'manual'] + + Returns + ------- + Any + """ + return self["aspectmode"] + + @aspectmode.setter + def aspectmode(self, val): + self["aspectmode"] = val + + @property + def aspectratio(self): + """ + Sets this scene's axis aspectratio. + + The 'aspectratio' property is an instance of Aspectratio + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.Aspectratio` + - A dict of string/value properties that will be passed + to the Aspectratio constructor + + Returns + ------- + plotly.graph_objs.layout.scene.Aspectratio + """ + return self["aspectratio"] + + @aspectratio.setter + def aspectratio(self, val): + self["aspectratio"] = val + + @property + def bgcolor(self): + """ + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def camera(self): + """ + The 'camera' property is an instance of Camera + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.Camera` + - A dict of string/value properties that will be passed + to the Camera constructor + + Returns + ------- + plotly.graph_objs.layout.scene.Camera + """ + return self["camera"] + + @camera.setter + def camera(self, val): + self["camera"] = val + + @property + def domain(self): + """ + The 'domain' property is an instance of Domain + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.Domain` + - A dict of string/value properties that will be passed + to the Domain constructor + + Returns + ------- + plotly.graph_objs.layout.scene.Domain + """ + return self["domain"] + + @domain.setter + def domain(self, val): + self["domain"] = val + + @property + def dragmode(self): + """ + Determines the mode of drag interactions for this scene. + + The 'dragmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['orbit', 'turntable', 'zoom', 'pan', False] + + Returns + ------- + Any + """ + return self["dragmode"] + + @dragmode.setter + def dragmode(self, val): + self["dragmode"] = val + + @property + def hovermode(self): + """ + Determines the mode of hover interactions for this scene. + + The 'hovermode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['closest', False] + + Returns + ------- + Any + """ + return self["hovermode"] + + @hovermode.setter + def hovermode(self, val): + self["hovermode"] = val + + @property + def uirevision(self): + """ + Controls persistence of user-driven changes in camera + attributes. Defaults to `layout.uirevision`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @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.scene.XAxis` + - A dict of string/value properties that will be passed + to the XAxis constructor + + Returns + ------- + plotly.graph_objs.layout.scene.XAxis + """ + return self["xaxis"] + + @xaxis.setter + def xaxis(self, val): + self["xaxis"] = val + + @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.scene.YAxis` + - A dict of string/value properties that will be passed + to the YAxis constructor + + Returns + ------- + plotly.graph_objs.layout.scene.YAxis + """ + return self["yaxis"] + + @yaxis.setter + def yaxis(self, val): + self["yaxis"] = val + + @property + def zaxis(self): + """ + The 'zaxis' property is an instance of ZAxis + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.ZAxis` + - A dict of string/value properties that will be passed + to the ZAxis constructor + + Returns + ------- + plotly.graph_objs.layout.scene.ZAxis + """ + return self["zaxis"] + + @zaxis.setter + def zaxis(self, val): + self["zaxis"] = val + + @property + def _prop_descriptions(self): + return """\ + 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.layout.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.Camera` + instance or dict with compatible properties + domain + :class:`plotly.graph_objects.layout.scene.Domain` + 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 + """ + + def __init__( + self, + arg=None, + annotations=None, + annotationdefaults=None, + aspectmode=None, + aspectratio=None, + bgcolor=None, + camera=None, + domain=None, + dragmode=None, + hovermode=None, + uirevision=None, + xaxis=None, + yaxis=None, + zaxis=None, + **kwargs, + ): + """ + Construct a new Scene object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.Scene` + 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.layout.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.Camera` + instance or dict with compatible properties + domain + :class:`plotly.graph_objects.layout.scene.Domain` + 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 + ------- + Scene + """ + super().__init__("scene") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Scene +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Scene`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("annotations", arg, annotations) + self._set_property("annotationdefaults", arg, annotationdefaults) + self._set_property("aspectmode", arg, aspectmode) + self._set_property("aspectratio", arg, aspectratio) + self._set_property("bgcolor", arg, bgcolor) + self._set_property("camera", arg, camera) + self._set_property("domain", arg, domain) + self._set_property("dragmode", arg, dragmode) + self._set_property("hovermode", arg, hovermode) + self._set_property("uirevision", arg, uirevision) + self._set_property("xaxis", arg, xaxis) + self._set_property("yaxis", arg, yaxis) + self._set_property("zaxis", arg, zaxis) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_selection.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_selection.py new file mode 100644 index 0000000..3ebf741 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_selection.py @@ -0,0 +1,493 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Selection(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.selection" + _valid_props = { + "line", + "name", + "opacity", + "path", + "templateitemname", + "type", + "x0", + "x1", + "xref", + "y0", + "y1", + "yref", + } + + @property + def line(self): + """ + The 'line' property is an instance of Line + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.selection.Line` + - A dict of string/value properties that will be passed + to the Line constructor + + Returns + ------- + plotly.graph_objs.layout.selection.Line + """ + return self["line"] + + @line.setter + def line(self, val): + self["line"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def opacity(self): + """ + Sets the opacity of the selection. + + The 'opacity' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["opacity"] + + @opacity.setter + def opacity(self, val): + self["opacity"] = val + + @property + def path(self): + """ + For `type` "path" - a valid SVG path similar to `shapes.path` + in data coordinates. Allowed segments are: M, L and Z. + + The 'path' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["path"] + + @path.setter + def path(self, val): + self["path"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def type(self): + """ + 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`. + + The 'type' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['rect', 'path'] + + Returns + ------- + Any + """ + return self["type"] + + @type.setter + def type(self, val): + self["type"] = val + + @property + def x0(self): + """ + Sets the selection's starting x position. + + The 'x0' property accepts values of any type + + Returns + ------- + Any + """ + return self["x0"] + + @x0.setter + def x0(self, val): + self["x0"] = val + + @property + def x1(self): + """ + Sets the selection's end x position. + + The 'x1' property accepts values of any type + + Returns + ------- + Any + """ + return self["x1"] + + @x1.setter + def x1(self, val): + self["x1"] = val + + @property + def xref(self): + """ + 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. + + The 'xref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['paper'] + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["xref"] + + @xref.setter + def xref(self, val): + self["xref"] = val + + @property + def y0(self): + """ + Sets the selection's starting y position. + + The 'y0' property accepts values of any type + + Returns + ------- + Any + """ + return self["y0"] + + @y0.setter + def y0(self, val): + self["y0"] = val + + @property + def y1(self): + """ + Sets the selection's end y position. + + The 'y1' property accepts values of any type + + Returns + ------- + Any + """ + return self["y1"] + + @y1.setter + def y1(self, val): + self["y1"] = val + + @property + def yref(self): + """ + 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. + + The 'yref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['paper'] + - A string that matches one of the following regular expressions: + ['^y([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["yref"] + + @yref.setter + def yref(self, val): + self["yref"] = val + + @property + def _prop_descriptions(self): + return """\ + line + :class:`plotly.graph_objects.layout.selection.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 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. + """ + + def __init__( + self, + arg=None, + line=None, + name=None, + opacity=None, + path=None, + templateitemname=None, + type=None, + x0=None, + x1=None, + xref=None, + y0=None, + y1=None, + yref=None, + **kwargs, + ): + """ + Construct a new Selection object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Selection` + line + :class:`plotly.graph_objects.layout.selection.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 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 + ------- + Selection + """ + super().__init__("selections") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Selection +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Selection`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("line", arg, line) + self._set_property("name", arg, name) + self._set_property("opacity", arg, opacity) + self._set_property("path", arg, path) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("type", arg, type) + self._set_property("x0", arg, x0) + self._set_property("x1", arg, x1) + self._set_property("xref", arg, xref) + self._set_property("y0", arg, y0) + self._set_property("y1", arg, y1) + self._set_property("yref", arg, yref) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_shape.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_shape.py new file mode 100644 index 0000000..8923d1c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_shape.py @@ -0,0 +1,1287 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Shape(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.shape" + _valid_props = { + "editable", + "fillcolor", + "fillrule", + "label", + "layer", + "legend", + "legendgroup", + "legendgrouptitle", + "legendrank", + "legendwidth", + "line", + "name", + "opacity", + "path", + "showlegend", + "templateitemname", + "type", + "visible", + "x0", + "x0shift", + "x1", + "x1shift", + "xanchor", + "xref", + "xsizemode", + "y0", + "y0shift", + "y1", + "y1shift", + "yanchor", + "yref", + "ysizemode", + } + + @property + def editable(self): + """ + 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`. + + The 'editable' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["editable"] + + @editable.setter + def editable(self, val): + self["editable"] = val + + @property + def fillcolor(self): + """ + Sets the color filling the shape's interior. Only applies to + closed shapes. + + The 'fillcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["fillcolor"] + + @fillcolor.setter + def fillcolor(self, val): + self["fillcolor"] = val + + @property + def fillrule(self): + """ + 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 + + The 'fillrule' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['evenodd', 'nonzero'] + + Returns + ------- + Any + """ + return self["fillrule"] + + @fillrule.setter + def fillrule(self, val): + self["fillrule"] = val + + @property + def label(self): + """ + The 'label' property is an instance of Label + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.shape.Label` + - A dict of string/value properties that will be passed + to the Label constructor + + Returns + ------- + plotly.graph_objs.layout.shape.Label + """ + return self["label"] + + @label.setter + def label(self, val): + self["label"] = val + + @property + def layer(self): + """ + Specifies whether shapes are drawn below gridlines ("below"), + between gridlines and traces ("between") or above traces + ("above"). + + The 'layer' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['below', 'above', 'between'] + + Returns + ------- + Any + """ + return self["layer"] + + @layer.setter + def layer(self, val): + self["layer"] = val + + @property + def legend(self): + """ + 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. + + The 'legend' property is an identifier of a particular + subplot, of type 'legend', that may be specified as the string 'legend' + optionally followed by an integer >= 1 + (e.g. 'legend', 'legend1', 'legend2', 'legend3', etc.) + + Returns + ------- + str + """ + return self["legend"] + + @legend.setter + def legend(self, val): + self["legend"] = val + + @property + def legendgroup(self): + """ + 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. + + The 'legendgroup' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["legendgroup"] + + @legendgroup.setter + def legendgroup(self, val): + self["legendgroup"] = val + + @property + def legendgrouptitle(self): + """ + The 'legendgrouptitle' property is an instance of Legendgrouptitle + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.shape.Legendgrouptitle` + - A dict of string/value properties that will be passed + to the Legendgrouptitle constructor + + Returns + ------- + plotly.graph_objs.layout.shape.Legendgrouptitle + """ + return self["legendgrouptitle"] + + @legendgrouptitle.setter + def legendgrouptitle(self, val): + self["legendgrouptitle"] = val + + @property + def legendrank(self): + """ + 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. + + The 'legendrank' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["legendrank"] + + @legendrank.setter + def legendrank(self, val): + self["legendrank"] = val + + @property + def legendwidth(self): + """ + Sets the width (in px or fraction) of the legend for this + shape. + + The 'legendwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["legendwidth"] + + @legendwidth.setter + def legendwidth(self, val): + self["legendwidth"] = val + + @property + def line(self): + """ + The 'line' property is an instance of Line + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.shape.Line` + - A dict of string/value properties that will be passed + to the Line constructor + + Returns + ------- + plotly.graph_objs.layout.shape.Line + """ + return self["line"] + + @line.setter + def line(self, val): + self["line"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def opacity(self): + """ + Sets the opacity of the shape. + + The 'opacity' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["opacity"] + + @opacity.setter + def opacity(self, val): + self["opacity"] = val + + @property + def path(self): + """ + 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 + + The 'path' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["path"] + + @path.setter + def path(self, val): + self["path"] = val + + @property + def showlegend(self): + """ + Determines whether or not this shape is shown in the legend. + + 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 + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def type(self): + """ + 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. + + The 'type' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['circle', 'rect', 'path', 'line'] + + Returns + ------- + Any + """ + return self["type"] + + @type.setter + def type(self, val): + self["type"] = val + + @property + def visible(self): + """ + 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). + + The 'visible' property is an enumeration that may be specified as: + - One of the following enumeration values: + [True, False, 'legendonly'] + + Returns + ------- + Any + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def x0(self): + """ + Sets the shape's starting x position. See `type` and + `xsizemode` for more info. + + The 'x0' property accepts values of any type + + Returns + ------- + Any + """ + return self["x0"] + + @x0.setter + def x0(self, val): + self["x0"] = val + + @property + def x0shift(self): + """ + Shifts `x0` away from the center of the category when `xref` is + a "category" or "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to the end of the + category. + + The 'x0shift' property is a number and may be specified as: + - An int or float in the interval [-1, 1] + + Returns + ------- + int|float + """ + return self["x0shift"] + + @x0shift.setter + def x0shift(self, val): + self["x0shift"] = val + + @property + def x1(self): + """ + Sets the shape's end x position. See `type` and `xsizemode` for + more info. + + The 'x1' property accepts values of any type + + Returns + ------- + Any + """ + return self["x1"] + + @x1.setter + def x1(self, val): + self["x1"] = val + + @property + def x1shift(self): + """ + Shifts `x1` away from the center of the category when `xref` is + a "category" or "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to the end of the + category. + + The 'x1shift' property is a number and may be specified as: + - An int or float in the interval [-1, 1] + + Returns + ------- + int|float + """ + return self["x1shift"] + + @x1shift.setter + def x1shift(self, val): + self["x1shift"] = val + + @property + def xanchor(self): + """ + 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". + + The 'xanchor' property accepts values of any type + + Returns + ------- + Any + """ + return self["xanchor"] + + @xanchor.setter + def xanchor(self, val): + self["xanchor"] = val + + @property + def xref(self): + """ + 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. + + The 'xref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['paper'] + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["xref"] + + @xref.setter + def xref(self, val): + self["xref"] = val + + @property + def xsizemode(self): + """ + 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. + + The 'xsizemode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['scaled', 'pixel'] + + Returns + ------- + Any + """ + return self["xsizemode"] + + @xsizemode.setter + def xsizemode(self, val): + self["xsizemode"] = val + + @property + def y0(self): + """ + Sets the shape's starting y position. See `type` and + `ysizemode` for more info. + + The 'y0' property accepts values of any type + + Returns + ------- + Any + """ + return self["y0"] + + @y0.setter + def y0(self, val): + self["y0"] = val + + @property + def y0shift(self): + """ + Shifts `y0` away from the center of the category when `yref` is + a "category" or "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to the end of the + category. + + The 'y0shift' property is a number and may be specified as: + - An int or float in the interval [-1, 1] + + Returns + ------- + int|float + """ + return self["y0shift"] + + @y0shift.setter + def y0shift(self, val): + self["y0shift"] = val + + @property + def y1(self): + """ + Sets the shape's end y position. See `type` and `ysizemode` for + more info. + + The 'y1' property accepts values of any type + + Returns + ------- + Any + """ + return self["y1"] + + @y1.setter + def y1(self, val): + self["y1"] = val + + @property + def y1shift(self): + """ + Shifts `y1` away from the center of the category when `yref` is + a "category" or "multicategory" axis. -0.5 corresponds to the + start of the category and 0.5 corresponds to the end of the + category. + + The 'y1shift' property is a number and may be specified as: + - An int or float in the interval [-1, 1] + + Returns + ------- + int|float + """ + return self["y1shift"] + + @y1shift.setter + def y1shift(self, val): + self["y1shift"] = val + + @property + def yanchor(self): + """ + 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". + + The 'yanchor' property accepts values of any type + + Returns + ------- + Any + """ + return self["yanchor"] + + @yanchor.setter + def yanchor(self, val): + self["yanchor"] = val + + @property + def yref(self): + """ + 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. + + The 'yref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['paper'] + - A string that matches one of the following regular expressions: + ['^y([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["yref"] + + @yref.setter + def yref(self, val): + self["yref"] = val + + @property + def ysizemode(self): + """ + 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. + + The 'ysizemode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['scaled', 'pixel'] + + Returns + ------- + Any + """ + return self["ysizemode"] + + @ysizemode.setter + def ysizemode(self, val): + self["ysizemode"] = val + + @property + def _prop_descriptions(self): + return """\ + 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 gridlines + ("below"), between gridlines and traces ("between") or + above traces ("above"). + 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.Legendgroupti + tle` 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. + x0shift + Shifts `x0` away from the center of the category when + `xref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. + x1 + Sets the shape's end x position. See `type` and + `xsizemode` for more info. + x1shift + Shifts `x1` away from the center of the category when + `xref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. + 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. + y0shift + Shifts `y0` away from the center of the category when + `yref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. + y1 + Sets the shape's end y position. See `type` and + `ysizemode` for more info. + y1shift + Shifts `y1` away from the center of the category when + `yref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. + 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. + """ + + def __init__( + self, + arg=None, + editable=None, + fillcolor=None, + fillrule=None, + label=None, + layer=None, + legend=None, + legendgroup=None, + legendgrouptitle=None, + legendrank=None, + legendwidth=None, + line=None, + name=None, + opacity=None, + path=None, + showlegend=None, + templateitemname=None, + type=None, + visible=None, + x0=None, + x0shift=None, + x1=None, + x1shift=None, + xanchor=None, + xref=None, + xsizemode=None, + y0=None, + y0shift=None, + y1=None, + y1shift=None, + yanchor=None, + yref=None, + ysizemode=None, + **kwargs, + ): + """ + Construct a new Shape object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.Shape` + 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 gridlines + ("below"), between gridlines and traces ("between") or + above traces ("above"). + 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.Legendgroupti + tle` 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. + x0shift + Shifts `x0` away from the center of the category when + `xref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. + x1 + Sets the shape's end x position. See `type` and + `xsizemode` for more info. + x1shift + Shifts `x1` away from the center of the category when + `xref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. + 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. + y0shift + Shifts `y0` away from the center of the category when + `yref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. + y1 + Sets the shape's end y position. See `type` and + `ysizemode` for more info. + y1shift + Shifts `y1` away from the center of the category when + `yref` is a "category" or "multicategory" axis. -0.5 + corresponds to the start of the category and 0.5 + corresponds to the end of the category. + 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 + ------- + Shape + """ + super().__init__("shapes") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Shape +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Shape`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("editable", arg, editable) + self._set_property("fillcolor", arg, fillcolor) + self._set_property("fillrule", arg, fillrule) + self._set_property("label", arg, label) + self._set_property("layer", arg, layer) + self._set_property("legend", arg, legend) + self._set_property("legendgroup", arg, legendgroup) + self._set_property("legendgrouptitle", arg, legendgrouptitle) + self._set_property("legendrank", arg, legendrank) + self._set_property("legendwidth", arg, legendwidth) + self._set_property("line", arg, line) + self._set_property("name", arg, name) + self._set_property("opacity", arg, opacity) + self._set_property("path", arg, path) + self._set_property("showlegend", arg, showlegend) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("type", arg, type) + self._set_property("visible", arg, visible) + self._set_property("x0", arg, x0) + self._set_property("x0shift", arg, x0shift) + self._set_property("x1", arg, x1) + self._set_property("x1shift", arg, x1shift) + self._set_property("xanchor", arg, xanchor) + self._set_property("xref", arg, xref) + self._set_property("xsizemode", arg, xsizemode) + self._set_property("y0", arg, y0) + self._set_property("y0shift", arg, y0shift) + self._set_property("y1", arg, y1) + self._set_property("y1shift", arg, y1shift) + self._set_property("yanchor", arg, yanchor) + self._set_property("yref", arg, yref) + self._set_property("ysizemode", arg, ysizemode) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_slider.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_slider.py new file mode 100644 index 0000000..e6d0a2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_slider.py @@ -0,0 +1,786 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Slider(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.slider" + _valid_props = { + "active", + "activebgcolor", + "bgcolor", + "bordercolor", + "borderwidth", + "currentvalue", + "font", + "len", + "lenmode", + "minorticklen", + "name", + "pad", + "stepdefaults", + "steps", + "templateitemname", + "tickcolor", + "ticklen", + "tickwidth", + "transition", + "visible", + "x", + "xanchor", + "y", + "yanchor", + } + + @property + def active(self): + """ + Determines which button (by index starting from 0) is + considered active. + + The 'active' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["active"] + + @active.setter + def active(self, val): + self["active"] = val + + @property + def activebgcolor(self): + """ + Sets the background color of the slider grip while dragging. + + The 'activebgcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["activebgcolor"] + + @activebgcolor.setter + def activebgcolor(self, val): + self["activebgcolor"] = val + + @property + def bgcolor(self): + """ + Sets the background color of the slider. + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def bordercolor(self): + """ + Sets the color of the border enclosing the slider. + + The 'bordercolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bordercolor"] + + @bordercolor.setter + def bordercolor(self, val): + self["bordercolor"] = val + + @property + def borderwidth(self): + """ + Sets the width (in px) of the border enclosing the slider. + + The 'borderwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["borderwidth"] + + @borderwidth.setter + def borderwidth(self, val): + self["borderwidth"] = val + + @property + def currentvalue(self): + """ + The 'currentvalue' property is an instance of Currentvalue + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.slider.Currentvalue` + - A dict of string/value properties that will be passed + to the Currentvalue constructor + + Returns + ------- + plotly.graph_objs.layout.slider.Currentvalue + """ + return self["currentvalue"] + + @currentvalue.setter + def currentvalue(self, val): + self["currentvalue"] = val + + @property + def font(self): + """ + Sets the font of the slider step labels. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.slider.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.slider.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def len(self): + """ + 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. + + The 'len' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["len"] + + @len.setter + def len(self, val): + self["len"] = val + + @property + def lenmode(self): + """ + Determines whether this slider length is set in units of plot + "fraction" or in *pixels. Use `len` to set the value. + + The 'lenmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['fraction', 'pixels'] + + Returns + ------- + Any + """ + return self["lenmode"] + + @lenmode.setter + def lenmode(self, val): + self["lenmode"] = val + + @property + def minorticklen(self): + """ + Sets the length in pixels of minor step tick marks + + The 'minorticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["minorticklen"] + + @minorticklen.setter + def minorticklen(self, val): + self["minorticklen"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def pad(self): + """ + Set the padding of the slider component along each side. + + The 'pad' property is an instance of Pad + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.slider.Pad` + - A dict of string/value properties that will be passed + to the Pad constructor + + Returns + ------- + plotly.graph_objs.layout.slider.Pad + """ + return self["pad"] + + @pad.setter + def pad(self, val): + self["pad"] = val + + @property + def steps(self): + """ + The 'steps' property is a tuple of instances of + Step that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.slider.Step + - A list or tuple of dicts of string/value properties that + will be passed to the Step constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.slider.Step] + """ + return self["steps"] + + @steps.setter + def steps(self, val): + self["steps"] = val + + @property + def stepdefaults(self): + """ + When used in a template (as + layout.template.layout.slider.stepdefaults), sets the default + property values to use for elements of layout.slider.steps + + The 'stepdefaults' property is an instance of Step + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.slider.Step` + - A dict of string/value properties that will be passed + to the Step constructor + + Returns + ------- + plotly.graph_objs.layout.slider.Step + """ + return self["stepdefaults"] + + @stepdefaults.setter + def stepdefaults(self, val): + self["stepdefaults"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def tickcolor(self): + """ + Sets the color of the border enclosing the slider. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def ticklen(self): + """ + Sets the length in pixels of step tick marks + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @property + def transition(self): + """ + The 'transition' property is an instance of Transition + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.slider.Transition` + - A dict of string/value properties that will be passed + to the Transition constructor + + Returns + ------- + plotly.graph_objs.layout.slider.Transition + """ + return self["transition"] + + @transition.setter + def transition(self, val): + self["transition"] = val + + @property + def visible(self): + """ + Determines whether or not the slider is visible. + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def x(self): + """ + Sets the x position (in normalized coordinates) of the slider. + + The 'x' property is a number and may be specified as: + - An int or float in the interval [-2, 3] + + Returns + ------- + int|float + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def xanchor(self): + """ + Sets the slider's horizontal position anchor. This anchor binds + the `x` position to the "left", "center" or "right" of the + range selector. + + The 'xanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'left', 'center', 'right'] + + Returns + ------- + Any + """ + return self["xanchor"] + + @xanchor.setter + def xanchor(self, val): + self["xanchor"] = val + + @property + def y(self): + """ + Sets the y position (in normalized coordinates) of the slider. + + The 'y' property is a number and may be specified as: + - An int or float in the interval [-2, 3] + + Returns + ------- + int|float + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def yanchor(self): + """ + Sets the slider's vertical position anchor This anchor binds + the `y` position to the "top", "middle" or "bottom" of the + range selector. + + The 'yanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["yanchor"] + + @yanchor.setter + def yanchor(self, val): + self["yanchor"] = val + + @property + def _prop_descriptions(self): + return """\ + 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.Currentvalue + ` 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.Transition` + 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. + """ + + def __init__( + self, + arg=None, + active=None, + activebgcolor=None, + bgcolor=None, + bordercolor=None, + borderwidth=None, + currentvalue=None, + font=None, + len=None, + lenmode=None, + minorticklen=None, + name=None, + pad=None, + steps=None, + stepdefaults=None, + templateitemname=None, + tickcolor=None, + ticklen=None, + tickwidth=None, + transition=None, + visible=None, + x=None, + xanchor=None, + y=None, + yanchor=None, + **kwargs, + ): + """ + Construct a new Slider object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.Slider` + 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.Currentvalue + ` 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.Transition` + 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 + ------- + Slider + """ + super().__init__("sliders") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Slider +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Slider`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("active", arg, active) + self._set_property("activebgcolor", arg, activebgcolor) + self._set_property("bgcolor", arg, bgcolor) + self._set_property("bordercolor", arg, bordercolor) + self._set_property("borderwidth", arg, borderwidth) + self._set_property("currentvalue", arg, currentvalue) + self._set_property("font", arg, font) + self._set_property("len", arg, len) + self._set_property("lenmode", arg, lenmode) + self._set_property("minorticklen", arg, minorticklen) + self._set_property("name", arg, name) + self._set_property("pad", arg, pad) + self._set_property("steps", arg, steps) + self._set_property("stepdefaults", arg, stepdefaults) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickwidth", arg, tickwidth) + self._set_property("transition", arg, transition) + self._set_property("visible", arg, visible) + self._set_property("x", arg, x) + self._set_property("xanchor", arg, xanchor) + self._set_property("y", arg, y) + self._set_property("yanchor", arg, yanchor) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_smith.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_smith.py new file mode 100644 index 0000000..061e679 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_smith.py @@ -0,0 +1,166 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Smith(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.smith" + _valid_props = {"bgcolor", "domain", "imaginaryaxis", "realaxis"} + + @property + def bgcolor(self): + """ + Set the background color of the subplot + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def domain(self): + """ + The 'domain' property is an instance of Domain + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.smith.Domain` + - A dict of string/value properties that will be passed + to the Domain constructor + + Returns + ------- + plotly.graph_objs.layout.smith.Domain + """ + return self["domain"] + + @domain.setter + def domain(self, val): + self["domain"] = val + + @property + def imaginaryaxis(self): + """ + The 'imaginaryaxis' property is an instance of Imaginaryaxis + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.smith.Imaginaryaxis` + - A dict of string/value properties that will be passed + to the Imaginaryaxis constructor + + Returns + ------- + plotly.graph_objs.layout.smith.Imaginaryaxis + """ + return self["imaginaryaxis"] + + @imaginaryaxis.setter + def imaginaryaxis(self, val): + self["imaginaryaxis"] = val + + @property + def realaxis(self): + """ + The 'realaxis' property is an instance of Realaxis + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.smith.Realaxis` + - A dict of string/value properties that will be passed + to the Realaxis constructor + + Returns + ------- + plotly.graph_objs.layout.smith.Realaxis + """ + return self["realaxis"] + + @realaxis.setter + def realaxis(self, val): + self["realaxis"] = val + + @property + def _prop_descriptions(self): + return """\ + bgcolor + Set the background color of the subplot + domain + :class:`plotly.graph_objects.layout.smith.Domain` + instance or dict with compatible properties + imaginaryaxis + :class:`plotly.graph_objects.layout.smith.Imaginaryaxis + ` instance or dict with compatible properties + realaxis + :class:`plotly.graph_objects.layout.smith.Realaxis` + instance or dict with compatible properties + """ + + def __init__( + self, + arg=None, + bgcolor=None, + domain=None, + imaginaryaxis=None, + realaxis=None, + **kwargs, + ): + """ + Construct a new Smith object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.Smith` + bgcolor + Set the background color of the subplot + domain + :class:`plotly.graph_objects.layout.smith.Domain` + instance or dict with compatible properties + imaginaryaxis + :class:`plotly.graph_objects.layout.smith.Imaginaryaxis + ` instance or dict with compatible properties + realaxis + :class:`plotly.graph_objects.layout.smith.Realaxis` + instance or dict with compatible properties + + Returns + ------- + Smith + """ + super().__init__("smith") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Smith +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Smith`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("bgcolor", arg, bgcolor) + self._set_property("domain", arg, domain) + self._set_property("imaginaryaxis", arg, imaginaryaxis) + self._set_property("realaxis", arg, realaxis) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_template.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_template.py new file mode 100644 index 0000000..90eb3f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_template.py @@ -0,0 +1,133 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy +import warnings + + +class Template(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.template" + _valid_props = {"data", "layout"} + + @property + def data(self): + """ + The 'data' property is an instance of Data + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.template.Data` + - A dict of string/value properties that will be passed + to the Data constructor + + Returns + ------- + plotly.graph_objs.layout.template.Data + """ + return self["data"] + + @data.setter + def data(self, val): + self["data"] = val + + @property + def layout(self): + """ + The 'layout' property is an instance of Layout + that may be specified as: + - An instance of :class:`plotly.graph_objs.Layout` + - A dict of string/value properties that will be passed + to the Layout constructor + + Returns + ------- + plotly.graph_objs.layout.template.Layout + """ + return self["layout"] + + @layout.setter + def layout(self, val): + self["layout"] = val + + @property + def _prop_descriptions(self): + return """\ + data + :class:`plotly.graph_objects.layout.template.Data` + instance or dict with compatible properties + layout + :class:`plotly.graph_objects.Layout` instance or dict + with compatible properties + """ + + def __init__(self, arg=None, data=None, layout=None, **kwargs): + """ + Construct a new Template object + + 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`. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Template` + data + :class:`plotly.graph_objects.layout.template.Data` + instance or dict with compatible properties + layout + :class:`plotly.graph_objects.Layout` instance or dict + with compatible properties + + Returns + ------- + Template + """ + super().__init__("template") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Template +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Template`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + # Template.data contains a 'scattermapbox' key, which causes a + # go.Scattermapbox trace object to be created during validation. + # In order to prevent false deprecation warnings from surfacing, + # we suppress deprecation warnings for this line only. + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", category=DeprecationWarning) + self._set_property("data", arg, data) + self._set_property("layout", arg, layout) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_ternary.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_ternary.py new file mode 100644 index 0000000..c8cb58f --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_ternary.py @@ -0,0 +1,250 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Ternary(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.ternary" + _valid_props = {"aaxis", "baxis", "bgcolor", "caxis", "domain", "sum", "uirevision"} + + @property + def aaxis(self): + """ + The 'aaxis' property is an instance of Aaxis + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.ternary.Aaxis` + - A dict of string/value properties that will be passed + to the Aaxis constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.Aaxis + """ + return self["aaxis"] + + @aaxis.setter + def aaxis(self, val): + self["aaxis"] = val + + @property + def baxis(self): + """ + The 'baxis' property is an instance of Baxis + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.ternary.Baxis` + - A dict of string/value properties that will be passed + to the Baxis constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.Baxis + """ + return self["baxis"] + + @baxis.setter + def baxis(self, val): + self["baxis"] = val + + @property + def bgcolor(self): + """ + Set the background color of the subplot + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def caxis(self): + """ + The 'caxis' property is an instance of Caxis + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.ternary.Caxis` + - A dict of string/value properties that will be passed + to the Caxis constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.Caxis + """ + return self["caxis"] + + @caxis.setter + def caxis(self, val): + self["caxis"] = val + + @property + def domain(self): + """ + The 'domain' property is an instance of Domain + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.ternary.Domain` + - A dict of string/value properties that will be passed + to the Domain constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.Domain + """ + return self["domain"] + + @domain.setter + def domain(self, val): + self["domain"] = val + + @property + def sum(self): + """ + The number each triplet should sum to, and the maximum range of + each axis + + The 'sum' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["sum"] + + @sum.setter + def sum(self, val): + self["sum"] = val + + @property + def uirevision(self): + """ + Controls persistence of user-driven changes in axis `min` and + `title`, if not overridden in the individual axes. Defaults to + `layout.uirevision`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @property + def _prop_descriptions(self): + return """\ + aaxis + :class:`plotly.graph_objects.layout.ternary.Aaxis` + instance or dict with compatible properties + baxis + :class:`plotly.graph_objects.layout.ternary.Baxis` + instance or dict with compatible properties + bgcolor + Set the background color of the subplot + caxis + :class:`plotly.graph_objects.layout.ternary.Caxis` + instance or dict with compatible properties + domain + :class:`plotly.graph_objects.layout.ternary.Domain` + 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`. + """ + + def __init__( + self, + arg=None, + aaxis=None, + baxis=None, + bgcolor=None, + caxis=None, + domain=None, + sum=None, + uirevision=None, + **kwargs, + ): + """ + Construct a new Ternary object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Ternary` + aaxis + :class:`plotly.graph_objects.layout.ternary.Aaxis` + instance or dict with compatible properties + baxis + :class:`plotly.graph_objects.layout.ternary.Baxis` + instance or dict with compatible properties + bgcolor + Set the background color of the subplot + caxis + :class:`plotly.graph_objects.layout.ternary.Caxis` + instance or dict with compatible properties + domain + :class:`plotly.graph_objects.layout.ternary.Domain` + 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 + ------- + Ternary + """ + super().__init__("ternary") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Ternary +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Ternary`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("aaxis", arg, aaxis) + self._set_property("baxis", arg, baxis) + self._set_property("bgcolor", arg, bgcolor) + self._set_property("caxis", arg, caxis) + self._set_property("domain", arg, domain) + self._set_property("sum", arg, sum) + self._set_property("uirevision", arg, uirevision) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_title.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_title.py new file mode 100644 index 0000000..47301d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_title.py @@ -0,0 +1,450 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Title(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.title" + _valid_props = { + "automargin", + "font", + "pad", + "subtitle", + "text", + "x", + "xanchor", + "xref", + "y", + "yanchor", + "yref", + } + + @property + def automargin(self): + """ + 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. + + The 'automargin' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["automargin"] + + @automargin.setter + def automargin(self, val): + self["automargin"] = val + + @property + def font(self): + """ + Sets the title font. + + 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 + + Returns + ------- + plotly.graph_objs.layout.title.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def pad(self): + """ + 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". + + The 'pad' property is an instance of Pad + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.title.Pad` + - A dict of string/value properties that will be passed + to the Pad constructor + + Returns + ------- + plotly.graph_objs.layout.title.Pad + """ + return self["pad"] + + @pad.setter + def pad(self, val): + self["pad"] = val + + @property + def subtitle(self): + """ + The 'subtitle' property is an instance of Subtitle + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.title.Subtitle` + - A dict of string/value properties that will be passed + to the Subtitle constructor + + Returns + ------- + plotly.graph_objs.layout.title.Subtitle + """ + return self["subtitle"] + + @subtitle.setter + def subtitle(self, val): + self["subtitle"] = val + + @property + def text(self): + """ + Sets the plot's title. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def x(self): + """ + Sets the x position with respect to `xref` in normalized + coordinates from 0 (left) to 1 (right). + + The 'x' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def xanchor(self): + """ + 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`. + + The 'xanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'left', 'center', 'right'] + + Returns + ------- + Any + """ + return self["xanchor"] + + @xanchor.setter + def xanchor(self, val): + self["xanchor"] = val + + @property + def xref(self): + """ + Sets the container `x` refers to. "container" spans the entire + `width` of the plot. "paper" refers to the width of the + plotting area only. + + The 'xref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['container', 'paper'] + + Returns + ------- + Any + """ + return self["xref"] + + @xref.setter + def xref(self, val): + self["xref"] = val + + @property + def y(self): + """ + 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. + + The 'y' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def yanchor(self): + """ + 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`. + + The 'yanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["yanchor"] + + @yanchor.setter + def yanchor(self, val): + self["yanchor"] = val + + @property + def yref(self): + """ + Sets the container `y` refers to. "container" spans the entire + `height` of the plot. "paper" refers to the height of the + plotting area only. + + The 'yref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['container', 'paper'] + + Returns + ------- + Any + """ + return self["yref"] + + @yref.setter + def yref(self, val): + self["yref"] = val + + @property + def _prop_descriptions(self): + return """\ + 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. + 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". + subtitle + :class:`plotly.graph_objects.layout.title.Subtitle` + instance or dict with compatible properties + text + Sets the plot's title. + 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. + """ + + def __init__( + self, + arg=None, + automargin=None, + font=None, + pad=None, + subtitle=None, + text=None, + x=None, + xanchor=None, + xref=None, + y=None, + yanchor=None, + yref=None, + **kwargs, + ): + """ + Construct a new Title object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.Title` + 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. + 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". + subtitle + :class:`plotly.graph_objects.layout.title.Subtitle` + instance or dict with compatible properties + text + Sets the plot's title. + 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 + ------- + Title + """ + super().__init__("title") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Title +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Title`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("automargin", arg, automargin) + self._set_property("font", arg, font) + self._set_property("pad", arg, pad) + self._set_property("subtitle", arg, subtitle) + self._set_property("text", arg, text) + self._set_property("x", arg, x) + self._set_property("xanchor", arg, xanchor) + self._set_property("xref", arg, xref) + self._set_property("y", arg, y) + self._set_property("yanchor", arg, yanchor) + self._set_property("yref", arg, yref) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_transition.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_transition.py new file mode 100644 index 0000000..fec6a28 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_transition.py @@ -0,0 +1,144 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Transition(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.transition" + _valid_props = {"duration", "easing", "ordering"} + + @property + def duration(self): + """ + The duration of the transition, in milliseconds. If equal to + zero, updates are synchronous. + + The 'duration' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["duration"] + + @duration.setter + def duration(self, val): + self["duration"] = val + + @property + def easing(self): + """ + The easing function used for the transition + + The 'easing' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['linear', 'quad', 'cubic', 'sin', 'exp', 'circle', + 'elastic', 'back', 'bounce', 'linear-in', 'quad-in', + 'cubic-in', 'sin-in', 'exp-in', 'circle-in', 'elastic-in', + 'back-in', 'bounce-in', 'linear-out', 'quad-out', + 'cubic-out', 'sin-out', 'exp-out', 'circle-out', + 'elastic-out', 'back-out', 'bounce-out', 'linear-in-out', + 'quad-in-out', 'cubic-in-out', 'sin-in-out', 'exp-in-out', + 'circle-in-out', 'elastic-in-out', 'back-in-out', + 'bounce-in-out'] + + Returns + ------- + Any + """ + return self["easing"] + + @easing.setter + def easing(self, val): + self["easing"] = val + + @property + def ordering(self): + """ + Determines whether the figure's layout or traces smoothly + transitions during updates that make both traces and layout + change. + + The 'ordering' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['layout first', 'traces first'] + + Returns + ------- + Any + """ + return self["ordering"] + + @ordering.setter + def ordering(self, val): + self["ordering"] = val + + @property + def _prop_descriptions(self): + return """\ + 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. + """ + + def __init__(self, arg=None, duration=None, easing=None, ordering=None, **kwargs): + """ + Construct a new Transition object + + Sets transition options used during Plotly.react updates. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Transition` + 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 + ------- + Transition + """ + super().__init__("transition") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Transition +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Transition`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("duration", arg, duration) + self._set_property("easing", arg, easing) + self._set_property("ordering", arg, ordering) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_uniformtext.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_uniformtext.py new file mode 100644 index 0000000..a47da28 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_uniformtext.py @@ -0,0 +1,124 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Uniformtext(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.uniformtext" + _valid_props = {"minsize", "mode"} + + @property + def minsize(self): + """ + Sets the minimum text size between traces of the same type. + + The 'minsize' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["minsize"] + + @minsize.setter + def minsize(self, val): + self["minsize"] = val + + @property + def mode(self): + """ + 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. + + The 'mode' property is an enumeration that may be specified as: + - One of the following enumeration values: + [False, 'hide', 'show'] + + Returns + ------- + Any + """ + return self["mode"] + + @mode.setter + def mode(self, val): + self["mode"] = val + + @property + def _prop_descriptions(self): + return """\ + 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. + """ + + def __init__(self, arg=None, minsize=None, mode=None, **kwargs): + """ + Construct a new Uniformtext object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Uniformtext` + 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 + ------- + Uniformtext + """ + super().__init__("uniformtext") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Uniformtext +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Uniformtext`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("minsize", arg, minsize) + self._set_property("mode", arg, mode) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_updatemenu.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_updatemenu.py new file mode 100644 index 0000000..ebd1e67 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_updatemenu.py @@ -0,0 +1,632 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Updatemenu(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.updatemenu" + _valid_props = { + "active", + "bgcolor", + "bordercolor", + "borderwidth", + "buttondefaults", + "buttons", + "direction", + "font", + "name", + "pad", + "showactive", + "templateitemname", + "type", + "visible", + "x", + "xanchor", + "y", + "yanchor", + } + + @property + def active(self): + """ + Determines which button (by index starting from 0) is + considered active. + + The 'active' 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["active"] + + @active.setter + def active(self, val): + self["active"] = val + + @property + def bgcolor(self): + """ + Sets the background color of the update menu buttons. + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def bordercolor(self): + """ + Sets the color of the border enclosing the update menu. + + The 'bordercolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bordercolor"] + + @bordercolor.setter + def bordercolor(self, val): + self["bordercolor"] = val + + @property + def borderwidth(self): + """ + Sets the width (in px) of the border enclosing the update menu. + + The 'borderwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["borderwidth"] + + @borderwidth.setter + def borderwidth(self, val): + self["borderwidth"] = val + + @property + def buttons(self): + """ + The 'buttons' property is a tuple of instances of + Button that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.updatemenu.Button + - A list or tuple of dicts of string/value properties that + will be passed to the Button constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.updatemenu.Button] + """ + return self["buttons"] + + @buttons.setter + def buttons(self, val): + self["buttons"] = val + + @property + def buttondefaults(self): + """ + When used in a template (as + layout.template.layout.updatemenu.buttondefaults), sets the + default property values to use for elements of + layout.updatemenu.buttons + + The 'buttondefaults' property is an instance of Button + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.updatemenu.Button` + - A dict of string/value properties that will be passed + to the Button constructor + + Returns + ------- + plotly.graph_objs.layout.updatemenu.Button + """ + return self["buttondefaults"] + + @buttondefaults.setter + def buttondefaults(self, val): + self["buttondefaults"] = val + + @property + def direction(self): + """ + 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. + + The 'direction' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['left', 'right', 'up', 'down'] + + Returns + ------- + Any + """ + return self["direction"] + + @direction.setter + def direction(self, val): + self["direction"] = val + + @property + def font(self): + """ + Sets the font of the update menu button text. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.updatemenu.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.updatemenu.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def pad(self): + """ + Sets the padding around the buttons or dropdown menu. + + The 'pad' property is an instance of Pad + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.updatemenu.Pad` + - A dict of string/value properties that will be passed + to the Pad constructor + + Returns + ------- + plotly.graph_objs.layout.updatemenu.Pad + """ + return self["pad"] + + @pad.setter + def pad(self, val): + self["pad"] = val + + @property + def showactive(self): + """ + Highlights active dropdown item or active button if true. + + The 'showactive' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showactive"] + + @showactive.setter + def showactive(self, val): + self["showactive"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def type(self): + """ + Determines whether the buttons are accessible via a dropdown + menu or whether the buttons are stacked horizontally or + vertically + + The 'type' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['dropdown', 'buttons'] + + Returns + ------- + Any + """ + return self["type"] + + @type.setter + def type(self, val): + self["type"] = val + + @property + def visible(self): + """ + Determines whether or not the update menu is visible. + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def x(self): + """ + Sets the x position (in normalized coordinates) of the update + menu. + + The 'x' property is a number and may be specified as: + - An int or float in the interval [-2, 3] + + Returns + ------- + int|float + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def xanchor(self): + """ + Sets the update menu's horizontal position anchor. This anchor + binds the `x` position to the "left", "center" or "right" of + the range selector. + + The 'xanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'left', 'center', 'right'] + + Returns + ------- + Any + """ + return self["xanchor"] + + @xanchor.setter + def xanchor(self, val): + self["xanchor"] = val + + @property + def y(self): + """ + Sets the y position (in normalized coordinates) of the update + menu. + + The 'y' property is a number and may be specified as: + - An int or float in the interval [-2, 3] + + Returns + ------- + int|float + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def yanchor(self): + """ + Sets the update menu's vertical position anchor This anchor + binds the `y` position to the "top", "middle" or "bottom" of + the range selector. + + The 'yanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["yanchor"] + + @yanchor.setter + def yanchor(self, val): + self["yanchor"] = val + + @property + def _prop_descriptions(self): + return """\ + 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.layout.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. + """ + + def __init__( + self, + arg=None, + active=None, + bgcolor=None, + bordercolor=None, + borderwidth=None, + buttons=None, + buttondefaults=None, + direction=None, + font=None, + name=None, + pad=None, + showactive=None, + templateitemname=None, + type=None, + visible=None, + x=None, + xanchor=None, + y=None, + yanchor=None, + **kwargs, + ): + """ + Construct a new Updatemenu object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.Updatemenu` + 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.layout.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 + ------- + Updatemenu + """ + super().__init__("updatemenus") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.Updatemenu +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.Updatemenu`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("active", arg, active) + self._set_property("bgcolor", arg, bgcolor) + self._set_property("bordercolor", arg, bordercolor) + self._set_property("borderwidth", arg, borderwidth) + self._set_property("buttons", arg, buttons) + self._set_property("buttondefaults", arg, buttondefaults) + self._set_property("direction", arg, direction) + self._set_property("font", arg, font) + self._set_property("name", arg, name) + self._set_property("pad", arg, pad) + self._set_property("showactive", arg, showactive) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("type", arg, type) + self._set_property("visible", arg, visible) + self._set_property("x", arg, x) + self._set_property("xanchor", arg, xanchor) + self._set_property("y", arg, y) + self._set_property("yanchor", arg, yanchor) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_xaxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_xaxis.py new file mode 100644 index 0000000..901e418 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_xaxis.py @@ -0,0 +1,3415 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class XAxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.xaxis" + _valid_props = { + "anchor", + "automargin", + "autorange", + "autorangeoptions", + "autotickangles", + "autotypenumbers", + "calendar", + "categoryarray", + "categoryarraysrc", + "categoryorder", + "color", + "constrain", + "constraintoward", + "dividercolor", + "dividerwidth", + "domain", + "dtick", + "exponentformat", + "fixedrange", + "gridcolor", + "griddash", + "gridwidth", + "hoverformat", + "insiderange", + "labelalias", + "layer", + "linecolor", + "linewidth", + "matches", + "maxallowed", + "minallowed", + "minexponent", + "minor", + "mirror", + "nticks", + "overlaying", + "position", + "range", + "rangebreakdefaults", + "rangebreaks", + "rangemode", + "rangeselector", + "rangeslider", + "scaleanchor", + "scaleratio", + "separatethousands", + "showdividers", + "showexponent", + "showgrid", + "showline", + "showspikes", + "showticklabels", + "showtickprefix", + "showticksuffix", + "side", + "spikecolor", + "spikedash", + "spikemode", + "spikesnap", + "spikethickness", + "tick0", + "tickangle", + "tickcolor", + "tickfont", + "tickformat", + "tickformatstopdefaults", + "tickformatstops", + "ticklabelindex", + "ticklabelindexsrc", + "ticklabelmode", + "ticklabeloverflow", + "ticklabelposition", + "ticklabelshift", + "ticklabelstandoff", + "ticklabelstep", + "ticklen", + "tickmode", + "tickprefix", + "ticks", + "tickson", + "ticksuffix", + "ticktext", + "ticktextsrc", + "tickvals", + "tickvalssrc", + "tickwidth", + "title", + "type", + "uirevision", + "visible", + "zeroline", + "zerolinecolor", + "zerolinewidth", + } + + @property + def anchor(self): + """ + 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`. + + The 'anchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['free'] + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?( domain)?$', + '^y([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["anchor"] + + @anchor.setter + def anchor(self, val): + self["anchor"] = val + + @property + def automargin(self): + """ + Determines whether long tick labels automatically grow the + figure margins. + + The 'automargin' property is a flaglist and may be specified + as a string containing: + - Any combination of ['height', 'width', 'left', 'right', 'top', 'bottom'] joined with '+' characters + (e.g. 'height+width') + OR exactly one of [True, False] (e.g. 'False') + + Returns + ------- + Any + """ + return self["automargin"] + + @automargin.setter + def automargin(self, val): + self["automargin"] = val + + @property + def autorange(self): + """ + 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. + + The 'autorange' property is an enumeration that may be specified as: + - One of the following enumeration values: + [True, False, 'reversed', 'min reversed', 'max reversed', + 'min', 'max'] + + Returns + ------- + Any + """ + return self["autorange"] + + @autorange.setter + def autorange(self, val): + self["autorange"] = val + + @property + def autorangeoptions(self): + """ + The 'autorangeoptions' property is an instance of Autorangeoptions + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.xaxis.Autorangeoptions` + - A dict of string/value properties that will be passed + to the Autorangeoptions constructor + + Returns + ------- + plotly.graph_objs.layout.xaxis.Autorangeoptions + """ + return self["autorangeoptions"] + + @autorangeoptions.setter + def autorangeoptions(self, val): + self["autorangeoptions"] = val + + @property + def autotickangles(self): + """ + When `tickangle` is set to "auto", it will be set to the first + angle in this array that is large enough to prevent label + overlap. + + The 'autotickangles' property is an info array that may be specified as: + * a list of elements where: + The 'autotickangles[i]' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + list + """ + return self["autotickangles"] + + @autotickangles.setter + def autotickangles(self, val): + self["autotickangles"] = val + + @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. Defaults to layout.autotypenumbers. + + 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 + + @property + def calendar(self): + """ + 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` + + 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 + + @property + def categoryarray(self): + """ + Sets the order in which categories on this axis appear. Only + has an effect if `categoryorder` is set to "array". Used with + `categoryorder`. + + The 'categoryarray' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["categoryarray"] + + @categoryarray.setter + def categoryarray(self, val): + self["categoryarray"] = val + + @property + def categoryarraysrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `categoryarray`. + + The 'categoryarraysrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["categoryarraysrc"] + + @categoryarraysrc.setter + def categoryarraysrc(self, val): + self["categoryarraysrc"] = val + + @property + def categoryorder(self): + """ + 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, geometric mean or median + of all the values. + + The 'categoryorder' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['trace', 'category ascending', 'category descending', + 'array', 'total ascending', 'total descending', 'min + ascending', 'min descending', 'max ascending', 'max + descending', 'sum ascending', 'sum descending', 'mean + ascending', 'mean descending', 'geometric mean ascending', + 'geometric mean descending', 'median ascending', 'median + descending'] + + Returns + ------- + Any + """ + return self["categoryorder"] + + @categoryorder.setter + def categoryorder(self, val): + self["categoryorder"] = val + + @property + def color(self): + """ + 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. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def constrain(self): + """ + 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. + + The 'constrain' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['range', 'domain'] + + Returns + ------- + Any + """ + return self["constrain"] + + @constrain.setter + def constrain(self, val): + self["constrain"] = val + + @property + def constraintoward(self): + """ + 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. + + The 'constraintoward' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['left', 'center', 'right', 'top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["constraintoward"] + + @constraintoward.setter + def constraintoward(self, val): + self["constraintoward"] = val + + @property + def dividercolor(self): + """ + Sets the color of the dividers Only has an effect on + "multicategory" axes. + + The 'dividercolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["dividercolor"] + + @dividercolor.setter + def dividercolor(self, val): + self["dividercolor"] = val + + @property + def dividerwidth(self): + """ + Sets the width (in px) of the dividers Only has an effect on + "multicategory" axes. + + The 'dividerwidth' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["dividerwidth"] + + @dividerwidth.setter + def dividerwidth(self, val): + self["dividerwidth"] = val + + @property + def domain(self): + """ + Sets the domain of this axis (in plot fraction). + + The 'domain' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'domain[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'domain[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["domain"] + + @domain.setter + def domain(self, val): + self["domain"] = val + + @property + def dtick(self): + """ + 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<f>", 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<n>" 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" + + The 'dtick' property accepts values of any type + + Returns + ------- + Any + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def exponentformat(self): + """ + 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. + + The 'exponentformat' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['none', 'e', 'E', 'power', 'SI', 'B'] + + Returns + ------- + Any + """ + return self["exponentformat"] + + @exponentformat.setter + def exponentformat(self, val): + self["exponentformat"] = val + + @property + def fixedrange(self): + """ + Determines whether or not this axis is zoom-able. If true, then + zoom is disabled. + + The 'fixedrange' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["fixedrange"] + + @fixedrange.setter + def fixedrange(self, val): + self["fixedrange"] = val + + @property + def gridcolor(self): + """ + Sets the color of the grid lines. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def griddash(self): + """ + 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"). + + The 'griddash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["griddash"] + + @griddash.setter + def griddash(self, val): + self["griddash"] = val + + @property + def gridwidth(self): + """ + Sets the width (in px) of the grid lines. + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def hoverformat(self): + """ + Sets the hover text formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'hoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["hoverformat"] + + @hoverformat.setter + def hoverformat(self, val): + self["hoverformat"] = val + + @property + def insiderange(self): + """ + 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. + + The 'insiderange' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'insiderange[0]' property accepts values of any type + (1) The 'insiderange[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["insiderange"] + + @insiderange.setter + def insiderange(self, val): + self["insiderange"] = val + + @property + def labelalias(self): + """ + 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. + + The 'labelalias' property accepts values of any type + + Returns + ------- + Any + """ + return self["labelalias"] + + @labelalias.setter + def labelalias(self, val): + self["labelalias"] = val + + @property + def layer(self): + """ + 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. + + The 'layer' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['above traces', 'below traces'] + + Returns + ------- + Any + """ + return self["layer"] + + @layer.setter + def layer(self, val): + self["layer"] = val + + @property + def linecolor(self): + """ + Sets the axis line color. + + The 'linecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["linecolor"] + + @linecolor.setter + def linecolor(self, val): + self["linecolor"] = val + + @property + def linewidth(self): + """ + Sets the width (in px) of the axis line. + + The 'linewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["linewidth"] + + @linewidth.setter + def linewidth(self, val): + self["linewidth"] = val + + @property + def matches(self): + """ + 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`. + + The 'matches' property is an enumeration that may be specified as: + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?( domain)?$', + '^y([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["matches"] + + @matches.setter + def matches(self, val): + self["matches"] = val + + @property + def maxallowed(self): + """ + Determines the maximum range of this axis. + + The 'maxallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["maxallowed"] + + @maxallowed.setter + def maxallowed(self, val): + self["maxallowed"] = val + + @property + def minallowed(self): + """ + Determines the minimum range of this axis. + + The 'minallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["minallowed"] + + @minallowed.setter + def minallowed(self, val): + self["minallowed"] = val + + @property + def minexponent(self): + """ + Hide SI prefix for 10^n if |n| is below this number. This only + has an effect when `tickformat` is "SI" or "B". + + The 'minexponent' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["minexponent"] + + @minexponent.setter + def minexponent(self, val): + self["minexponent"] = val + + @property + def minor(self): + """ + The 'minor' property is an instance of Minor + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.xaxis.Minor` + - A dict of string/value properties that will be passed + to the Minor constructor + + Returns + ------- + plotly.graph_objs.layout.xaxis.Minor + """ + return self["minor"] + + @minor.setter + def minor(self, val): + self["minor"] = val + + @property + def mirror(self): + """ + 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. + + The 'mirror' property is an enumeration that may be specified as: + - One of the following enumeration values: + [True, 'ticks', False, 'all', 'allticks'] + + Returns + ------- + Any + """ + return self["mirror"] + + @mirror.setter + def mirror(self, val): + self["mirror"] = val + + @property + def nticks(self): + """ + 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". + + The 'nticks' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["nticks"] + + @nticks.setter + def nticks(self, val): + self["nticks"] = val + + @property + def overlaying(self): + """ + 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. + + The 'overlaying' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['free'] + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?( domain)?$', + '^y([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["overlaying"] + + @overlaying.setter + def overlaying(self, val): + self["overlaying"] = val + + @property + def position(self): + """ + Sets the position of this axis in the plotting space (in + normalized coordinates). Only has an effect if `anchor` is set + to "free". + + The 'position' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["position"] + + @position.setter + def position(self, val): + self["position"] = val + + @property + def range(self): + """ + 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`. + + The 'range' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'range[0]' property accepts values of any type + (1) The 'range[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["range"] + + @range.setter + def range(self, val): + self["range"] = val + + @property + def rangebreaks(self): + """ + The 'rangebreaks' property is a tuple of instances of + Rangebreak that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.xaxis.Rangebreak + - A list or tuple of dicts of string/value properties that + will be passed to the Rangebreak constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.xaxis.Rangebreak] + """ + return self["rangebreaks"] + + @rangebreaks.setter + def rangebreaks(self, val): + self["rangebreaks"] = val + + @property + def rangebreakdefaults(self): + """ + When used in a template (as + layout.template.layout.xaxis.rangebreakdefaults), sets the + default property values to use for elements of + layout.xaxis.rangebreaks + + The 'rangebreakdefaults' property is an instance of Rangebreak + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.xaxis.Rangebreak` + - A dict of string/value properties that will be passed + to the Rangebreak constructor + + Returns + ------- + plotly.graph_objs.layout.xaxis.Rangebreak + """ + return self["rangebreakdefaults"] + + @rangebreakdefaults.setter + def rangebreakdefaults(self, val): + self["rangebreakdefaults"] = val + + @property + def rangemode(self): + """ + 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. + + The 'rangemode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'tozero', 'nonnegative'] + + Returns + ------- + Any + """ + return self["rangemode"] + + @rangemode.setter + def rangemode(self, val): + self["rangemode"] = val + + @property + def rangeselector(self): + """ + The 'rangeselector' property is an instance of Rangeselector + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.xaxis.Rangeselector` + - A dict of string/value properties that will be passed + to the Rangeselector constructor + + Returns + ------- + plotly.graph_objs.layout.xaxis.Rangeselector + """ + return self["rangeselector"] + + @rangeselector.setter + def rangeselector(self, val): + self["rangeselector"] = val + + @property + def rangeslider(self): + """ + The 'rangeslider' property is an instance of Rangeslider + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.xaxis.Rangeslider` + - A dict of string/value properties that will be passed + to the Rangeslider constructor + + Returns + ------- + plotly.graph_objs.layout.xaxis.Rangeslider + """ + return self["rangeslider"] + + @rangeslider.setter + def rangeslider(self, val): + self["rangeslider"] = val + + @property + def scaleanchor(self): + """ + 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). + + The 'scaleanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + [False] + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?( domain)?$', + '^y([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["scaleanchor"] + + @scaleanchor.setter + def scaleanchor(self, val): + self["scaleanchor"] = val + + @property + def scaleratio(self): + """ + 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. + + The 'scaleratio' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["scaleratio"] + + @scaleratio.setter + def scaleratio(self, val): + self["scaleratio"] = val + + @property + def separatethousands(self): + """ + If "true", even 4-digit integers are separated + + The 'separatethousands' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["separatethousands"] + + @separatethousands.setter + def separatethousands(self, val): + self["separatethousands"] = val + + @property + def showdividers(self): + """ + Determines whether or not a dividers are drawn between the + category levels of this axis. Only has an effect on + "multicategory" axes. + + The 'showdividers' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showdividers"] + + @showdividers.setter + def showdividers(self, val): + self["showdividers"] = val + + @property + def showexponent(self): + """ + 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. + + The 'showexponent' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showexponent"] + + @showexponent.setter + def showexponent(self, val): + self["showexponent"] = val + + @property + def showgrid(self): + """ + Determines whether or not grid lines are drawn. If True, the + grid lines are drawn at every tick mark. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def showline(self): + """ + Determines whether or not a line bounding this axis is drawn. + + The 'showline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showline"] + + @showline.setter + def showline(self, val): + self["showline"] = val + + @property + def showspikes(self): + """ + Determines whether or not spikes (aka droplines) are drawn for + this axis. Note: This only takes affect when hovermode = + closest + + The 'showspikes' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showspikes"] + + @showspikes.setter + def showspikes(self, val): + self["showspikes"] = val + + @property + def showticklabels(self): + """ + Determines whether or not the tick labels are drawn. + + The 'showticklabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showticklabels"] + + @showticklabels.setter + def showticklabels(self, val): + self["showticklabels"] = val + + @property + def showtickprefix(self): + """ + 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. + + The 'showtickprefix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showtickprefix"] + + @showtickprefix.setter + def showtickprefix(self, val): + self["showtickprefix"] = val + + @property + def showticksuffix(self): + """ + Same as `showtickprefix` but for tick suffixes. + + The 'showticksuffix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showticksuffix"] + + @showticksuffix.setter + def showticksuffix(self, val): + self["showticksuffix"] = val + + @property + def side(self): + """ + Determines whether a x (y) axis is positioned at the "bottom" + ("left") or "top" ("right") of the plotting area. + + The 'side' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top', 'bottom', 'left', 'right'] + + Returns + ------- + Any + """ + return self["side"] + + @side.setter + def side(self, val): + self["side"] = val + + @property + def spikecolor(self): + """ + Sets the spike color. If undefined, will use the series color + + The 'spikecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["spikecolor"] + + @spikecolor.setter + def spikecolor(self, val): + self["spikecolor"] = val + + @property + def spikedash(self): + """ + 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"). + + The 'spikedash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["spikedash"] + + @spikedash.setter + def spikedash(self, val): + self["spikedash"] = val + + @property + def spikemode(self): + """ + 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 + + The 'spikemode' property is a flaglist and may be specified + as a string containing: + - Any combination of ['toaxis', 'across', 'marker'] joined with '+' characters + (e.g. 'toaxis+across') + + Returns + ------- + Any + """ + return self["spikemode"] + + @spikemode.setter + def spikemode(self, val): + self["spikemode"] = val + + @property + def spikesnap(self): + """ + Determines whether spikelines are stuck to the cursor or to the + closest datapoints. + + The 'spikesnap' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['data', 'cursor', 'hovered data'] + + Returns + ------- + Any + """ + return self["spikesnap"] + + @spikesnap.setter + def spikesnap(self, val): + self["spikesnap"] = val + + @property + def spikethickness(self): + """ + Sets the width (in px) of the zero line. + + The 'spikethickness' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["spikethickness"] + + @spikethickness.setter + def spikethickness(self, val): + self["spikethickness"] = val + + @property + def tick0(self): + """ + 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<f>* (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. + + The 'tick0' property accepts values of any type + + Returns + ------- + Any + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def tickangle(self): + """ + Sets the angle of the tick labels with respect to the + horizontal. For example, a `tickangle` of -90 draws the tick + labels vertically. + + The 'tickangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["tickangle"] + + @tickangle.setter + def tickangle(self, val): + self["tickangle"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def tickfont(self): + """ + Sets the tick font. + + The 'tickfont' property is an instance of Tickfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.xaxis.Tickfont` + - A dict of string/value properties that will be passed + to the Tickfont constructor + + Returns + ------- + plotly.graph_objs.layout.xaxis.Tickfont + """ + return self["tickfont"] + + @tickfont.setter + def tickfont(self, val): + self["tickfont"] = val + + @property + def tickformat(self): + """ + Sets the tick label formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'tickformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickformat"] + + @tickformat.setter + def tickformat(self, val): + self["tickformat"] = val + + @property + def tickformatstops(self): + """ + The 'tickformatstops' property is a tuple of instances of + Tickformatstop that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.xaxis.Tickformatstop + - A list or tuple of dicts of string/value properties that + will be passed to the Tickformatstop constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.xaxis.Tickformatstop] + """ + return self["tickformatstops"] + + @tickformatstops.setter + def tickformatstops(self, val): + self["tickformatstops"] = val + + @property + def tickformatstopdefaults(self): + """ + When used in a template (as + layout.template.layout.xaxis.tickformatstopdefaults), sets the + default property values to use for elements of + layout.xaxis.tickformatstops + + The 'tickformatstopdefaults' property is an instance of Tickformatstop + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.xaxis.Tickformatstop` + - A dict of string/value properties that will be passed + to the Tickformatstop constructor + + Returns + ------- + plotly.graph_objs.layout.xaxis.Tickformatstop + """ + return self["tickformatstopdefaults"] + + @tickformatstopdefaults.setter + def tickformatstopdefaults(self, val): + self["tickformatstopdefaults"] = val + + @property + def ticklabelindex(self): + """ + Only for axes with `type` "date" or "linear". Instead of + drawing the major tick label, draw the label for the minor tick + that is n positions away from the major tick. E.g. to always + draw the label for the minor tick before each major tick, + choose `ticklabelindex` -1. This is useful for date axes with + `ticklabelmode` "period" if you want to label the period that + ends with each major tick instead of the period that begins + there. + + The 'ticklabelindex' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + int|numpy.ndarray + """ + return self["ticklabelindex"] + + @ticklabelindex.setter + def ticklabelindex(self, val): + self["ticklabelindex"] = val + + @property + def ticklabelindexsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `ticklabelindex`. + + The 'ticklabelindexsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticklabelindexsrc"] + + @ticklabelindexsrc.setter + def ticklabelindexsrc(self, val): + self["ticklabelindexsrc"] = val + + @property + def ticklabelmode(self): + """ + 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. + + The 'ticklabelmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['instant', 'period'] + + Returns + ------- + Any + """ + return self["ticklabelmode"] + + @ticklabelmode.setter + def ticklabelmode(self, val): + self["ticklabelmode"] = val + + @property + def ticklabeloverflow(self): + """ + 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*. + + The 'ticklabeloverflow' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['allow', 'hide past div', 'hide past domain'] + + Returns + ------- + Any + """ + return self["ticklabeloverflow"] + + @ticklabeloverflow.setter + def ticklabeloverflow(self, val): + self["ticklabeloverflow"] = val + + @property + def ticklabelposition(self): + """ + 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. + + The 'ticklabelposition' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', 'outside top', 'inside top', + 'outside left', 'inside left', 'outside right', 'inside + right', 'outside bottom', 'inside bottom'] + + Returns + ------- + Any + """ + return self["ticklabelposition"] + + @ticklabelposition.setter + def ticklabelposition(self, val): + self["ticklabelposition"] = val + + @property + def ticklabelshift(self): + """ + Shifts the tick labels by the specified number of pixels in + parallel to the axis. Positive values move the labels in the + positive direction of the axis. + + The 'ticklabelshift' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + + Returns + ------- + int + """ + return self["ticklabelshift"] + + @ticklabelshift.setter + def ticklabelshift(self, val): + self["ticklabelshift"] = val + + @property + def ticklabelstandoff(self): + """ + Sets the standoff distance (in px) between the axis tick labels + and their default position. A positive `ticklabelstandoff` + moves the labels farther away from the plot area if + `ticklabelposition` is "outside", and deeper into the plot area + if `ticklabelposition` is "inside". A negative + `ticklabelstandoff` works in the opposite direction, moving + outside ticks towards the plot area and inside ticks towards + the outside. If the negative value is large enough, inside + ticks can even end up outside and vice versa. + + The 'ticklabelstandoff' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + + Returns + ------- + int + """ + return self["ticklabelstandoff"] + + @ticklabelstandoff.setter + def ticklabelstandoff(self, val): + self["ticklabelstandoff"] = val + + @property + def ticklabelstep(self): + """ + 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". + + The 'ticklabelstep' 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["ticklabelstep"] + + @ticklabelstep.setter + def ticklabelstep(self, val): + self["ticklabelstep"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickmode(self): + """ + 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. + + The 'tickmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'linear', 'array', 'sync'] + + Returns + ------- + Any + """ + return self["tickmode"] + + @tickmode.setter + def tickmode(self, val): + self["tickmode"] = val + + @property + def tickprefix(self): + """ + Sets a tick label prefix. + + The 'tickprefix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickprefix"] + + @tickprefix.setter + def tickprefix(self, val): + self["tickprefix"] = val + + @property + def ticks(self): + """ + 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. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def tickson(self): + """ + 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. + + The 'tickson' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['labels', 'boundaries'] + + Returns + ------- + Any + """ + return self["tickson"] + + @tickson.setter + def tickson(self, val): + self["tickson"] = val + + @property + def ticksuffix(self): + """ + Sets a tick label suffix. + + The 'ticksuffix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["ticksuffix"] + + @ticksuffix.setter + def ticksuffix(self, val): + self["ticksuffix"] = val + + @property + def ticktext(self): + """ + Sets the text displayed at the ticks position via `tickvals`. + Only has an effect if `tickmode` is set to "array". Used with + `tickvals`. + + The 'ticktext' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["ticktext"] + + @ticktext.setter + def ticktext(self, val): + self["ticktext"] = val + + @property + def ticktextsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `ticktext`. + + The 'ticktextsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticktextsrc"] + + @ticktextsrc.setter + def ticktextsrc(self, val): + self["ticktextsrc"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. Only has an + effect if `tickmode` is set to "array". Used with `ticktext`. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @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.xaxis.Title` + - A dict of string/value properties that will be passed + to the Title constructor + + Returns + ------- + plotly.graph_objs.layout.xaxis.Title + """ + return self["title"] + + @title.setter + def title(self, val): + self["title"] = val + + @property + def type(self): + """ + 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. + + The 'type' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['-', 'linear', 'log', 'date', 'category', + 'multicategory'] + + Returns + ------- + Any + """ + return self["type"] + + @type.setter + def type(self, val): + self["type"] = val + + @property + def uirevision(self): + """ + Controls persistence of user-driven changes in axis `range`, + `autorange`, and `title` if in `editable: true` configuration. + Defaults to `layout.uirevision`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @property + def visible(self): + """ + 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 + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def zeroline(self): + """ + 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. + + The 'zeroline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["zeroline"] + + @zeroline.setter + def zeroline(self, val): + self["zeroline"] = val + + @property + def zerolinecolor(self): + """ + Sets the line color of the zero line. + + The 'zerolinecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["zerolinecolor"] + + @zerolinecolor.setter + def zerolinecolor(self, val): + self["zerolinecolor"] = val + + @property + def zerolinewidth(self): + """ + Sets the width (in px) of the zero line. + + The 'zerolinewidth' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["zerolinewidth"] + + @zerolinewidth.setter + def zerolinewidth(self, val): + self["zerolinewidth"] = val + + @property + def _prop_descriptions(self): + return """\ + 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.Autorangeopti + ons` instance or dict with compatible properties + autotickangles + When `tickangle` is set to "auto", it will be set to + the first angle in this array that is large enough to + prevent label overlap. + 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, geometric 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<f>", 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<n>" 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: + https://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.layout.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.Rangeselector + ` instance or dict with compatible properties + rangeslider + :class:`plotly.graph_objects.layout.xaxis.Rangeslider` + 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<f>* (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: + https://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.Ti + ckformatstop` instances or dicts with compatible + properties + tickformatstopdefaults + When used in a template (as + layout.template.layout.xaxis.tickformatstopdefaults), + sets the default property values to use for elements of + layout.xaxis.tickformatstops + ticklabelindex + Only for axes with `type` "date" or "linear". Instead + of drawing the major tick label, draw the label for the + minor tick that is n positions away from the major + tick. E.g. to always draw the label for the minor tick + before each major tick, choose `ticklabelindex` -1. + This is useful for date axes with `ticklabelmode` + "period" if you want to label the period that ends with + each major tick instead of the period that begins + there. + ticklabelindexsrc + Sets the source reference on Chart Studio Cloud for + `ticklabelindex`. + 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. + ticklabelshift + Shifts the tick labels by the specified number of + pixels in parallel to the axis. Positive values move + the labels in the positive direction of the axis. + ticklabelstandoff + Sets the standoff distance (in px) between the axis + tick labels and their default position. A positive + `ticklabelstandoff` moves the labels farther away from + the plot area if `ticklabelposition` is "outside", and + deeper into the plot area if `ticklabelposition` is + "inside". A negative `ticklabelstandoff` works in the + opposite direction, moving outside ticks towards the + plot area and inside ticks towards the outside. If the + negative value is large enough, inside ticks can even + end up outside and vice versa. + 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 + 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. + """ + + def __init__( + self, + arg=None, + anchor=None, + automargin=None, + autorange=None, + autorangeoptions=None, + autotickangles=None, + autotypenumbers=None, + calendar=None, + categoryarray=None, + categoryarraysrc=None, + categoryorder=None, + color=None, + constrain=None, + constraintoward=None, + dividercolor=None, + dividerwidth=None, + domain=None, + dtick=None, + exponentformat=None, + fixedrange=None, + gridcolor=None, + griddash=None, + gridwidth=None, + hoverformat=None, + insiderange=None, + labelalias=None, + layer=None, + linecolor=None, + linewidth=None, + matches=None, + maxallowed=None, + minallowed=None, + minexponent=None, + minor=None, + mirror=None, + nticks=None, + overlaying=None, + position=None, + range=None, + rangebreaks=None, + rangebreakdefaults=None, + rangemode=None, + rangeselector=None, + rangeslider=None, + scaleanchor=None, + scaleratio=None, + separatethousands=None, + showdividers=None, + showexponent=None, + showgrid=None, + showline=None, + showspikes=None, + showticklabels=None, + showtickprefix=None, + showticksuffix=None, + side=None, + spikecolor=None, + spikedash=None, + spikemode=None, + spikesnap=None, + spikethickness=None, + tick0=None, + tickangle=None, + tickcolor=None, + tickfont=None, + tickformat=None, + tickformatstops=None, + tickformatstopdefaults=None, + ticklabelindex=None, + ticklabelindexsrc=None, + ticklabelmode=None, + ticklabeloverflow=None, + ticklabelposition=None, + ticklabelshift=None, + ticklabelstandoff=None, + ticklabelstep=None, + ticklen=None, + tickmode=None, + tickprefix=None, + ticks=None, + tickson=None, + ticksuffix=None, + ticktext=None, + ticktextsrc=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + title=None, + type=None, + uirevision=None, + visible=None, + zeroline=None, + zerolinecolor=None, + zerolinewidth=None, + **kwargs, + ): + """ + Construct a new XAxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.XAxis` + 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.Autorangeopti + ons` instance or dict with compatible properties + autotickangles + When `tickangle` is set to "auto", it will be set to + the first angle in this array that is large enough to + prevent label overlap. + 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, geometric 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<f>", 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<n>" 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: + https://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.layout.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.Rangeselector + ` instance or dict with compatible properties + rangeslider + :class:`plotly.graph_objects.layout.xaxis.Rangeslider` + 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<f>* (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: + https://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.Ti + ckformatstop` instances or dicts with compatible + properties + tickformatstopdefaults + When used in a template (as + layout.template.layout.xaxis.tickformatstopdefaults), + sets the default property values to use for elements of + layout.xaxis.tickformatstops + ticklabelindex + Only for axes with `type` "date" or "linear". Instead + of drawing the major tick label, draw the label for the + minor tick that is n positions away from the major + tick. E.g. to always draw the label for the minor tick + before each major tick, choose `ticklabelindex` -1. + This is useful for date axes with `ticklabelmode` + "period" if you want to label the period that ends with + each major tick instead of the period that begins + there. + ticklabelindexsrc + Sets the source reference on Chart Studio Cloud for + `ticklabelindex`. + 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. + ticklabelshift + Shifts the tick labels by the specified number of + pixels in parallel to the axis. Positive values move + the labels in the positive direction of the axis. + ticklabelstandoff + Sets the standoff distance (in px) between the axis + tick labels and their default position. A positive + `ticklabelstandoff` moves the labels farther away from + the plot area if `ticklabelposition` is "outside", and + deeper into the plot area if `ticklabelposition` is + "inside". A negative `ticklabelstandoff` works in the + opposite direction, moving outside ticks towards the + plot area and inside ticks towards the outside. If the + negative value is large enough, inside ticks can even + end up outside and vice versa. + 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 + 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 + ------- + XAxis + """ + super().__init__("xaxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.XAxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.XAxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("anchor", arg, anchor) + self._set_property("automargin", arg, automargin) + self._set_property("autorange", arg, autorange) + self._set_property("autorangeoptions", arg, autorangeoptions) + self._set_property("autotickangles", arg, autotickangles) + self._set_property("autotypenumbers", arg, autotypenumbers) + self._set_property("calendar", arg, calendar) + self._set_property("categoryarray", arg, categoryarray) + self._set_property("categoryarraysrc", arg, categoryarraysrc) + self._set_property("categoryorder", arg, categoryorder) + self._set_property("color", arg, color) + self._set_property("constrain", arg, constrain) + self._set_property("constraintoward", arg, constraintoward) + self._set_property("dividercolor", arg, dividercolor) + self._set_property("dividerwidth", arg, dividerwidth) + self._set_property("domain", arg, domain) + self._set_property("dtick", arg, dtick) + self._set_property("exponentformat", arg, exponentformat) + self._set_property("fixedrange", arg, fixedrange) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("griddash", arg, griddash) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("hoverformat", arg, hoverformat) + self._set_property("insiderange", arg, insiderange) + self._set_property("labelalias", arg, labelalias) + self._set_property("layer", arg, layer) + self._set_property("linecolor", arg, linecolor) + self._set_property("linewidth", arg, linewidth) + self._set_property("matches", arg, matches) + self._set_property("maxallowed", arg, maxallowed) + self._set_property("minallowed", arg, minallowed) + self._set_property("minexponent", arg, minexponent) + self._set_property("minor", arg, minor) + self._set_property("mirror", arg, mirror) + self._set_property("nticks", arg, nticks) + self._set_property("overlaying", arg, overlaying) + self._set_property("position", arg, position) + self._set_property("range", arg, range) + self._set_property("rangebreaks", arg, rangebreaks) + self._set_property("rangebreakdefaults", arg, rangebreakdefaults) + self._set_property("rangemode", arg, rangemode) + self._set_property("rangeselector", arg, rangeselector) + self._set_property("rangeslider", arg, rangeslider) + self._set_property("scaleanchor", arg, scaleanchor) + self._set_property("scaleratio", arg, scaleratio) + self._set_property("separatethousands", arg, separatethousands) + self._set_property("showdividers", arg, showdividers) + self._set_property("showexponent", arg, showexponent) + self._set_property("showgrid", arg, showgrid) + self._set_property("showline", arg, showline) + self._set_property("showspikes", arg, showspikes) + self._set_property("showticklabels", arg, showticklabels) + self._set_property("showtickprefix", arg, showtickprefix) + self._set_property("showticksuffix", arg, showticksuffix) + self._set_property("side", arg, side) + self._set_property("spikecolor", arg, spikecolor) + self._set_property("spikedash", arg, spikedash) + self._set_property("spikemode", arg, spikemode) + self._set_property("spikesnap", arg, spikesnap) + self._set_property("spikethickness", arg, spikethickness) + self._set_property("tick0", arg, tick0) + self._set_property("tickangle", arg, tickangle) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("tickfont", arg, tickfont) + self._set_property("tickformat", arg, tickformat) + self._set_property("tickformatstops", arg, tickformatstops) + self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) + self._set_property("ticklabelindex", arg, ticklabelindex) + self._set_property("ticklabelindexsrc", arg, ticklabelindexsrc) + self._set_property("ticklabelmode", arg, ticklabelmode) + self._set_property("ticklabeloverflow", arg, ticklabeloverflow) + self._set_property("ticklabelposition", arg, ticklabelposition) + self._set_property("ticklabelshift", arg, ticklabelshift) + self._set_property("ticklabelstandoff", arg, ticklabelstandoff) + self._set_property("ticklabelstep", arg, ticklabelstep) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickmode", arg, tickmode) + self._set_property("tickprefix", arg, tickprefix) + self._set_property("ticks", arg, ticks) + self._set_property("tickson", arg, tickson) + self._set_property("ticksuffix", arg, ticksuffix) + self._set_property("ticktext", arg, ticktext) + self._set_property("ticktextsrc", arg, ticktextsrc) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._set_property("title", arg, title) + self._set_property("type", arg, type) + self._set_property("uirevision", arg, uirevision) + self._set_property("visible", arg, visible) + self._set_property("zeroline", arg, zeroline) + self._set_property("zerolinecolor", arg, zerolinecolor) + self._set_property("zerolinewidth", arg, zerolinewidth) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_yaxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_yaxis.py new file mode 100644 index 0000000..95cf85f --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/_yaxis.py @@ -0,0 +1,3443 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class YAxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout" + _path_str = "layout.yaxis" + _valid_props = { + "anchor", + "automargin", + "autorange", + "autorangeoptions", + "autoshift", + "autotickangles", + "autotypenumbers", + "calendar", + "categoryarray", + "categoryarraysrc", + "categoryorder", + "color", + "constrain", + "constraintoward", + "dividercolor", + "dividerwidth", + "domain", + "dtick", + "exponentformat", + "fixedrange", + "gridcolor", + "griddash", + "gridwidth", + "hoverformat", + "insiderange", + "labelalias", + "layer", + "linecolor", + "linewidth", + "matches", + "maxallowed", + "minallowed", + "minexponent", + "minor", + "mirror", + "nticks", + "overlaying", + "position", + "range", + "rangebreakdefaults", + "rangebreaks", + "rangemode", + "scaleanchor", + "scaleratio", + "separatethousands", + "shift", + "showdividers", + "showexponent", + "showgrid", + "showline", + "showspikes", + "showticklabels", + "showtickprefix", + "showticksuffix", + "side", + "spikecolor", + "spikedash", + "spikemode", + "spikesnap", + "spikethickness", + "tick0", + "tickangle", + "tickcolor", + "tickfont", + "tickformat", + "tickformatstopdefaults", + "tickformatstops", + "ticklabelindex", + "ticklabelindexsrc", + "ticklabelmode", + "ticklabeloverflow", + "ticklabelposition", + "ticklabelshift", + "ticklabelstandoff", + "ticklabelstep", + "ticklen", + "tickmode", + "tickprefix", + "ticks", + "tickson", + "ticksuffix", + "ticktext", + "ticktextsrc", + "tickvals", + "tickvalssrc", + "tickwidth", + "title", + "type", + "uirevision", + "visible", + "zeroline", + "zerolinecolor", + "zerolinewidth", + } + + @property + def anchor(self): + """ + 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`. + + The 'anchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['free'] + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?( domain)?$', + '^y([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["anchor"] + + @anchor.setter + def anchor(self, val): + self["anchor"] = val + + @property + def automargin(self): + """ + Determines whether long tick labels automatically grow the + figure margins. + + The 'automargin' property is a flaglist and may be specified + as a string containing: + - Any combination of ['height', 'width', 'left', 'right', 'top', 'bottom'] joined with '+' characters + (e.g. 'height+width') + OR exactly one of [True, False] (e.g. 'False') + + Returns + ------- + Any + """ + return self["automargin"] + + @automargin.setter + def automargin(self, val): + self["automargin"] = val + + @property + def autorange(self): + """ + 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. + + The 'autorange' property is an enumeration that may be specified as: + - One of the following enumeration values: + [True, False, 'reversed', 'min reversed', 'max reversed', + 'min', 'max'] + + Returns + ------- + Any + """ + return self["autorange"] + + @autorange.setter + def autorange(self, val): + self["autorange"] = val + + @property + def autorangeoptions(self): + """ + The 'autorangeoptions' property is an instance of Autorangeoptions + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.yaxis.Autorangeoptions` + - A dict of string/value properties that will be passed + to the Autorangeoptions constructor + + Returns + ------- + plotly.graph_objs.layout.yaxis.Autorangeoptions + """ + return self["autorangeoptions"] + + @autorangeoptions.setter + def autorangeoptions(self, val): + self["autorangeoptions"] = val + + @property + def autoshift(self): + """ + 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". + + The 'autoshift' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["autoshift"] + + @autoshift.setter + def autoshift(self, val): + self["autoshift"] = val + + @property + def autotickangles(self): + """ + When `tickangle` is set to "auto", it will be set to the first + angle in this array that is large enough to prevent label + overlap. + + The 'autotickangles' property is an info array that may be specified as: + * a list of elements where: + The 'autotickangles[i]' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + list + """ + return self["autotickangles"] + + @autotickangles.setter + def autotickangles(self, val): + self["autotickangles"] = val + + @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. Defaults to layout.autotypenumbers. + + 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 + + @property + def calendar(self): + """ + 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` + + 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 + + @property + def categoryarray(self): + """ + Sets the order in which categories on this axis appear. Only + has an effect if `categoryorder` is set to "array". Used with + `categoryorder`. + + The 'categoryarray' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["categoryarray"] + + @categoryarray.setter + def categoryarray(self, val): + self["categoryarray"] = val + + @property + def categoryarraysrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `categoryarray`. + + The 'categoryarraysrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["categoryarraysrc"] + + @categoryarraysrc.setter + def categoryarraysrc(self, val): + self["categoryarraysrc"] = val + + @property + def categoryorder(self): + """ + 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, geometric mean or median + of all the values. + + The 'categoryorder' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['trace', 'category ascending', 'category descending', + 'array', 'total ascending', 'total descending', 'min + ascending', 'min descending', 'max ascending', 'max + descending', 'sum ascending', 'sum descending', 'mean + ascending', 'mean descending', 'geometric mean ascending', + 'geometric mean descending', 'median ascending', 'median + descending'] + + Returns + ------- + Any + """ + return self["categoryorder"] + + @categoryorder.setter + def categoryorder(self, val): + self["categoryorder"] = val + + @property + def color(self): + """ + 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. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def constrain(self): + """ + 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. + + The 'constrain' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['range', 'domain'] + + Returns + ------- + Any + """ + return self["constrain"] + + @constrain.setter + def constrain(self, val): + self["constrain"] = val + + @property + def constraintoward(self): + """ + 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. + + The 'constraintoward' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['left', 'center', 'right', 'top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["constraintoward"] + + @constraintoward.setter + def constraintoward(self, val): + self["constraintoward"] = val + + @property + def dividercolor(self): + """ + Sets the color of the dividers Only has an effect on + "multicategory" axes. + + The 'dividercolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["dividercolor"] + + @dividercolor.setter + def dividercolor(self, val): + self["dividercolor"] = val + + @property + def dividerwidth(self): + """ + Sets the width (in px) of the dividers Only has an effect on + "multicategory" axes. + + The 'dividerwidth' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["dividerwidth"] + + @dividerwidth.setter + def dividerwidth(self, val): + self["dividerwidth"] = val + + @property + def domain(self): + """ + Sets the domain of this axis (in plot fraction). + + The 'domain' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'domain[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'domain[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["domain"] + + @domain.setter + def domain(self, val): + self["domain"] = val + + @property + def dtick(self): + """ + 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<f>", 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<n>" 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" + + The 'dtick' property accepts values of any type + + Returns + ------- + Any + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def exponentformat(self): + """ + 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. + + The 'exponentformat' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['none', 'e', 'E', 'power', 'SI', 'B'] + + Returns + ------- + Any + """ + return self["exponentformat"] + + @exponentformat.setter + def exponentformat(self, val): + self["exponentformat"] = val + + @property + def fixedrange(self): + """ + Determines whether or not this axis is zoom-able. If true, then + zoom is disabled. + + The 'fixedrange' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["fixedrange"] + + @fixedrange.setter + def fixedrange(self, val): + self["fixedrange"] = val + + @property + def gridcolor(self): + """ + Sets the color of the grid lines. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def griddash(self): + """ + 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"). + + The 'griddash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["griddash"] + + @griddash.setter + def griddash(self, val): + self["griddash"] = val + + @property + def gridwidth(self): + """ + Sets the width (in px) of the grid lines. + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def hoverformat(self): + """ + Sets the hover text formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'hoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["hoverformat"] + + @hoverformat.setter + def hoverformat(self, val): + self["hoverformat"] = val + + @property + def insiderange(self): + """ + 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. + + The 'insiderange' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'insiderange[0]' property accepts values of any type + (1) The 'insiderange[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["insiderange"] + + @insiderange.setter + def insiderange(self, val): + self["insiderange"] = val + + @property + def labelalias(self): + """ + 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. + + The 'labelalias' property accepts values of any type + + Returns + ------- + Any + """ + return self["labelalias"] + + @labelalias.setter + def labelalias(self, val): + self["labelalias"] = val + + @property + def layer(self): + """ + 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. + + The 'layer' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['above traces', 'below traces'] + + Returns + ------- + Any + """ + return self["layer"] + + @layer.setter + def layer(self, val): + self["layer"] = val + + @property + def linecolor(self): + """ + Sets the axis line color. + + The 'linecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["linecolor"] + + @linecolor.setter + def linecolor(self, val): + self["linecolor"] = val + + @property + def linewidth(self): + """ + Sets the width (in px) of the axis line. + + The 'linewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["linewidth"] + + @linewidth.setter + def linewidth(self, val): + self["linewidth"] = val + + @property + def matches(self): + """ + 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`. + + The 'matches' property is an enumeration that may be specified as: + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?( domain)?$', + '^y([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["matches"] + + @matches.setter + def matches(self, val): + self["matches"] = val + + @property + def maxallowed(self): + """ + Determines the maximum range of this axis. + + The 'maxallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["maxallowed"] + + @maxallowed.setter + def maxallowed(self, val): + self["maxallowed"] = val + + @property + def minallowed(self): + """ + Determines the minimum range of this axis. + + The 'minallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["minallowed"] + + @minallowed.setter + def minallowed(self, val): + self["minallowed"] = val + + @property + def minexponent(self): + """ + Hide SI prefix for 10^n if |n| is below this number. This only + has an effect when `tickformat` is "SI" or "B". + + The 'minexponent' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["minexponent"] + + @minexponent.setter + def minexponent(self, val): + self["minexponent"] = val + + @property + def minor(self): + """ + The 'minor' property is an instance of Minor + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.yaxis.Minor` + - A dict of string/value properties that will be passed + to the Minor constructor + + Returns + ------- + plotly.graph_objs.layout.yaxis.Minor + """ + return self["minor"] + + @minor.setter + def minor(self, val): + self["minor"] = val + + @property + def mirror(self): + """ + 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. + + The 'mirror' property is an enumeration that may be specified as: + - One of the following enumeration values: + [True, 'ticks', False, 'all', 'allticks'] + + Returns + ------- + Any + """ + return self["mirror"] + + @mirror.setter + def mirror(self, val): + self["mirror"] = val + + @property + def nticks(self): + """ + 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". + + The 'nticks' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["nticks"] + + @nticks.setter + def nticks(self, val): + self["nticks"] = val + + @property + def overlaying(self): + """ + 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. + + The 'overlaying' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['free'] + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?( domain)?$', + '^y([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["overlaying"] + + @overlaying.setter + def overlaying(self, val): + self["overlaying"] = val + + @property + def position(self): + """ + Sets the position of this axis in the plotting space (in + normalized coordinates). Only has an effect if `anchor` is set + to "free". + + The 'position' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["position"] + + @position.setter + def position(self, val): + self["position"] = val + + @property + def range(self): + """ + 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`. + + The 'range' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'range[0]' property accepts values of any type + (1) The 'range[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["range"] + + @range.setter + def range(self, val): + self["range"] = val + + @property + def rangebreaks(self): + """ + The 'rangebreaks' property is a tuple of instances of + Rangebreak that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.yaxis.Rangebreak + - A list or tuple of dicts of string/value properties that + will be passed to the Rangebreak constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.yaxis.Rangebreak] + """ + return self["rangebreaks"] + + @rangebreaks.setter + def rangebreaks(self, val): + self["rangebreaks"] = val + + @property + def rangebreakdefaults(self): + """ + When used in a template (as + layout.template.layout.yaxis.rangebreakdefaults), sets the + default property values to use for elements of + layout.yaxis.rangebreaks + + The 'rangebreakdefaults' property is an instance of Rangebreak + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.yaxis.Rangebreak` + - A dict of string/value properties that will be passed + to the Rangebreak constructor + + Returns + ------- + plotly.graph_objs.layout.yaxis.Rangebreak + """ + return self["rangebreakdefaults"] + + @rangebreakdefaults.setter + def rangebreakdefaults(self, val): + self["rangebreakdefaults"] = val + + @property + def rangemode(self): + """ + 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. + + The 'rangemode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'tozero', 'nonnegative'] + + Returns + ------- + Any + """ + return self["rangemode"] + + @rangemode.setter + def rangemode(self, val): + self["rangemode"] = val + + @property + def scaleanchor(self): + """ + 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). + + The 'scaleanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + [False] + - A string that matches one of the following regular expressions: + ['^x([2-9]|[1-9][0-9]+)?( domain)?$', + '^y([2-9]|[1-9][0-9]+)?( domain)?$'] + + Returns + ------- + Any + """ + return self["scaleanchor"] + + @scaleanchor.setter + def scaleanchor(self, val): + self["scaleanchor"] = val + + @property + def scaleratio(self): + """ + 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. + + The 'scaleratio' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["scaleratio"] + + @scaleratio.setter + def scaleratio(self, val): + self["scaleratio"] = val + + @property + def separatethousands(self): + """ + If "true", even 4-digit integers are separated + + The 'separatethousands' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["separatethousands"] + + @separatethousands.setter + def separatethousands(self, val): + self["separatethousands"] = val + + @property + def shift(self): + """ + 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". + + The 'shift' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["shift"] + + @shift.setter + def shift(self, val): + self["shift"] = val + + @property + def showdividers(self): + """ + Determines whether or not a dividers are drawn between the + category levels of this axis. Only has an effect on + "multicategory" axes. + + The 'showdividers' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showdividers"] + + @showdividers.setter + def showdividers(self, val): + self["showdividers"] = val + + @property + def showexponent(self): + """ + 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. + + The 'showexponent' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showexponent"] + + @showexponent.setter + def showexponent(self, val): + self["showexponent"] = val + + @property + def showgrid(self): + """ + Determines whether or not grid lines are drawn. If True, the + grid lines are drawn at every tick mark. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def showline(self): + """ + Determines whether or not a line bounding this axis is drawn. + + The 'showline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showline"] + + @showline.setter + def showline(self, val): + self["showline"] = val + + @property + def showspikes(self): + """ + Determines whether or not spikes (aka droplines) are drawn for + this axis. Note: This only takes affect when hovermode = + closest + + The 'showspikes' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showspikes"] + + @showspikes.setter + def showspikes(self, val): + self["showspikes"] = val + + @property + def showticklabels(self): + """ + Determines whether or not the tick labels are drawn. + + The 'showticklabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showticklabels"] + + @showticklabels.setter + def showticklabels(self, val): + self["showticklabels"] = val + + @property + def showtickprefix(self): + """ + 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. + + The 'showtickprefix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showtickprefix"] + + @showtickprefix.setter + def showtickprefix(self, val): + self["showtickprefix"] = val + + @property + def showticksuffix(self): + """ + Same as `showtickprefix` but for tick suffixes. + + The 'showticksuffix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showticksuffix"] + + @showticksuffix.setter + def showticksuffix(self, val): + self["showticksuffix"] = val + + @property + def side(self): + """ + Determines whether a x (y) axis is positioned at the "bottom" + ("left") or "top" ("right") of the plotting area. + + The 'side' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top', 'bottom', 'left', 'right'] + + Returns + ------- + Any + """ + return self["side"] + + @side.setter + def side(self, val): + self["side"] = val + + @property + def spikecolor(self): + """ + Sets the spike color. If undefined, will use the series color + + The 'spikecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["spikecolor"] + + @spikecolor.setter + def spikecolor(self, val): + self["spikecolor"] = val + + @property + def spikedash(self): + """ + 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"). + + The 'spikedash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["spikedash"] + + @spikedash.setter + def spikedash(self, val): + self["spikedash"] = val + + @property + def spikemode(self): + """ + 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 + + The 'spikemode' property is a flaglist and may be specified + as a string containing: + - Any combination of ['toaxis', 'across', 'marker'] joined with '+' characters + (e.g. 'toaxis+across') + + Returns + ------- + Any + """ + return self["spikemode"] + + @spikemode.setter + def spikemode(self, val): + self["spikemode"] = val + + @property + def spikesnap(self): + """ + Determines whether spikelines are stuck to the cursor or to the + closest datapoints. + + The 'spikesnap' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['data', 'cursor', 'hovered data'] + + Returns + ------- + Any + """ + return self["spikesnap"] + + @spikesnap.setter + def spikesnap(self, val): + self["spikesnap"] = val + + @property + def spikethickness(self): + """ + Sets the width (in px) of the zero line. + + The 'spikethickness' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["spikethickness"] + + @spikethickness.setter + def spikethickness(self, val): + self["spikethickness"] = val + + @property + def tick0(self): + """ + 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<f>* (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. + + The 'tick0' property accepts values of any type + + Returns + ------- + Any + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def tickangle(self): + """ + Sets the angle of the tick labels with respect to the + horizontal. For example, a `tickangle` of -90 draws the tick + labels vertically. + + The 'tickangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["tickangle"] + + @tickangle.setter + def tickangle(self, val): + self["tickangle"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def tickfont(self): + """ + Sets the tick font. + + The 'tickfont' property is an instance of Tickfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.yaxis.Tickfont` + - A dict of string/value properties that will be passed + to the Tickfont constructor + + Returns + ------- + plotly.graph_objs.layout.yaxis.Tickfont + """ + return self["tickfont"] + + @tickfont.setter + def tickfont(self, val): + self["tickfont"] = val + + @property + def tickformat(self): + """ + Sets the tick label formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'tickformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickformat"] + + @tickformat.setter + def tickformat(self, val): + self["tickformat"] = val + + @property + def tickformatstops(self): + """ + The 'tickformatstops' property is a tuple of instances of + Tickformatstop that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.yaxis.Tickformatstop + - A list or tuple of dicts of string/value properties that + will be passed to the Tickformatstop constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.yaxis.Tickformatstop] + """ + return self["tickformatstops"] + + @tickformatstops.setter + def tickformatstops(self, val): + self["tickformatstops"] = val + + @property + def tickformatstopdefaults(self): + """ + When used in a template (as + layout.template.layout.yaxis.tickformatstopdefaults), sets the + default property values to use for elements of + layout.yaxis.tickformatstops + + The 'tickformatstopdefaults' property is an instance of Tickformatstop + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.yaxis.Tickformatstop` + - A dict of string/value properties that will be passed + to the Tickformatstop constructor + + Returns + ------- + plotly.graph_objs.layout.yaxis.Tickformatstop + """ + return self["tickformatstopdefaults"] + + @tickformatstopdefaults.setter + def tickformatstopdefaults(self, val): + self["tickformatstopdefaults"] = val + + @property + def ticklabelindex(self): + """ + Only for axes with `type` "date" or "linear". Instead of + drawing the major tick label, draw the label for the minor tick + that is n positions away from the major tick. E.g. to always + draw the label for the minor tick before each major tick, + choose `ticklabelindex` -1. This is useful for date axes with + `ticklabelmode` "period" if you want to label the period that + ends with each major tick instead of the period that begins + there. + + The 'ticklabelindex' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + - A tuple, list, or one-dimensional numpy array of the above + + Returns + ------- + int|numpy.ndarray + """ + return self["ticklabelindex"] + + @ticklabelindex.setter + def ticklabelindex(self, val): + self["ticklabelindex"] = val + + @property + def ticklabelindexsrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `ticklabelindex`. + + The 'ticklabelindexsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticklabelindexsrc"] + + @ticklabelindexsrc.setter + def ticklabelindexsrc(self, val): + self["ticklabelindexsrc"] = val + + @property + def ticklabelmode(self): + """ + 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. + + The 'ticklabelmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['instant', 'period'] + + Returns + ------- + Any + """ + return self["ticklabelmode"] + + @ticklabelmode.setter + def ticklabelmode(self, val): + self["ticklabelmode"] = val + + @property + def ticklabeloverflow(self): + """ + 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*. + + The 'ticklabeloverflow' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['allow', 'hide past div', 'hide past domain'] + + Returns + ------- + Any + """ + return self["ticklabeloverflow"] + + @ticklabeloverflow.setter + def ticklabeloverflow(self, val): + self["ticklabeloverflow"] = val + + @property + def ticklabelposition(self): + """ + 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. + + The 'ticklabelposition' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', 'outside top', 'inside top', + 'outside left', 'inside left', 'outside right', 'inside + right', 'outside bottom', 'inside bottom'] + + Returns + ------- + Any + """ + return self["ticklabelposition"] + + @ticklabelposition.setter + def ticklabelposition(self, val): + self["ticklabelposition"] = val + + @property + def ticklabelshift(self): + """ + Shifts the tick labels by the specified number of pixels in + parallel to the axis. Positive values move the labels in the + positive direction of the axis. + + The 'ticklabelshift' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + + Returns + ------- + int + """ + return self["ticklabelshift"] + + @ticklabelshift.setter + def ticklabelshift(self, val): + self["ticklabelshift"] = val + + @property + def ticklabelstandoff(self): + """ + Sets the standoff distance (in px) between the axis tick labels + and their default position. A positive `ticklabelstandoff` + moves the labels farther away from the plot area if + `ticklabelposition` is "outside", and deeper into the plot area + if `ticklabelposition` is "inside". A negative + `ticklabelstandoff` works in the opposite direction, moving + outside ticks towards the plot area and inside ticks towards + the outside. If the negative value is large enough, inside + ticks can even end up outside and vice versa. + + The 'ticklabelstandoff' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + + Returns + ------- + int + """ + return self["ticklabelstandoff"] + + @ticklabelstandoff.setter + def ticklabelstandoff(self, val): + self["ticklabelstandoff"] = val + + @property + def ticklabelstep(self): + """ + 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". + + The 'ticklabelstep' 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["ticklabelstep"] + + @ticklabelstep.setter + def ticklabelstep(self, val): + self["ticklabelstep"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickmode(self): + """ + 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. + + The 'tickmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'linear', 'array', 'sync'] + + Returns + ------- + Any + """ + return self["tickmode"] + + @tickmode.setter + def tickmode(self, val): + self["tickmode"] = val + + @property + def tickprefix(self): + """ + Sets a tick label prefix. + + The 'tickprefix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickprefix"] + + @tickprefix.setter + def tickprefix(self, val): + self["tickprefix"] = val + + @property + def ticks(self): + """ + 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. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def tickson(self): + """ + 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. + + The 'tickson' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['labels', 'boundaries'] + + Returns + ------- + Any + """ + return self["tickson"] + + @tickson.setter + def tickson(self, val): + self["tickson"] = val + + @property + def ticksuffix(self): + """ + Sets a tick label suffix. + + The 'ticksuffix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["ticksuffix"] + + @ticksuffix.setter + def ticksuffix(self, val): + self["ticksuffix"] = val + + @property + def ticktext(self): + """ + Sets the text displayed at the ticks position via `tickvals`. + Only has an effect if `tickmode` is set to "array". Used with + `tickvals`. + + The 'ticktext' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["ticktext"] + + @ticktext.setter + def ticktext(self, val): + self["ticktext"] = val + + @property + def ticktextsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `ticktext`. + + The 'ticktextsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticktextsrc"] + + @ticktextsrc.setter + def ticktextsrc(self, val): + self["ticktextsrc"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. Only has an + effect if `tickmode` is set to "array". Used with `ticktext`. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @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.yaxis.Title` + - A dict of string/value properties that will be passed + to the Title constructor + + Returns + ------- + plotly.graph_objs.layout.yaxis.Title + """ + return self["title"] + + @title.setter + def title(self, val): + self["title"] = val + + @property + def type(self): + """ + 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. + + The 'type' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['-', 'linear', 'log', 'date', 'category', + 'multicategory'] + + Returns + ------- + Any + """ + return self["type"] + + @type.setter + def type(self, val): + self["type"] = val + + @property + def uirevision(self): + """ + Controls persistence of user-driven changes in axis `range`, + `autorange`, and `title` if in `editable: true` configuration. + Defaults to `layout.uirevision`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @property + def visible(self): + """ + 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 + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def zeroline(self): + """ + 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. + + The 'zeroline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["zeroline"] + + @zeroline.setter + def zeroline(self, val): + self["zeroline"] = val + + @property + def zerolinecolor(self): + """ + Sets the line color of the zero line. + + The 'zerolinecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["zerolinecolor"] + + @zerolinecolor.setter + def zerolinecolor(self, val): + self["zerolinecolor"] = val + + @property + def zerolinewidth(self): + """ + Sets the width (in px) of the zero line. + + The 'zerolinewidth' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["zerolinewidth"] + + @zerolinewidth.setter + def zerolinewidth(self, val): + self["zerolinewidth"] = val + + @property + def _prop_descriptions(self): + return """\ + 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.Autorangeopti + ons` 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". + autotickangles + When `tickangle` is set to "auto", it will be set to + the first angle in this array that is large enough to + prevent label overlap. + 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, geometric 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<f>", 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<n>" 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: + https://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.layout.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<f>* (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: + https://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.Ti + ckformatstop` instances or dicts with compatible + properties + tickformatstopdefaults + When used in a template (as + layout.template.layout.yaxis.tickformatstopdefaults), + sets the default property values to use for elements of + layout.yaxis.tickformatstops + ticklabelindex + Only for axes with `type` "date" or "linear". Instead + of drawing the major tick label, draw the label for the + minor tick that is n positions away from the major + tick. E.g. to always draw the label for the minor tick + before each major tick, choose `ticklabelindex` -1. + This is useful for date axes with `ticklabelmode` + "period" if you want to label the period that ends with + each major tick instead of the period that begins + there. + ticklabelindexsrc + Sets the source reference on Chart Studio Cloud for + `ticklabelindex`. + 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. + ticklabelshift + Shifts the tick labels by the specified number of + pixels in parallel to the axis. Positive values move + the labels in the positive direction of the axis. + ticklabelstandoff + Sets the standoff distance (in px) between the axis + tick labels and their default position. A positive + `ticklabelstandoff` moves the labels farther away from + the plot area if `ticklabelposition` is "outside", and + deeper into the plot area if `ticklabelposition` is + "inside". A negative `ticklabelstandoff` works in the + opposite direction, moving outside ticks towards the + plot area and inside ticks towards the outside. If the + negative value is large enough, inside ticks can even + end up outside and vice versa. + 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 + 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. + """ + + def __init__( + self, + arg=None, + anchor=None, + automargin=None, + autorange=None, + autorangeoptions=None, + autoshift=None, + autotickangles=None, + autotypenumbers=None, + calendar=None, + categoryarray=None, + categoryarraysrc=None, + categoryorder=None, + color=None, + constrain=None, + constraintoward=None, + dividercolor=None, + dividerwidth=None, + domain=None, + dtick=None, + exponentformat=None, + fixedrange=None, + gridcolor=None, + griddash=None, + gridwidth=None, + hoverformat=None, + insiderange=None, + labelalias=None, + layer=None, + linecolor=None, + linewidth=None, + matches=None, + maxallowed=None, + minallowed=None, + minexponent=None, + minor=None, + mirror=None, + nticks=None, + overlaying=None, + position=None, + range=None, + rangebreaks=None, + rangebreakdefaults=None, + rangemode=None, + scaleanchor=None, + scaleratio=None, + separatethousands=None, + shift=None, + showdividers=None, + showexponent=None, + showgrid=None, + showline=None, + showspikes=None, + showticklabels=None, + showtickprefix=None, + showticksuffix=None, + side=None, + spikecolor=None, + spikedash=None, + spikemode=None, + spikesnap=None, + spikethickness=None, + tick0=None, + tickangle=None, + tickcolor=None, + tickfont=None, + tickformat=None, + tickformatstops=None, + tickformatstopdefaults=None, + ticklabelindex=None, + ticklabelindexsrc=None, + ticklabelmode=None, + ticklabeloverflow=None, + ticklabelposition=None, + ticklabelshift=None, + ticklabelstandoff=None, + ticklabelstep=None, + ticklen=None, + tickmode=None, + tickprefix=None, + ticks=None, + tickson=None, + ticksuffix=None, + ticktext=None, + ticktextsrc=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + title=None, + type=None, + uirevision=None, + visible=None, + zeroline=None, + zerolinecolor=None, + zerolinewidth=None, + **kwargs, + ): + """ + Construct a new YAxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.YAxis` + 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.Autorangeopti + ons` 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". + autotickangles + When `tickangle` is set to "auto", it will be set to + the first angle in this array that is large enough to + prevent label overlap. + 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, geometric 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<f>", 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<n>" 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: + https://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.layout.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<f>* (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: + https://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.Ti + ckformatstop` instances or dicts with compatible + properties + tickformatstopdefaults + When used in a template (as + layout.template.layout.yaxis.tickformatstopdefaults), + sets the default property values to use for elements of + layout.yaxis.tickformatstops + ticklabelindex + Only for axes with `type` "date" or "linear". Instead + of drawing the major tick label, draw the label for the + minor tick that is n positions away from the major + tick. E.g. to always draw the label for the minor tick + before each major tick, choose `ticklabelindex` -1. + This is useful for date axes with `ticklabelmode` + "period" if you want to label the period that ends with + each major tick instead of the period that begins + there. + ticklabelindexsrc + Sets the source reference on Chart Studio Cloud for + `ticklabelindex`. + 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. + ticklabelshift + Shifts the tick labels by the specified number of + pixels in parallel to the axis. Positive values move + the labels in the positive direction of the axis. + ticklabelstandoff + Sets the standoff distance (in px) between the axis + tick labels and their default position. A positive + `ticklabelstandoff` moves the labels farther away from + the plot area if `ticklabelposition` is "outside", and + deeper into the plot area if `ticklabelposition` is + "inside". A negative `ticklabelstandoff` works in the + opposite direction, moving outside ticks towards the + plot area and inside ticks towards the outside. If the + negative value is large enough, inside ticks can even + end up outside and vice versa. + 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 + 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 + ------- + YAxis + """ + super().__init__("yaxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.YAxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.YAxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("anchor", arg, anchor) + self._set_property("automargin", arg, automargin) + self._set_property("autorange", arg, autorange) + self._set_property("autorangeoptions", arg, autorangeoptions) + self._set_property("autoshift", arg, autoshift) + self._set_property("autotickangles", arg, autotickangles) + self._set_property("autotypenumbers", arg, autotypenumbers) + self._set_property("calendar", arg, calendar) + self._set_property("categoryarray", arg, categoryarray) + self._set_property("categoryarraysrc", arg, categoryarraysrc) + self._set_property("categoryorder", arg, categoryorder) + self._set_property("color", arg, color) + self._set_property("constrain", arg, constrain) + self._set_property("constraintoward", arg, constraintoward) + self._set_property("dividercolor", arg, dividercolor) + self._set_property("dividerwidth", arg, dividerwidth) + self._set_property("domain", arg, domain) + self._set_property("dtick", arg, dtick) + self._set_property("exponentformat", arg, exponentformat) + self._set_property("fixedrange", arg, fixedrange) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("griddash", arg, griddash) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("hoverformat", arg, hoverformat) + self._set_property("insiderange", arg, insiderange) + self._set_property("labelalias", arg, labelalias) + self._set_property("layer", arg, layer) + self._set_property("linecolor", arg, linecolor) + self._set_property("linewidth", arg, linewidth) + self._set_property("matches", arg, matches) + self._set_property("maxallowed", arg, maxallowed) + self._set_property("minallowed", arg, minallowed) + self._set_property("minexponent", arg, minexponent) + self._set_property("minor", arg, minor) + self._set_property("mirror", arg, mirror) + self._set_property("nticks", arg, nticks) + self._set_property("overlaying", arg, overlaying) + self._set_property("position", arg, position) + self._set_property("range", arg, range) + self._set_property("rangebreaks", arg, rangebreaks) + self._set_property("rangebreakdefaults", arg, rangebreakdefaults) + self._set_property("rangemode", arg, rangemode) + self._set_property("scaleanchor", arg, scaleanchor) + self._set_property("scaleratio", arg, scaleratio) + self._set_property("separatethousands", arg, separatethousands) + self._set_property("shift", arg, shift) + self._set_property("showdividers", arg, showdividers) + self._set_property("showexponent", arg, showexponent) + self._set_property("showgrid", arg, showgrid) + self._set_property("showline", arg, showline) + self._set_property("showspikes", arg, showspikes) + self._set_property("showticklabels", arg, showticklabels) + self._set_property("showtickprefix", arg, showtickprefix) + self._set_property("showticksuffix", arg, showticksuffix) + self._set_property("side", arg, side) + self._set_property("spikecolor", arg, spikecolor) + self._set_property("spikedash", arg, spikedash) + self._set_property("spikemode", arg, spikemode) + self._set_property("spikesnap", arg, spikesnap) + self._set_property("spikethickness", arg, spikethickness) + self._set_property("tick0", arg, tick0) + self._set_property("tickangle", arg, tickangle) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("tickfont", arg, tickfont) + self._set_property("tickformat", arg, tickformat) + self._set_property("tickformatstops", arg, tickformatstops) + self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) + self._set_property("ticklabelindex", arg, ticklabelindex) + self._set_property("ticklabelindexsrc", arg, ticklabelindexsrc) + self._set_property("ticklabelmode", arg, ticklabelmode) + self._set_property("ticklabeloverflow", arg, ticklabeloverflow) + self._set_property("ticklabelposition", arg, ticklabelposition) + self._set_property("ticklabelshift", arg, ticklabelshift) + self._set_property("ticklabelstandoff", arg, ticklabelstandoff) + self._set_property("ticklabelstep", arg, ticklabelstep) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickmode", arg, tickmode) + self._set_property("tickprefix", arg, tickprefix) + self._set_property("ticks", arg, ticks) + self._set_property("tickson", arg, tickson) + self._set_property("ticksuffix", arg, ticksuffix) + self._set_property("ticktext", arg, ticktext) + self._set_property("ticktextsrc", arg, ticktextsrc) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._set_property("title", arg, title) + self._set_property("type", arg, type) + self._set_property("uirevision", arg, uirevision) + self._set_property("visible", arg, visible) + self._set_property("zeroline", arg, zeroline) + self._set_property("zerolinecolor", arg, zerolinecolor) + self._set_property("zerolinewidth", arg, zerolinewidth) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/__init__.py new file mode 100644 index 0000000..372a9f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/__init__.py @@ -0,0 +1,13 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font + from ._hoverlabel import Hoverlabel + from . import hoverlabel +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [".hoverlabel"], ["._font.Font", "._hoverlabel.Hoverlabel"] + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/_font.py new file mode 100644 index 0000000..736edb1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.annotation" + _path_str = "layout.annotation.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the annotation text font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.annotation.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.annotation.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.annotation.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/_hoverlabel.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/_hoverlabel.py new file mode 100644 index 0000000..ee847b2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/_hoverlabel.py @@ -0,0 +1,151 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Hoverlabel(_BaseLayoutHierarchyType): + _parent_path_str = "layout.annotation" + _path_str = "layout.annotation.hoverlabel" + _valid_props = {"bgcolor", "bordercolor", "font"} + + @property + def bgcolor(self): + """ + Sets the background color of the hover label. By default uses + the annotation's `bgcolor` made opaque, or white if it was + transparent. + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def bordercolor(self): + """ + Sets the border color of the hover label. By default uses + either dark grey or white, for maximum contrast with + `hoverlabel.bgcolor`. + + The 'bordercolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bordercolor"] + + @bordercolor.setter + def bordercolor(self, val): + self["bordercolor"] = val + + @property + def font(self): + """ + Sets the hover label text font. By default uses the global + hover font and size, with color from `hoverlabel.bordercolor`. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.annotation.hoverlabel.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.annotation.hoverlabel.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def _prop_descriptions(self): + return """\ + bgcolor + Sets the background color of the hover label. By + default uses the annotation's `bgcolor` made opaque, or + white if it was transparent. + bordercolor + Sets the border color of the hover label. By default + uses either dark grey or white, for maximum contrast + with `hoverlabel.bgcolor`. + font + Sets the hover label text font. By default uses the + global hover font and size, with color from + `hoverlabel.bordercolor`. + """ + + def __init__(self, arg=None, bgcolor=None, bordercolor=None, font=None, **kwargs): + """ + Construct a new Hoverlabel object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.annotation.Hoverlabel` + bgcolor + Sets the background color of the hover label. By + default uses the annotation's `bgcolor` made opaque, or + white if it was transparent. + bordercolor + Sets the border color of the hover label. By default + uses either dark grey or white, for maximum contrast + with `hoverlabel.bgcolor`. + font + Sets the hover label text font. By default uses the + global hover font and size, with color from + `hoverlabel.bordercolor`. + + Returns + ------- + Hoverlabel + """ + super().__init__("hoverlabel") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.annotation.Hoverlabel +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.annotation.Hoverlabel`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("bgcolor", arg, bgcolor) + self._set_property("bordercolor", arg, bordercolor) + self._set_property("font", arg, font) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/hoverlabel/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/hoverlabel/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/hoverlabel/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/hoverlabel/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/hoverlabel/_font.py new file mode 100644 index 0000000..b3a561e --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/annotation/hoverlabel/_font.py @@ -0,0 +1,335 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.annotation.hoverlabel" + _path_str = "layout.annotation.hoverlabel.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the hover label text font. By default uses the global + hover font and size, with color from `hoverlabel.bordercolor`. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.annotat + ion.hoverlabel.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.annotation.hoverlabel.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.annotation.hoverlabel.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/__init__.py new file mode 100644 index 0000000..5e06f9a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/__init__.py @@ -0,0 +1,12 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._colorbar import ColorBar + from . import colorbar +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [".colorbar"], ["._colorbar.ColorBar"] + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/_colorbar.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/_colorbar.py new file mode 100644 index 0000000..0749ad3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/_colorbar.py @@ -0,0 +1,1722 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class ColorBar(_BaseLayoutHierarchyType): + _parent_path_str = "layout.coloraxis" + _path_str = "layout.coloraxis.colorbar" + _valid_props = { + "bgcolor", + "bordercolor", + "borderwidth", + "dtick", + "exponentformat", + "labelalias", + "len", + "lenmode", + "minexponent", + "nticks", + "orientation", + "outlinecolor", + "outlinewidth", + "separatethousands", + "showexponent", + "showticklabels", + "showtickprefix", + "showticksuffix", + "thickness", + "thicknessmode", + "tick0", + "tickangle", + "tickcolor", + "tickfont", + "tickformat", + "tickformatstopdefaults", + "tickformatstops", + "ticklabeloverflow", + "ticklabelposition", + "ticklabelstep", + "ticklen", + "tickmode", + "tickprefix", + "ticks", + "ticksuffix", + "ticktext", + "ticktextsrc", + "tickvals", + "tickvalssrc", + "tickwidth", + "title", + "x", + "xanchor", + "xpad", + "xref", + "y", + "yanchor", + "ypad", + "yref", + } + + @property + def bgcolor(self): + """ + Sets the color of padded area. + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def bordercolor(self): + """ + Sets the axis line color. + + The 'bordercolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bordercolor"] + + @bordercolor.setter + def bordercolor(self, val): + self["bordercolor"] = val + + @property + def borderwidth(self): + """ + Sets the width (in px) or the border enclosing this color bar. + + The 'borderwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["borderwidth"] + + @borderwidth.setter + def borderwidth(self, val): + self["borderwidth"] = val + + @property + def dtick(self): + """ + 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<f>", 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<n>" 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" + + The 'dtick' property accepts values of any type + + Returns + ------- + Any + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def exponentformat(self): + """ + 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. + + The 'exponentformat' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['none', 'e', 'E', 'power', 'SI', 'B'] + + Returns + ------- + Any + """ + return self["exponentformat"] + + @exponentformat.setter + def exponentformat(self, val): + self["exponentformat"] = val + + @property + def labelalias(self): + """ + 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. + + The 'labelalias' property accepts values of any type + + Returns + ------- + Any + """ + return self["labelalias"] + + @labelalias.setter + def labelalias(self, val): + self["labelalias"] = val + + @property + def len(self): + """ + Sets the length of the color bar This measure excludes the + padding of both ends. That is, the color bar length is this + length minus the padding on both ends. + + The 'len' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["len"] + + @len.setter + def len(self, val): + self["len"] = val + + @property + def lenmode(self): + """ + Determines whether this color bar's length (i.e. the measure in + the color variation direction) is set in units of plot + "fraction" or in *pixels. Use `len` to set the value. + + The 'lenmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['fraction', 'pixels'] + + Returns + ------- + Any + """ + return self["lenmode"] + + @lenmode.setter + def lenmode(self, val): + self["lenmode"] = val + + @property + def minexponent(self): + """ + Hide SI prefix for 10^n if |n| is below this number. This only + has an effect when `tickformat` is "SI" or "B". + + The 'minexponent' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["minexponent"] + + @minexponent.setter + def minexponent(self, val): + self["minexponent"] = val + + @property + def nticks(self): + """ + 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". + + The 'nticks' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["nticks"] + + @nticks.setter + def nticks(self, val): + self["nticks"] = val + + @property + def orientation(self): + """ + Sets the orientation of the colorbar. + + The 'orientation' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['h', 'v'] + + Returns + ------- + Any + """ + return self["orientation"] + + @orientation.setter + def orientation(self, val): + self["orientation"] = val + + @property + def outlinecolor(self): + """ + Sets the axis line color. + + The 'outlinecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["outlinecolor"] + + @outlinecolor.setter + def outlinecolor(self, val): + self["outlinecolor"] = val + + @property + def outlinewidth(self): + """ + Sets the width (in px) of the axis line. + + The 'outlinewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["outlinewidth"] + + @outlinewidth.setter + def outlinewidth(self, val): + self["outlinewidth"] = val + + @property + def separatethousands(self): + """ + If "true", even 4-digit integers are separated + + The 'separatethousands' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["separatethousands"] + + @separatethousands.setter + def separatethousands(self, val): + self["separatethousands"] = val + + @property + def showexponent(self): + """ + 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. + + The 'showexponent' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showexponent"] + + @showexponent.setter + def showexponent(self, val): + self["showexponent"] = val + + @property + def showticklabels(self): + """ + Determines whether or not the tick labels are drawn. + + The 'showticklabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showticklabels"] + + @showticklabels.setter + def showticklabels(self, val): + self["showticklabels"] = val + + @property + def showtickprefix(self): + """ + 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. + + The 'showtickprefix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showtickprefix"] + + @showtickprefix.setter + def showtickprefix(self, val): + self["showtickprefix"] = val + + @property + def showticksuffix(self): + """ + Same as `showtickprefix` but for tick suffixes. + + The 'showticksuffix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showticksuffix"] + + @showticksuffix.setter + def showticksuffix(self, val): + self["showticksuffix"] = val + + @property + def thickness(self): + """ + Sets the thickness of the color bar This measure excludes the + size of the padding, ticks and labels. + + The 'thickness' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["thickness"] + + @thickness.setter + def thickness(self, val): + self["thickness"] = val + + @property + def thicknessmode(self): + """ + Determines whether this color bar's thickness (i.e. the measure + in the constant color direction) is set in units of plot + "fraction" or in "pixels". Use `thickness` to set the value. + + The 'thicknessmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['fraction', 'pixels'] + + Returns + ------- + Any + """ + return self["thicknessmode"] + + @thicknessmode.setter + def thicknessmode(self, val): + self["thicknessmode"] = val + + @property + def tick0(self): + """ + 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<f>* (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. + + The 'tick0' property accepts values of any type + + Returns + ------- + Any + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def tickangle(self): + """ + Sets the angle of the tick labels with respect to the + horizontal. For example, a `tickangle` of -90 draws the tick + labels vertically. + + The 'tickangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["tickangle"] + + @tickangle.setter + def tickangle(self, val): + self["tickangle"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def tickfont(self): + """ + Sets the color bar's tick label font + + The 'tickfont' property is an instance of Tickfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.coloraxis.colorbar.Tickfont` + - A dict of string/value properties that will be passed + to the Tickfont constructor + + Returns + ------- + plotly.graph_objs.layout.coloraxis.colorbar.Tickfont + """ + return self["tickfont"] + + @tickfont.setter + def tickfont(self, val): + self["tickfont"] = val + + @property + def tickformat(self): + """ + Sets the tick label formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'tickformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickformat"] + + @tickformat.setter + def tickformat(self, val): + self["tickformat"] = val + + @property + def tickformatstops(self): + """ + The 'tickformatstops' property is a tuple of instances of + Tickformatstop that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.coloraxis.colorbar.Tickformatstop + - A list or tuple of dicts of string/value properties that + will be passed to the Tickformatstop constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.coloraxis.colorbar.Tickformatstop] + """ + return self["tickformatstops"] + + @tickformatstops.setter + def tickformatstops(self, val): + self["tickformatstops"] = val + + @property + def tickformatstopdefaults(self): + """ + When used in a template (as layout.template.layout.coloraxis.co + lorbar.tickformatstopdefaults), sets the default property + values to use for elements of + layout.coloraxis.colorbar.tickformatstops + + The 'tickformatstopdefaults' property is an instance of Tickformatstop + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.coloraxis.colorbar.Tickformatstop` + - A dict of string/value properties that will be passed + to the Tickformatstop constructor + + Returns + ------- + plotly.graph_objs.layout.coloraxis.colorbar.Tickformatstop + """ + return self["tickformatstopdefaults"] + + @tickformatstopdefaults.setter + def tickformatstopdefaults(self, val): + self["tickformatstopdefaults"] = val + + @property + def ticklabeloverflow(self): + """ + 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*. In other cases the + default is *hide past div*. + + The 'ticklabeloverflow' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['allow', 'hide past div', 'hide past domain'] + + Returns + ------- + Any + """ + return self["ticklabeloverflow"] + + @ticklabeloverflow.setter + def ticklabeloverflow(self, val): + self["ticklabeloverflow"] = val + + @property + def ticklabelposition(self): + """ + Determines where tick labels are drawn relative to the ticks. + Left and right options are used when `orientation` is "h", top + and bottom when `orientation` is "v". + + The 'ticklabelposition' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', 'outside top', 'inside top', + 'outside left', 'inside left', 'outside right', 'inside + right', 'outside bottom', 'inside bottom'] + + Returns + ------- + Any + """ + return self["ticklabelposition"] + + @ticklabelposition.setter + def ticklabelposition(self, val): + self["ticklabelposition"] = val + + @property + def ticklabelstep(self): + """ + 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". + + The 'ticklabelstep' 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["ticklabelstep"] + + @ticklabelstep.setter + def ticklabelstep(self, val): + self["ticklabelstep"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickmode(self): + """ + 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). + + The 'tickmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'linear', 'array'] + + Returns + ------- + Any + """ + return self["tickmode"] + + @tickmode.setter + def tickmode(self, val): + self["tickmode"] = val + + @property + def tickprefix(self): + """ + Sets a tick label prefix. + + The 'tickprefix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickprefix"] + + @tickprefix.setter + def tickprefix(self, val): + self["tickprefix"] = val + + @property + def ticks(self): + """ + 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. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def ticksuffix(self): + """ + Sets a tick label suffix. + + The 'ticksuffix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["ticksuffix"] + + @ticksuffix.setter + def ticksuffix(self, val): + self["ticksuffix"] = val + + @property + def ticktext(self): + """ + Sets the text displayed at the ticks position via `tickvals`. + Only has an effect if `tickmode` is set to "array". Used with + `tickvals`. + + The 'ticktext' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["ticktext"] + + @ticktext.setter + def ticktext(self, val): + self["ticktext"] = val + + @property + def ticktextsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `ticktext`. + + The 'ticktextsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticktextsrc"] + + @ticktextsrc.setter + def ticktextsrc(self, val): + self["ticktextsrc"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. Only has an + effect if `tickmode` is set to "array". Used with `ticktext`. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @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.coloraxis.colorbar.Title` + - A dict of string/value properties that will be passed + to the Title constructor + + Returns + ------- + plotly.graph_objs.layout.coloraxis.colorbar.Title + """ + return self["title"] + + @title.setter + def title(self, val): + self["title"] = val + + @property + def x(self): + """ + Sets the x position with respect to `xref` of the color bar (in + plot fraction). When `xref` is "paper", defaults to 1.02 when + `orientation` is "v" and 0.5 when `orientation` is "h". When + `xref` is "container", defaults to 1 when `orientation` is "v" + and 0.5 when `orientation` is "h". Must be between 0 and 1 if + `xref` is "container" and between "-2" and 3 if `xref` is + "paper". + + The 'x' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def xanchor(self): + """ + Sets this color bar's horizontal position anchor. This anchor + binds the `x` position to the "left", "center" or "right" of + the color bar. Defaults to "left" when `orientation` is "v" and + "center" when `orientation` is "h". + + The 'xanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['left', 'center', 'right'] + + Returns + ------- + Any + """ + return self["xanchor"] + + @xanchor.setter + def xanchor(self, val): + self["xanchor"] = val + + @property + def xpad(self): + """ + Sets the amount of padding (in px) along the x direction. + + The 'xpad' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["xpad"] + + @xpad.setter + def xpad(self, val): + self["xpad"] = val + + @property + def xref(self): + """ + Sets the container `x` refers to. "container" spans the entire + `width` of the plot. "paper" refers to the width of the + plotting area only. + + The 'xref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['container', 'paper'] + + Returns + ------- + Any + """ + return self["xref"] + + @xref.setter + def xref(self, val): + self["xref"] = val + + @property + def y(self): + """ + Sets the y position with respect to `yref` of the color bar (in + plot fraction). When `yref` is "paper", defaults to 0.5 when + `orientation` is "v" and 1.02 when `orientation` is "h". When + `yref` is "container", defaults to 0.5 when `orientation` is + "v" and 1 when `orientation` is "h". Must be between 0 and 1 if + `yref` is "container" and between "-2" and 3 if `yref` is + "paper". + + The 'y' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def yanchor(self): + """ + Sets this color bar's vertical position anchor This anchor + binds the `y` position to the "top", "middle" or "bottom" of + the color bar. Defaults to "middle" when `orientation` is "v" + and "bottom" when `orientation` is "h". + + The 'yanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["yanchor"] + + @yanchor.setter + def yanchor(self, val): + self["yanchor"] = val + + @property + def ypad(self): + """ + Sets the amount of padding (in px) along the y direction. + + The 'ypad' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ypad"] + + @ypad.setter + def ypad(self, val): + self["ypad"] = val + + @property + def yref(self): + """ + Sets the container `y` refers to. "container" spans the entire + `height` of the plot. "paper" refers to the height of the + plotting area only. + + The 'yref' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['container', 'paper'] + + Returns + ------- + Any + """ + return self["yref"] + + @yref.setter + def yref(self, val): + self["yref"] = val + + @property + def _prop_descriptions(self): + return """\ + bgcolor + Sets the color of padded area. + bordercolor + Sets the axis line color. + borderwidth + Sets the width (in px) or the border enclosing this + color bar. + 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<f>", 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<n>" 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. + 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. + len + Sets the length of the color bar This measure excludes + the padding of both ends. That is, the color bar length + is this length minus the padding on both ends. + lenmode + Determines whether this color bar's length (i.e. the + measure in the color variation direction) is set in + units of plot "fraction" or in *pixels. Use `len` to + set the value. + minexponent + Hide SI prefix for 10^n if |n| is below this number. + This only has an effect when `tickformat` is "SI" or + "B". + 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". + orientation + Sets the orientation of the colorbar. + outlinecolor + Sets the axis line color. + outlinewidth + Sets the width (in px) of the axis line. + separatethousands + If "true", even 4-digit integers are separated + 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. + 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. + thickness + Sets the thickness of the color bar This measure + excludes the size of the padding, ticks and labels. + thicknessmode + Determines whether this color bar's thickness (i.e. the + measure in the constant color direction) is set in + units of plot "fraction" or in "pixels". Use + `thickness` to set the value. + 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<f>* (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 color bar's tick label font + tickformat + Sets the tick label formatting rule using d3 formatting + mini-languages which are very similar to those in + Python. For numbers, see: + https://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.coloraxi + s.colorbar.Tickformatstop` instances or dicts with + compatible properties + tickformatstopdefaults + When used in a template (as layout.template.layout.colo + raxis.colorbar.tickformatstopdefaults), sets the + default property values to use for elements of + layout.coloraxis.colorbar.tickformatstops + 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*. In other cases the default is *hide past + div*. + ticklabelposition + Determines where tick labels are drawn relative to the + ticks. Left and right options are used when + `orientation` is "h", top and bottom when `orientation` + is "v". + 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). + 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. + 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.coloraxis.colorbar. + Title` instance or dict with compatible properties + x + Sets the x position with respect to `xref` of the color + bar (in plot fraction). When `xref` is "paper", + defaults to 1.02 when `orientation` is "v" and 0.5 when + `orientation` is "h". When `xref` is "container", + defaults to 1 when `orientation` is "v" and 0.5 when + `orientation` is "h". Must be between 0 and 1 if `xref` + is "container" and between "-2" and 3 if `xref` is + "paper". + xanchor + Sets this color bar's horizontal position anchor. This + anchor binds the `x` position to the "left", "center" + or "right" of the color bar. Defaults to "left" when + `orientation` is "v" and "center" when `orientation` is + "h". + xpad + Sets the amount of padding (in px) along the x + direction. + 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` of the color + bar (in plot fraction). When `yref` is "paper", + defaults to 0.5 when `orientation` is "v" and 1.02 when + `orientation` is "h". When `yref` is "container", + defaults to 0.5 when `orientation` is "v" and 1 when + `orientation` is "h". Must be between 0 and 1 if `yref` + is "container" and between "-2" and 3 if `yref` is + "paper". + yanchor + Sets this color bar's vertical position anchor This + anchor binds the `y` position to the "top", "middle" or + "bottom" of the color bar. Defaults to "middle" when + `orientation` is "v" and "bottom" when `orientation` is + "h". + ypad + Sets the amount of padding (in px) along the y + direction. + 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. + """ + + def __init__( + self, + arg=None, + bgcolor=None, + bordercolor=None, + borderwidth=None, + dtick=None, + exponentformat=None, + labelalias=None, + len=None, + lenmode=None, + minexponent=None, + nticks=None, + orientation=None, + outlinecolor=None, + outlinewidth=None, + separatethousands=None, + showexponent=None, + showticklabels=None, + showtickprefix=None, + showticksuffix=None, + thickness=None, + thicknessmode=None, + tick0=None, + tickangle=None, + tickcolor=None, + tickfont=None, + tickformat=None, + tickformatstops=None, + tickformatstopdefaults=None, + ticklabeloverflow=None, + ticklabelposition=None, + ticklabelstep=None, + ticklen=None, + tickmode=None, + tickprefix=None, + ticks=None, + ticksuffix=None, + ticktext=None, + ticktextsrc=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + title=None, + x=None, + xanchor=None, + xpad=None, + xref=None, + y=None, + yanchor=None, + ypad=None, + yref=None, + **kwargs, + ): + """ + Construct a new ColorBar object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.coloraxis.ColorBar` + bgcolor + Sets the color of padded area. + bordercolor + Sets the axis line color. + borderwidth + Sets the width (in px) or the border enclosing this + color bar. + 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<f>", 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<n>" 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. + 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. + len + Sets the length of the color bar This measure excludes + the padding of both ends. That is, the color bar length + is this length minus the padding on both ends. + lenmode + Determines whether this color bar's length (i.e. the + measure in the color variation direction) is set in + units of plot "fraction" or in *pixels. Use `len` to + set the value. + minexponent + Hide SI prefix for 10^n if |n| is below this number. + This only has an effect when `tickformat` is "SI" or + "B". + 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". + orientation + Sets the orientation of the colorbar. + outlinecolor + Sets the axis line color. + outlinewidth + Sets the width (in px) of the axis line. + separatethousands + If "true", even 4-digit integers are separated + 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. + 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. + thickness + Sets the thickness of the color bar This measure + excludes the size of the padding, ticks and labels. + thicknessmode + Determines whether this color bar's thickness (i.e. the + measure in the constant color direction) is set in + units of plot "fraction" or in "pixels". Use + `thickness` to set the value. + 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<f>* (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 color bar's tick label font + tickformat + Sets the tick label formatting rule using d3 formatting + mini-languages which are very similar to those in + Python. For numbers, see: + https://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.coloraxi + s.colorbar.Tickformatstop` instances or dicts with + compatible properties + tickformatstopdefaults + When used in a template (as layout.template.layout.colo + raxis.colorbar.tickformatstopdefaults), sets the + default property values to use for elements of + layout.coloraxis.colorbar.tickformatstops + 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*. In other cases the default is *hide past + div*. + ticklabelposition + Determines where tick labels are drawn relative to the + ticks. Left and right options are used when + `orientation` is "h", top and bottom when `orientation` + is "v". + 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). + 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. + 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.coloraxis.colorbar. + Title` instance or dict with compatible properties + x + Sets the x position with respect to `xref` of the color + bar (in plot fraction). When `xref` is "paper", + defaults to 1.02 when `orientation` is "v" and 0.5 when + `orientation` is "h". When `xref` is "container", + defaults to 1 when `orientation` is "v" and 0.5 when + `orientation` is "h". Must be between 0 and 1 if `xref` + is "container" and between "-2" and 3 if `xref` is + "paper". + xanchor + Sets this color bar's horizontal position anchor. This + anchor binds the `x` position to the "left", "center" + or "right" of the color bar. Defaults to "left" when + `orientation` is "v" and "center" when `orientation` is + "h". + xpad + Sets the amount of padding (in px) along the x + direction. + 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` of the color + bar (in plot fraction). When `yref` is "paper", + defaults to 0.5 when `orientation` is "v" and 1.02 when + `orientation` is "h". When `yref` is "container", + defaults to 0.5 when `orientation` is "v" and 1 when + `orientation` is "h". Must be between 0 and 1 if `yref` + is "container" and between "-2" and 3 if `yref` is + "paper". + yanchor + Sets this color bar's vertical position anchor This + anchor binds the `y` position to the "top", "middle" or + "bottom" of the color bar. Defaults to "middle" when + `orientation` is "v" and "bottom" when `orientation` is + "h". + ypad + Sets the amount of padding (in px) along the y + direction. + 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 + ------- + ColorBar + """ + super().__init__("colorbar") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.coloraxis.ColorBar +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.coloraxis.ColorBar`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("bgcolor", arg, bgcolor) + self._set_property("bordercolor", arg, bordercolor) + self._set_property("borderwidth", arg, borderwidth) + self._set_property("dtick", arg, dtick) + self._set_property("exponentformat", arg, exponentformat) + self._set_property("labelalias", arg, labelalias) + self._set_property("len", arg, len) + self._set_property("lenmode", arg, lenmode) + self._set_property("minexponent", arg, minexponent) + self._set_property("nticks", arg, nticks) + self._set_property("orientation", arg, orientation) + self._set_property("outlinecolor", arg, outlinecolor) + self._set_property("outlinewidth", arg, outlinewidth) + self._set_property("separatethousands", arg, separatethousands) + self._set_property("showexponent", arg, showexponent) + self._set_property("showticklabels", arg, showticklabels) + self._set_property("showtickprefix", arg, showtickprefix) + self._set_property("showticksuffix", arg, showticksuffix) + self._set_property("thickness", arg, thickness) + self._set_property("thicknessmode", arg, thicknessmode) + self._set_property("tick0", arg, tick0) + self._set_property("tickangle", arg, tickangle) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("tickfont", arg, tickfont) + self._set_property("tickformat", arg, tickformat) + self._set_property("tickformatstops", arg, tickformatstops) + self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) + self._set_property("ticklabeloverflow", arg, ticklabeloverflow) + self._set_property("ticklabelposition", arg, ticklabelposition) + self._set_property("ticklabelstep", arg, ticklabelstep) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickmode", arg, tickmode) + self._set_property("tickprefix", arg, tickprefix) + self._set_property("ticks", arg, ticks) + self._set_property("ticksuffix", arg, ticksuffix) + self._set_property("ticktext", arg, ticktext) + self._set_property("ticktextsrc", arg, ticktextsrc) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._set_property("title", arg, title) + self._set_property("x", arg, x) + self._set_property("xanchor", arg, xanchor) + self._set_property("xpad", arg, xpad) + self._set_property("xref", arg, xref) + self._set_property("y", arg, y) + self._set_property("yanchor", arg, yanchor) + self._set_property("ypad", arg, ypad) + self._set_property("yref", arg, yref) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/__init__.py new file mode 100644 index 0000000..4690d3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/__init__.py @@ -0,0 +1,16 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._tickfont import Tickfont + from ._tickformatstop import Tickformatstop + from ._title import Title + from . import title +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".title"], + ["._tickfont.Tickfont", "._tickformatstop.Tickformatstop", "._title.Title"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/_tickfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/_tickfont.py new file mode 100644 index 0000000..146bfec --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/_tickfont.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.coloraxis.colorbar" + _path_str = "layout.coloraxis.colorbar.tickfont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Tickfont object + + Sets the color bar's tick label font + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.colorax + is.colorbar.Tickfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Tickfont + """ + super().__init__("tickfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.coloraxis.colorbar.Tickfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.coloraxis.colorbar.Tickfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/_tickformatstop.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/_tickformatstop.py new file mode 100644 index 0000000..2a971e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/_tickformatstop.py @@ -0,0 +1,241 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickformatstop(_BaseLayoutHierarchyType): + _parent_path_str = "layout.coloraxis.colorbar" + _path_str = "layout.coloraxis.colorbar.tickformatstop" + _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} + + @property + def dtickrange(self): + """ + range [*min*, *max*], where "min", "max" - dtick values which + describe some zoom level, it is possible to omit "min" or "max" + value by passing "null" + + The 'dtickrange' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'dtickrange[0]' property accepts values of any type + (1) The 'dtickrange[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["dtickrange"] + + @dtickrange.setter + def dtickrange(self, val): + self["dtickrange"] = val + + @property + def enabled(self): + """ + Determines whether or not this stop is used. If `false`, this + stop is ignored even within its `dtickrange`. + + The 'enabled' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["enabled"] + + @enabled.setter + def enabled(self, val): + self["enabled"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def value(self): + """ + string - dtickformat for described zoom level, the same as + "tickformat" + + The 'value' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["value"] + + @value.setter + def value(self, val): + self["value"] = val + + @property + def _prop_descriptions(self): + return """\ + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + """ + + def __init__( + self, + arg=None, + dtickrange=None, + enabled=None, + name=None, + templateitemname=None, + value=None, + **kwargs, + ): + """ + Construct a new Tickformatstop object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.colorax + is.colorbar.Tickformatstop` + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + + Returns + ------- + Tickformatstop + """ + super().__init__("tickformatstops") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.coloraxis.colorbar.Tickformatstop +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.coloraxis.colorbar.Tickformatstop`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtickrange", arg, dtickrange) + self._set_property("enabled", arg, enabled) + self._set_property("name", arg, name) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("value", arg, value) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/_title.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/_title.py new file mode 100644 index 0000000..3f906c7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/_title.py @@ -0,0 +1,136 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Title(_BaseLayoutHierarchyType): + _parent_path_str = "layout.coloraxis.colorbar" + _path_str = "layout.coloraxis.colorbar.title" + _valid_props = {"font", "side", "text"} + + @property + def font(self): + """ + Sets this color bar's title font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.coloraxis.colorbar.title.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.coloraxis.colorbar.title.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def side(self): + """ + Determines the location of color bar's title with respect to + the color bar. Defaults to "top" when `orientation` if "v" and + defaults to "right" when `orientation` if "h". + + The 'side' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['right', 'top', 'bottom'] + + Returns + ------- + Any + """ + return self["side"] + + @side.setter + def side(self, val): + self["side"] = val + + @property + def text(self): + """ + Sets the title of the color bar. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets this color bar's title font. + side + Determines the location of color bar's title with + respect to the color bar. Defaults to "top" when + `orientation` if "v" and defaults to "right" when + `orientation` if "h". + text + Sets the title of the color bar. + """ + + def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): + """ + Construct a new Title object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.colorax + is.colorbar.Title` + font + Sets this color bar's title font. + side + Determines the location of color bar's title with + respect to the color bar. Defaults to "top" when + `orientation` if "v" and defaults to "right" when + `orientation` if "h". + text + Sets the title of the color bar. + + Returns + ------- + Title + """ + super().__init__("title") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.coloraxis.colorbar.Title +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.coloraxis.colorbar.Title`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("side", arg, side) + self._set_property("text", arg, text) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/title/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/title/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/title/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py new file mode 100644 index 0000000..d151ff3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/coloraxis/colorbar/title/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.coloraxis.colorbar.title" + _path_str = "layout.coloraxis.colorbar.title.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets this color bar's title font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.colorax + is.colorbar.title.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.coloraxis.colorbar.title.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.coloraxis.colorbar.title.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/__init__.py new file mode 100644 index 0000000..22d3516 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/__init__.py @@ -0,0 +1,24 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._center import Center + from ._domain import Domain + from ._lataxis import Lataxis + from ._lonaxis import Lonaxis + from ._projection import Projection + from . import projection +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".projection"], + [ + "._center.Center", + "._domain.Domain", + "._lataxis.Lataxis", + "._lonaxis.Lonaxis", + "._projection.Projection", + ], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_center.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_center.py new file mode 100644 index 0000000..059d3a4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_center.py @@ -0,0 +1,115 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Center(_BaseLayoutHierarchyType): + _parent_path_str = "layout.geo" + _path_str = "layout.geo.center" + _valid_props = {"lat", "lon"} + + @property + def lat(self): + """ + Sets the latitude of the map's center. For all projection + types, the map's latitude center lies at the middle of the + latitude range by default. + + The 'lat' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["lat"] + + @lat.setter + def lat(self, val): + self["lat"] = val + + @property + def lon(self): + """ + Sets the longitude of the map's center. By default, the map's + longitude center lies at the middle of the longitude range for + scoped projection and above `projection.rotation.lon` + otherwise. + + The 'lon' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["lon"] + + @lon.setter + def lon(self, val): + self["lon"] = val + + @property + def _prop_descriptions(self): + return """\ + lat + Sets the latitude of the map's center. For all + projection types, the map's latitude center lies at the + middle of the latitude range by default. + lon + Sets the longitude of the map's center. By default, the + map's longitude center lies at the middle of the + longitude range for scoped projection and above + `projection.rotation.lon` otherwise. + """ + + def __init__(self, arg=None, lat=None, lon=None, **kwargs): + """ + Construct a new Center object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.geo.Center` + lat + Sets the latitude of the map's center. For all + projection types, the map's latitude center lies at the + middle of the latitude range by default. + lon + Sets the longitude of the map's center. By default, the + map's longitude center lies at the middle of the + longitude range for scoped projection and above + `projection.rotation.lon` otherwise. + + Returns + ------- + Center + """ + super().__init__("center") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.geo.Center +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.geo.Center`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("lat", arg, lat) + self._set_property("lon", arg, lon) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_domain.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_domain.py new file mode 100644 index 0000000..1869b41 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_domain.py @@ -0,0 +1,204 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Domain(_BaseLayoutHierarchyType): + _parent_path_str = "layout.geo" + _path_str = "layout.geo.domain" + _valid_props = {"column", "row", "x", "y"} + + @property + def column(self): + """ + If there is a layout grid, use the domain for this column in + the grid for this geo subplot . Note that geo subplots are + constrained by domain. In general, when `projection.scale` is + set to 1. a map will fit either its x or y domain, but not + both. + + The 'column' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["column"] + + @column.setter + def column(self, val): + self["column"] = val + + @property + def row(self): + """ + If there is a layout grid, use the domain for this row in the + grid for this geo subplot . Note that geo subplots are + constrained by domain. In general, when `projection.scale` is + set to 1. a map will fit either its x or y domain, but not + both. + + The 'row' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["row"] + + @row.setter + def row(self, val): + self["row"] = val + + @property + def x(self): + """ + Sets the horizontal domain of this geo subplot (in plot + fraction). Note that geo subplots are constrained by domain. In + general, when `projection.scale` is set to 1. a map will fit + either its x or y domain, but not both. + + The 'x' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'x[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'x[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def y(self): + """ + Sets the vertical domain of this geo subplot (in plot + fraction). Note that geo subplots are constrained by domain. In + general, when `projection.scale` is set to 1. a map will fit + either its x or y domain, but not both. + + The 'y' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'y[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'y[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def _prop_descriptions(self): + return """\ + column + If there is a layout grid, use the domain for this + column in the grid for this geo subplot . Note that geo + subplots are constrained by domain. In general, when + `projection.scale` is set to 1. a map will fit either + its x or y domain, but not both. + row + If there is a layout grid, use the domain for this row + in the grid for this geo subplot . Note that geo + subplots are constrained by domain. In general, when + `projection.scale` is set to 1. a map will fit either + its x or y domain, but not both. + x + Sets the horizontal domain of this geo subplot (in plot + fraction). Note that geo subplots are constrained by + domain. In general, when `projection.scale` is set to + 1. a map will fit either its x or y domain, but not + both. + y + Sets the vertical domain of this geo subplot (in plot + fraction). Note that geo subplots are constrained by + domain. In general, when `projection.scale` is set to + 1. a map will fit either its x or y domain, but not + both. + """ + + def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): + """ + Construct a new Domain object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.geo.Domain` + column + If there is a layout grid, use the domain for this + column in the grid for this geo subplot . Note that geo + subplots are constrained by domain. In general, when + `projection.scale` is set to 1. a map will fit either + its x or y domain, but not both. + row + If there is a layout grid, use the domain for this row + in the grid for this geo subplot . Note that geo + subplots are constrained by domain. In general, when + `projection.scale` is set to 1. a map will fit either + its x or y domain, but not both. + x + Sets the horizontal domain of this geo subplot (in plot + fraction). Note that geo subplots are constrained by + domain. In general, when `projection.scale` is set to + 1. a map will fit either its x or y domain, but not + both. + y + Sets the vertical domain of this geo subplot (in plot + fraction). Note that geo subplots are constrained by + domain. In general, when `projection.scale` is set to + 1. a map will fit either its x or y domain, but not + both. + + Returns + ------- + Domain + """ + super().__init__("domain") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.geo.Domain +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.geo.Domain`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("column", arg, column) + self._set_property("row", arg, row) + self._set_property("x", arg, x) + self._set_property("y", arg, y) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_lataxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_lataxis.py new file mode 100644 index 0000000..fcaf4c8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_lataxis.py @@ -0,0 +1,258 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Lataxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout.geo" + _path_str = "layout.geo.lataxis" + _valid_props = { + "dtick", + "gridcolor", + "griddash", + "gridwidth", + "range", + "showgrid", + "tick0", + } + + @property + def dtick(self): + """ + Sets the graticule's longitude/latitude tick step. + + The 'dtick' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def gridcolor(self): + """ + Sets the graticule's stroke color. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def griddash(self): + """ + 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"). + + The 'griddash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["griddash"] + + @griddash.setter + def griddash(self, val): + self["griddash"] = val + + @property + def gridwidth(self): + """ + Sets the graticule's stroke width (in px). + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def range(self): + """ + Sets the range of this axis (in degrees), sets the map's + clipped coordinates. + + The 'range' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'range[0]' property is a number and may be specified as: + - An int or float + (1) The 'range[1]' property is a number and may be specified as: + - An int or float + + Returns + ------- + list + """ + return self["range"] + + @range.setter + def range(self, val): + self["range"] = val + + @property + def showgrid(self): + """ + Sets whether or not graticule are shown on the map. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def tick0(self): + """ + Sets the graticule's starting tick longitude/latitude. + + The 'tick0' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def _prop_descriptions(self): + return """\ + dtick + Sets the graticule's longitude/latitude tick step. + gridcolor + Sets the graticule's stroke color. + 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 graticule's stroke width (in px). + range + Sets the range of this axis (in degrees), sets the + map's clipped coordinates. + showgrid + Sets whether or not graticule are shown on the map. + tick0 + Sets the graticule's starting tick longitude/latitude. + """ + + def __init__( + self, + arg=None, + dtick=None, + gridcolor=None, + griddash=None, + gridwidth=None, + range=None, + showgrid=None, + tick0=None, + **kwargs, + ): + """ + Construct a new Lataxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.geo.Lataxis` + dtick + Sets the graticule's longitude/latitude tick step. + gridcolor + Sets the graticule's stroke color. + 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 graticule's stroke width (in px). + range + Sets the range of this axis (in degrees), sets the + map's clipped coordinates. + showgrid + Sets whether or not graticule are shown on the map. + tick0 + Sets the graticule's starting tick longitude/latitude. + + Returns + ------- + Lataxis + """ + super().__init__("lataxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.geo.Lataxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.geo.Lataxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtick", arg, dtick) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("griddash", arg, griddash) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("range", arg, range) + self._set_property("showgrid", arg, showgrid) + self._set_property("tick0", arg, tick0) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_lonaxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_lonaxis.py new file mode 100644 index 0000000..6b31527 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_lonaxis.py @@ -0,0 +1,258 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Lonaxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout.geo" + _path_str = "layout.geo.lonaxis" + _valid_props = { + "dtick", + "gridcolor", + "griddash", + "gridwidth", + "range", + "showgrid", + "tick0", + } + + @property + def dtick(self): + """ + Sets the graticule's longitude/latitude tick step. + + The 'dtick' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def gridcolor(self): + """ + Sets the graticule's stroke color. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def griddash(self): + """ + 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"). + + The 'griddash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["griddash"] + + @griddash.setter + def griddash(self, val): + self["griddash"] = val + + @property + def gridwidth(self): + """ + Sets the graticule's stroke width (in px). + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def range(self): + """ + Sets the range of this axis (in degrees), sets the map's + clipped coordinates. + + The 'range' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'range[0]' property is a number and may be specified as: + - An int or float + (1) The 'range[1]' property is a number and may be specified as: + - An int or float + + Returns + ------- + list + """ + return self["range"] + + @range.setter + def range(self, val): + self["range"] = val + + @property + def showgrid(self): + """ + Sets whether or not graticule are shown on the map. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def tick0(self): + """ + Sets the graticule's starting tick longitude/latitude. + + The 'tick0' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def _prop_descriptions(self): + return """\ + dtick + Sets the graticule's longitude/latitude tick step. + gridcolor + Sets the graticule's stroke color. + 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 graticule's stroke width (in px). + range + Sets the range of this axis (in degrees), sets the + map's clipped coordinates. + showgrid + Sets whether or not graticule are shown on the map. + tick0 + Sets the graticule's starting tick longitude/latitude. + """ + + def __init__( + self, + arg=None, + dtick=None, + gridcolor=None, + griddash=None, + gridwidth=None, + range=None, + showgrid=None, + tick0=None, + **kwargs, + ): + """ + Construct a new Lonaxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.geo.Lonaxis` + dtick + Sets the graticule's longitude/latitude tick step. + gridcolor + Sets the graticule's stroke color. + 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 graticule's stroke width (in px). + range + Sets the range of this axis (in degrees), sets the + map's clipped coordinates. + showgrid + Sets whether or not graticule are shown on the map. + tick0 + Sets the graticule's starting tick longitude/latitude. + + Returns + ------- + Lonaxis + """ + super().__init__("lonaxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.geo.Lonaxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.geo.Lonaxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtick", arg, dtick) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("griddash", arg, griddash) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("range", arg, range) + self._set_property("showgrid", arg, showgrid) + self._set_property("tick0", arg, tick0) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_projection.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_projection.py new file mode 100644 index 0000000..fb8a539 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/_projection.py @@ -0,0 +1,251 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Projection(_BaseLayoutHierarchyType): + _parent_path_str = "layout.geo" + _path_str = "layout.geo.projection" + _valid_props = {"distance", "parallels", "rotation", "scale", "tilt", "type"} + + @property + def distance(self): + """ + For satellite projection type only. Sets the distance from the + center of the sphere to the point of view as a proportion of + the sphere’s radius. + + The 'distance' property is a number and may be specified as: + - An int or float in the interval [1.001, inf] + + Returns + ------- + int|float + """ + return self["distance"] + + @distance.setter + def distance(self, val): + self["distance"] = val + + @property + def parallels(self): + """ + For conic projection types only. Sets the parallels (tangent, + secant) where the cone intersects the sphere. + + The 'parallels' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'parallels[0]' property is a number and may be specified as: + - An int or float + (1) The 'parallels[1]' property is a number and may be specified as: + - An int or float + + Returns + ------- + list + """ + return self["parallels"] + + @parallels.setter + def parallels(self, val): + self["parallels"] = val + + @property + def rotation(self): + """ + The 'rotation' property is an instance of Rotation + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.geo.projection.Rotation` + - A dict of string/value properties that will be passed + to the Rotation constructor + + Returns + ------- + plotly.graph_objs.layout.geo.projection.Rotation + """ + return self["rotation"] + + @rotation.setter + def rotation(self, val): + self["rotation"] = val + + @property + def scale(self): + """ + Zooms in or out on the map view. A scale of 1 corresponds to + the largest zoom level that fits the map's lon and lat ranges. + + The 'scale' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["scale"] + + @scale.setter + def scale(self, val): + self["scale"] = val + + @property + def tilt(self): + """ + For satellite projection type only. Sets the tilt angle of + perspective projection. + + The 'tilt' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["tilt"] + + @tilt.setter + def tilt(self, val): + self["tilt"] = val + + @property + def type(self): + """ + Sets the projection type. + + The 'type' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['airy', 'aitoff', 'albers', 'albers usa', 'august', + 'azimuthal equal area', 'azimuthal equidistant', 'baker', + 'bertin1953', 'boggs', 'bonne', 'bottomley', 'bromley', + 'collignon', 'conic conformal', 'conic equal area', 'conic + equidistant', 'craig', 'craster', 'cylindrical equal + area', 'cylindrical stereographic', 'eckert1', 'eckert2', + 'eckert3', 'eckert4', 'eckert5', 'eckert6', 'eisenlohr', + 'equal earth', 'equirectangular', 'fahey', 'foucaut', + 'foucaut sinusoidal', 'ginzburg4', 'ginzburg5', + 'ginzburg6', 'ginzburg8', 'ginzburg9', 'gnomonic', + 'gringorten', 'gringorten quincuncial', 'guyou', 'hammer', + 'hill', 'homolosine', 'hufnagel', 'hyperelliptical', + 'kavrayskiy7', 'lagrange', 'larrivee', 'laskowski', + 'loximuthal', 'mercator', 'miller', 'mollweide', 'mt flat + polar parabolic', 'mt flat polar quartic', 'mt flat polar + sinusoidal', 'natural earth', 'natural earth1', 'natural + earth2', 'nell hammer', 'nicolosi', 'orthographic', + 'patterson', 'peirce quincuncial', 'polyconic', + 'rectangular polyconic', 'robinson', 'satellite', 'sinu + mollweide', 'sinusoidal', 'stereographic', 'times', + 'transverse mercator', 'van der grinten', 'van der + grinten2', 'van der grinten3', 'van der grinten4', + 'wagner4', 'wagner6', 'wiechel', 'winkel tripel', + 'winkel3'] + + Returns + ------- + Any + """ + return self["type"] + + @type.setter + def type(self, val): + self["type"] = val + + @property + def _prop_descriptions(self): + return """\ + distance + For satellite projection type only. Sets the distance + from the center of the sphere to the point of view as a + proportion of the sphere’s radius. + parallels + For conic projection types only. Sets the parallels + (tangent, secant) where the cone intersects the sphere. + rotation + :class:`plotly.graph_objects.layout.geo.projection.Rota + tion` instance or dict with compatible properties + scale + Zooms in or out on the map view. A scale of 1 + corresponds to the largest zoom level that fits the + map's lon and lat ranges. + tilt + For satellite projection type only. Sets the tilt angle + of perspective projection. + type + Sets the projection type. + """ + + def __init__( + self, + arg=None, + distance=None, + parallels=None, + rotation=None, + scale=None, + tilt=None, + type=None, + **kwargs, + ): + """ + Construct a new Projection object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.geo.Projection` + distance + For satellite projection type only. Sets the distance + from the center of the sphere to the point of view as a + proportion of the sphere’s radius. + parallels + For conic projection types only. Sets the parallels + (tangent, secant) where the cone intersects the sphere. + rotation + :class:`plotly.graph_objects.layout.geo.projection.Rota + tion` instance or dict with compatible properties + scale + Zooms in or out on the map view. A scale of 1 + corresponds to the largest zoom level that fits the + map's lon and lat ranges. + tilt + For satellite projection type only. Sets the tilt angle + of perspective projection. + type + Sets the projection type. + + Returns + ------- + Projection + """ + super().__init__("projection") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.geo.Projection +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.geo.Projection`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("distance", arg, distance) + self._set_property("parallels", arg, parallels) + self._set_property("rotation", arg, rotation) + self._set_property("scale", arg, scale) + self._set_property("tilt", arg, tilt) + self._set_property("type", arg, type) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/projection/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/projection/__init__.py new file mode 100644 index 0000000..7354e48 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/projection/__init__.py @@ -0,0 +1,11 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._rotation import Rotation +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [], ["._rotation.Rotation"] + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/projection/_rotation.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/projection/_rotation.py new file mode 100644 index 0000000..4934597 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/geo/projection/_rotation.py @@ -0,0 +1,129 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Rotation(_BaseLayoutHierarchyType): + _parent_path_str = "layout.geo.projection" + _path_str = "layout.geo.projection.rotation" + _valid_props = {"lat", "lon", "roll"} + + @property + def lat(self): + """ + Rotates the map along meridians (in degrees North). + + The 'lat' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["lat"] + + @lat.setter + def lat(self, val): + self["lat"] = val + + @property + def lon(self): + """ + Rotates the map along parallels (in degrees East). Defaults to + the center of the `lonaxis.range` values. + + The 'lon' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["lon"] + + @lon.setter + def lon(self, val): + self["lon"] = val + + @property + def roll(self): + """ + Roll the map (in degrees) For example, a roll of 180 makes the + map appear upside down. + + The 'roll' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["roll"] + + @roll.setter + def roll(self, val): + self["roll"] = val + + @property + def _prop_descriptions(self): + return """\ + lat + Rotates the map along meridians (in degrees North). + lon + Rotates the map along parallels (in degrees East). + Defaults to the center of the `lonaxis.range` values. + roll + Roll the map (in degrees) For example, a roll of 180 + makes the map appear upside down. + """ + + def __init__(self, arg=None, lat=None, lon=None, roll=None, **kwargs): + """ + Construct a new Rotation object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.geo.pro + jection.Rotation` + lat + Rotates the map along meridians (in degrees North). + lon + Rotates the map along parallels (in degrees East). + Defaults to the center of the `lonaxis.range` values. + roll + Roll the map (in degrees) For example, a roll of 180 + makes the map appear upside down. + + Returns + ------- + Rotation + """ + super().__init__("rotation") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.geo.projection.Rotation +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.geo.projection.Rotation`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("lat", arg, lat) + self._set_property("lon", arg, lon) + self._set_property("roll", arg, roll) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/grid/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/grid/__init__.py new file mode 100644 index 0000000..672daf1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/grid/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._domain import Domain +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._domain.Domain"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/grid/_domain.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/grid/_domain.py new file mode 100644 index 0000000..1e1fc2f --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/grid/_domain.py @@ -0,0 +1,122 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Domain(_BaseLayoutHierarchyType): + _parent_path_str = "layout.grid" + _path_str = "layout.grid.domain" + _valid_props = {"x", "y"} + + @property + def x(self): + """ + Sets the horizontal domain of this grid subplot (in plot + fraction). The first and last cells end exactly at the domain + edges, with no grout around the edges. + + The 'x' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'x[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'x[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def y(self): + """ + Sets the vertical domain of this grid subplot (in plot + fraction). The first and last cells end exactly at the domain + edges, with no grout around the edges. + + The 'y' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'y[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'y[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def _prop_descriptions(self): + return """\ + x + Sets the horizontal domain of this grid subplot (in + plot fraction). The first and last cells end exactly at + the domain edges, with no grout around the edges. + y + Sets the vertical domain of this grid subplot (in plot + fraction). The first and last cells end exactly at the + domain edges, with no grout around the edges. + """ + + def __init__(self, arg=None, x=None, y=None, **kwargs): + """ + Construct a new Domain object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.grid.Domain` + x + Sets the horizontal domain of this grid subplot (in + plot fraction). The first and last cells end exactly at + the domain edges, with no grout around the edges. + y + Sets the vertical domain of this grid subplot (in plot + fraction). The first and last cells end exactly at the + domain edges, with no grout around the edges. + + Returns + ------- + Domain + """ + super().__init__("domain") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.grid.Domain +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.grid.Domain`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("x", arg, x) + self._set_property("y", arg, y) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/hoverlabel/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/hoverlabel/__init__.py new file mode 100644 index 0000000..c1800c3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/hoverlabel/__init__.py @@ -0,0 +1,12 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font + from ._grouptitlefont import Grouptitlefont +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [], ["._font.Font", "._grouptitlefont.Grouptitlefont"] + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/hoverlabel/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/hoverlabel/_font.py new file mode 100644 index 0000000..afaef5d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/hoverlabel/_font.py @@ -0,0 +1,335 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.hoverlabel" + _path_str = "layout.hoverlabel.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the default hover label font used by all traces on the + graph. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.hoverlabel.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.hoverlabel.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.hoverlabel.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py new file mode 100644 index 0000000..f1aae36 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/hoverlabel/_grouptitlefont.py @@ -0,0 +1,335 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Grouptitlefont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.hoverlabel" + _path_str = "layout.hoverlabel.grouptitlefont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Grouptitlefont object + + Sets the font for group titles in hover (unified modes). + Defaults to `hoverlabel.font`. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.hoverla + bel.Grouptitlefont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Grouptitlefont + """ + super().__init__("grouptitlefont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.hoverlabel.Grouptitlefont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.hoverlabel.Grouptitlefont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/__init__.py new file mode 100644 index 0000000..74cf3d2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/__init__.py @@ -0,0 +1,16 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font + from ._grouptitlefont import Grouptitlefont + from ._title import Title + from . import title +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".title"], + ["._font.Font", "._grouptitlefont.Grouptitlefont", "._title.Title"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/_font.py new file mode 100644 index 0000000..5b1eedf --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.legend" + _path_str = "layout.legend.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the font used to text the legend items. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.legend.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + if arg is None: + arg = {} + elif isinstance(arg, self.__class__): + arg = arg.to_plotly_json() + elif isinstance(arg, dict): + arg = _copy.copy(arg) + else: + raise ValueError("""\ +The first argument to the plotly.graph_objs.layout.legend.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.legend.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/_grouptitlefont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/_grouptitlefont.py new file mode 100644 index 0000000..1dc1285 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/_grouptitlefont.py @@ -0,0 +1,335 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Grouptitlefont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.legend" + _path_str = "layout.legend.grouptitlefont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Grouptitlefont object + + Sets the font for group titles in legend. Defaults to + `legend.font` with its size increased about 10%. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.legend.Grouptitlefont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Grouptitlefont + """ + super().__init__("grouptitlefont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + if arg is None: + arg = {} + elif isinstance(arg, self.__class__): + arg = arg.to_plotly_json() + elif isinstance(arg, dict): + arg = _copy.copy(arg) + else: + raise ValueError("""\ +The first argument to the plotly.graph_objs.layout.legend.Grouptitlefont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.legend.Grouptitlefont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/_title.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/_title.py new file mode 100644 index 0000000..a0c67bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/_title.py @@ -0,0 +1,145 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Title(_BaseLayoutHierarchyType): + _parent_path_str = "layout.legend" + _path_str = "layout.legend.title" + _valid_props = {"font", "side", "text"} + + @property + def font(self): + """ + Sets this legend's title font. Defaults to `legend.font` with + its size increased about 20%. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.legend.title.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.legend.title.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def side(self): + """ + Determines the location of legend's title with respect to the + legend items. Defaulted to "top" with `orientation` is "h". + Defaulted to "left" with `orientation` is "v". The *top left* + options could be used to expand top center and top right are + for horizontal alignment legend area in both x and y sides. + + The 'side' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top', 'left', 'top left', 'top center', 'top right'] + + Returns + ------- + Any + """ + return self["side"] + + @side.setter + def side(self, val): + self["side"] = val + + @property + def text(self): + """ + Sets the title of the legend. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets this legend's title font. Defaults to + `legend.font` with its size increased about 20%. + side + Determines the location of legend's title with respect + to the legend items. Defaulted to "top" with + `orientation` is "h". Defaulted to "left" with + `orientation` is "v". The *top left* options could be + used to expand top center and top right are for + horizontal alignment legend area in both x and y sides. + text + Sets the title of the legend. + """ + + def __init__(self, arg=None, font=None, side=None, text=None, **kwargs): + """ + Construct a new Title object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.legend.Title` + font + Sets this legend's title font. Defaults to + `legend.font` with its size increased about 20%. + side + Determines the location of legend's title with respect + to the legend items. Defaulted to "top" with + `orientation` is "h". Defaulted to "left" with + `orientation` is "v". The *top left* options could be + used to expand top center and top right are for + horizontal alignment legend area in both x and y sides. + text + Sets the title of the legend. + + Returns + ------- + Title + """ + super().__init__("title") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + if arg is None: + arg = {} + elif isinstance(arg, self.__class__): + arg = arg.to_plotly_json() + elif isinstance(arg, dict): + arg = _copy.copy(arg) + else: + raise ValueError("""\ +The first argument to the plotly.graph_objs.layout.legend.Title +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.legend.Title`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("side", arg, side) + self._set_property("text", arg, text) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/title/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/title/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/title/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/title/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/title/_font.py new file mode 100644 index 0000000..1deec6a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/legend/title/_font.py @@ -0,0 +1,335 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.legend.title" + _path_str = "layout.legend.title.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets this legend's title font. Defaults to `legend.font` with + its size increased about 20%. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.legend.title.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + if arg is None: + arg = {} + elif isinstance(arg, self.__class__): + arg = arg.to_plotly_json() + elif isinstance(arg, dict): + arg = _copy.copy(arg) + else: + raise ValueError("""\ +The first argument to the plotly.graph_objs.layout.legend.title.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.legend.title.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/__init__.py new file mode 100644 index 0000000..929c41c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/__init__.py @@ -0,0 +1,17 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._bounds import Bounds + from ._center import Center + from ._domain import Domain + from ._layer import Layer + from . import layer +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".layer"], + ["._bounds.Bounds", "._center.Center", "._domain.Domain", "._layer.Layer"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/_bounds.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/_bounds.py new file mode 100644 index 0000000..13e914c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/_bounds.py @@ -0,0 +1,160 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Bounds(_BaseLayoutHierarchyType): + _parent_path_str = "layout.map" + _path_str = "layout.map.bounds" + _valid_props = {"east", "north", "south", "west"} + + @property + def east(self): + """ + Sets the maximum longitude of the map (in degrees East) if + `west`, `south` and `north` are declared. + + The 'east' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["east"] + + @east.setter + def east(self, val): + self["east"] = val + + @property + def north(self): + """ + Sets the maximum latitude of the map (in degrees North) if + `east`, `west` and `south` are declared. + + The 'north' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["north"] + + @north.setter + def north(self, val): + self["north"] = val + + @property + def south(self): + """ + Sets the minimum latitude of the map (in degrees North) if + `east`, `west` and `north` are declared. + + The 'south' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["south"] + + @south.setter + def south(self, val): + self["south"] = val + + @property + def west(self): + """ + Sets the minimum longitude of the map (in degrees East) if + `east`, `south` and `north` are declared. + + The 'west' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["west"] + + @west.setter + def west(self, val): + self["west"] = val + + @property + def _prop_descriptions(self): + return """\ + east + Sets the maximum longitude of the map (in degrees East) + if `west`, `south` and `north` are declared. + north + Sets the maximum latitude of the map (in degrees North) + if `east`, `west` and `south` are declared. + south + Sets the minimum latitude of the map (in degrees North) + if `east`, `west` and `north` are declared. + west + Sets the minimum longitude of the map (in degrees East) + if `east`, `south` and `north` are declared. + """ + + def __init__( + self, arg=None, east=None, north=None, south=None, west=None, **kwargs + ): + """ + Construct a new Bounds object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.map.Bounds` + east + Sets the maximum longitude of the map (in degrees East) + if `west`, `south` and `north` are declared. + north + Sets the maximum latitude of the map (in degrees North) + if `east`, `west` and `south` are declared. + south + Sets the minimum latitude of the map (in degrees North) + if `east`, `west` and `north` are declared. + west + Sets the minimum longitude of the map (in degrees East) + if `east`, `south` and `north` are declared. + + Returns + ------- + Bounds + """ + super().__init__("bounds") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.map.Bounds +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.map.Bounds`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("east", arg, east) + self._set_property("north", arg, north) + self._set_property("south", arg, south) + self._set_property("west", arg, west) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/_center.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/_center.py new file mode 100644 index 0000000..34c339e --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/_center.py @@ -0,0 +1,104 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Center(_BaseLayoutHierarchyType): + _parent_path_str = "layout.map" + _path_str = "layout.map.center" + _valid_props = {"lat", "lon"} + + @property + def lat(self): + """ + Sets the latitude of the center of the map (in degrees North). + + The 'lat' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["lat"] + + @lat.setter + def lat(self, val): + self["lat"] = val + + @property + def lon(self): + """ + Sets the longitude of the center of the map (in degrees East). + + The 'lon' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["lon"] + + @lon.setter + def lon(self, val): + self["lon"] = val + + @property + def _prop_descriptions(self): + return """\ + lat + Sets the latitude of the center of the map (in degrees + North). + lon + Sets the longitude of the center of the map (in degrees + East). + """ + + def __init__(self, arg=None, lat=None, lon=None, **kwargs): + """ + Construct a new Center object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.map.Center` + lat + Sets the latitude of the center of the map (in degrees + North). + lon + Sets the longitude of the center of the map (in degrees + East). + + Returns + ------- + Center + """ + super().__init__("center") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.map.Center +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.map.Center`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("lat", arg, lat) + self._set_property("lon", arg, lon) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/_domain.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/_domain.py new file mode 100644 index 0000000..9baf6ea --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/_domain.py @@ -0,0 +1,170 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Domain(_BaseLayoutHierarchyType): + _parent_path_str = "layout.map" + _path_str = "layout.map.domain" + _valid_props = {"column", "row", "x", "y"} + + @property + def column(self): + """ + If there is a layout grid, use the domain for this column in + the grid for this map subplot . + + The 'column' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["column"] + + @column.setter + def column(self, val): + self["column"] = val + + @property + def row(self): + """ + If there is a layout grid, use the domain for this row in the + grid for this map subplot . + + The 'row' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["row"] + + @row.setter + def row(self, val): + self["row"] = val + + @property + def x(self): + """ + Sets the horizontal domain of this map subplot (in plot + fraction). + + The 'x' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'x[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'x[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def y(self): + """ + Sets the vertical domain of this map subplot (in plot + fraction). + + The 'y' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'y[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'y[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def _prop_descriptions(self): + return """\ + column + If there is a layout grid, use the domain for this + column in the grid for this map subplot . + row + If there is a layout grid, use the domain for this row + in the grid for this map subplot . + x + Sets the horizontal domain of this map subplot (in plot + fraction). + y + Sets the vertical domain of this map subplot (in plot + fraction). + """ + + def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): + """ + Construct a new Domain object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.map.Domain` + column + If there is a layout grid, use the domain for this + column in the grid for this map subplot . + row + If there is a layout grid, use the domain for this row + in the grid for this map subplot . + x + Sets the horizontal domain of this map subplot (in plot + fraction). + y + Sets the vertical domain of this map subplot (in plot + fraction). + + Returns + ------- + Domain + """ + super().__init__("domain") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.map.Domain +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.map.Domain`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("column", arg, column) + self._set_property("row", arg, row) + self._set_property("x", arg, x) + self._set_property("y", arg, y) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/_layer.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/_layer.py new file mode 100644 index 0000000..cf22d32 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/_layer.py @@ -0,0 +1,691 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Layer(_BaseLayoutHierarchyType): + _parent_path_str = "layout.map" + _path_str = "layout.map.layer" + _valid_props = { + "below", + "circle", + "color", + "coordinates", + "fill", + "line", + "maxzoom", + "minzoom", + "name", + "opacity", + "source", + "sourceattribution", + "sourcelayer", + "sourcetype", + "symbol", + "templateitemname", + "type", + "visible", + } + + @property + def below(self): + """ + Determines if the layer will be inserted before the layer with + the specified ID. If omitted or set to '', the layer will be + inserted above every existing layer. + + The 'below' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["below"] + + @below.setter + def below(self, val): + self["below"] = val + + @property + def circle(self): + """ + The 'circle' property is an instance of Circle + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.map.layer.Circle` + - A dict of string/value properties that will be passed + to the Circle constructor + + Returns + ------- + plotly.graph_objs.layout.map.layer.Circle + """ + return self["circle"] + + @circle.setter + def circle(self, val): + self["circle"] = val + + @property + def color(self): + """ + Sets the primary layer color. If `type` is "circle", color + corresponds to the circle color (map.layer.paint.circle-color) + If `type` is "line", color corresponds to the line color + (map.layer.paint.line-color) If `type` is "fill", color + corresponds to the fill color (map.layer.paint.fill-color) If + `type` is "symbol", color corresponds to the icon color + (map.layer.paint.icon-color) + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def coordinates(self): + """ + Sets the coordinates array contains [longitude, latitude] pairs + for the image corners listed in clockwise order: top left, top + right, bottom right, bottom left. Only has an effect for + "image" `sourcetype`. + + The 'coordinates' property accepts values of any type + + Returns + ------- + Any + """ + return self["coordinates"] + + @coordinates.setter + def coordinates(self, val): + self["coordinates"] = val + + @property + def fill(self): + """ + The 'fill' property is an instance of Fill + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.map.layer.Fill` + - A dict of string/value properties that will be passed + to the Fill constructor + + Returns + ------- + plotly.graph_objs.layout.map.layer.Fill + """ + return self["fill"] + + @fill.setter + def fill(self, val): + self["fill"] = val + + @property + def line(self): + """ + The 'line' property is an instance of Line + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.map.layer.Line` + - A dict of string/value properties that will be passed + to the Line constructor + + Returns + ------- + plotly.graph_objs.layout.map.layer.Line + """ + return self["line"] + + @line.setter + def line(self, val): + self["line"] = val + + @property + def maxzoom(self): + """ + Sets the maximum zoom level (map.layer.maxzoom). At zoom levels + equal to or greater than the maxzoom, the layer will be hidden. + + The 'maxzoom' property is a number and may be specified as: + - An int or float in the interval [0, 24] + + Returns + ------- + int|float + """ + return self["maxzoom"] + + @maxzoom.setter + def maxzoom(self, val): + self["maxzoom"] = val + + @property + def minzoom(self): + """ + Sets the minimum zoom level (map.layer.minzoom). At zoom levels + less than the minzoom, the layer will be hidden. + + The 'minzoom' property is a number and may be specified as: + - An int or float in the interval [0, 24] + + Returns + ------- + int|float + """ + return self["minzoom"] + + @minzoom.setter + def minzoom(self, val): + self["minzoom"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def opacity(self): + """ + Sets the opacity of the layer. If `type` is "circle", opacity + corresponds to the circle opacity (map.layer.paint.circle- + opacity) If `type` is "line", opacity corresponds to the line + opacity (map.layer.paint.line-opacity) If `type` is "fill", + opacity corresponds to the fill opacity (map.layer.paint.fill- + opacity) If `type` is "symbol", opacity corresponds to the + icon/text opacity (map.layer.paint.text-opacity) + + The 'opacity' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["opacity"] + + @opacity.setter + def opacity(self, val): + self["opacity"] = val + + @property + def source(self): + """ + Sets the source data for this layer (map.layer.source). When + `sourcetype` is set to "geojson", `source` can be a URL to a + GeoJSON or a GeoJSON object. When `sourcetype` is set to + "vector" or "raster", `source` can be a URL or an array of tile + URLs. When `sourcetype` is set to "image", `source` can be a + URL to an image. + + The 'source' property accepts values of any type + + Returns + ------- + Any + """ + return self["source"] + + @source.setter + def source(self, val): + self["source"] = val + + @property + def sourceattribution(self): + """ + Sets the attribution for this source. + + The 'sourceattribution' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["sourceattribution"] + + @sourceattribution.setter + def sourceattribution(self, val): + self["sourceattribution"] = val + + @property + def sourcelayer(self): + """ + Specifies the layer to use from a vector tile source + (map.layer.source-layer). Required for "vector" source type + that supports multiple layers. + + The 'sourcelayer' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["sourcelayer"] + + @sourcelayer.setter + def sourcelayer(self, val): + self["sourcelayer"] = val + + @property + def sourcetype(self): + """ + Sets the source type for this layer, that is the type of the + layer data. + + The 'sourcetype' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['geojson', 'vector', 'raster', 'image'] + + Returns + ------- + Any + """ + return self["sourcetype"] + + @sourcetype.setter + def sourcetype(self, val): + self["sourcetype"] = val + + @property + def symbol(self): + """ + The 'symbol' property is an instance of Symbol + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.map.layer.Symbol` + - A dict of string/value properties that will be passed + to the Symbol constructor + + Returns + ------- + plotly.graph_objs.layout.map.layer.Symbol + """ + return self["symbol"] + + @symbol.setter + def symbol(self, val): + self["symbol"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def type(self): + """ + Sets the layer type, that is the how the layer data set in + `source` will be rendered With `sourcetype` set to "geojson", + the following values are allowed: "circle", "line", "fill" and + "symbol". but note that "line" and "fill" are not compatible + with Point GeoJSON geometries. With `sourcetype` set to + "vector", the following values are allowed: "circle", "line", + "fill" and "symbol". With `sourcetype` set to "raster" or + `*image*`, only the "raster" value is allowed. + + The 'type' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['circle', 'line', 'fill', 'symbol', 'raster'] + + Returns + ------- + Any + """ + return self["type"] + + @type.setter + def type(self, val): + self["type"] = val + + @property + def visible(self): + """ + Determines whether this layer is displayed + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def _prop_descriptions(self): + return """\ + below + Determines if the layer will be inserted before the + layer with the specified ID. If omitted or set to '', + the layer will be inserted above every existing layer. + circle + :class:`plotly.graph_objects.layout.map.layer.Circle` + instance or dict with compatible properties + color + Sets the primary layer color. If `type` is "circle", + color corresponds to the circle color + (map.layer.paint.circle-color) If `type` is "line", + color corresponds to the line color + (map.layer.paint.line-color) If `type` is "fill", color + corresponds to the fill color (map.layer.paint.fill- + color) If `type` is "symbol", color corresponds to the + icon color (map.layer.paint.icon-color) + coordinates + Sets the coordinates array contains [longitude, + latitude] pairs for the image corners listed in + clockwise order: top left, top right, bottom right, + bottom left. Only has an effect for "image" + `sourcetype`. + fill + :class:`plotly.graph_objects.layout.map.layer.Fill` + instance or dict with compatible properties + line + :class:`plotly.graph_objects.layout.map.layer.Line` + instance or dict with compatible properties + maxzoom + Sets the maximum zoom level (map.layer.maxzoom). At + zoom levels equal to or greater than the maxzoom, the + layer will be hidden. + minzoom + Sets the minimum zoom level (map.layer.minzoom). At + zoom levels less than the minzoom, the layer will be + hidden. + 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 layer. If `type` is "circle", + opacity corresponds to the circle opacity + (map.layer.paint.circle-opacity) If `type` is "line", + opacity corresponds to the line opacity + (map.layer.paint.line-opacity) If `type` is "fill", + opacity corresponds to the fill opacity + (map.layer.paint.fill-opacity) If `type` is "symbol", + opacity corresponds to the icon/text opacity + (map.layer.paint.text-opacity) + source + Sets the source data for this layer (map.layer.source). + When `sourcetype` is set to "geojson", `source` can be + a URL to a GeoJSON or a GeoJSON object. When + `sourcetype` is set to "vector" or "raster", `source` + can be a URL or an array of tile URLs. When + `sourcetype` is set to "image", `source` can be a URL + to an image. + sourceattribution + Sets the attribution for this source. + sourcelayer + Specifies the layer to use from a vector tile source + (map.layer.source-layer). Required for "vector" source + type that supports multiple layers. + sourcetype + Sets the source type for this layer, that is the type + of the layer data. + symbol + :class:`plotly.graph_objects.layout.map.layer.Symbol` + instance or dict with compatible properties + 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 + Sets the layer type, that is the how the layer data set + in `source` will be rendered With `sourcetype` set to + "geojson", the following values are allowed: "circle", + "line", "fill" and "symbol". but note that "line" and + "fill" are not compatible with Point GeoJSON + geometries. With `sourcetype` set to "vector", the + following values are allowed: "circle", "line", "fill" + and "symbol". With `sourcetype` set to "raster" or + `*image*`, only the "raster" value is allowed. + visible + Determines whether this layer is displayed + """ + + def __init__( + self, + arg=None, + below=None, + circle=None, + color=None, + coordinates=None, + fill=None, + line=None, + maxzoom=None, + minzoom=None, + name=None, + opacity=None, + source=None, + sourceattribution=None, + sourcelayer=None, + sourcetype=None, + symbol=None, + templateitemname=None, + type=None, + visible=None, + **kwargs, + ): + """ + Construct a new Layer object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.map.Layer` + below + Determines if the layer will be inserted before the + layer with the specified ID. If omitted or set to '', + the layer will be inserted above every existing layer. + circle + :class:`plotly.graph_objects.layout.map.layer.Circle` + instance or dict with compatible properties + color + Sets the primary layer color. If `type` is "circle", + color corresponds to the circle color + (map.layer.paint.circle-color) If `type` is "line", + color corresponds to the line color + (map.layer.paint.line-color) If `type` is "fill", color + corresponds to the fill color (map.layer.paint.fill- + color) If `type` is "symbol", color corresponds to the + icon color (map.layer.paint.icon-color) + coordinates + Sets the coordinates array contains [longitude, + latitude] pairs for the image corners listed in + clockwise order: top left, top right, bottom right, + bottom left. Only has an effect for "image" + `sourcetype`. + fill + :class:`plotly.graph_objects.layout.map.layer.Fill` + instance or dict with compatible properties + line + :class:`plotly.graph_objects.layout.map.layer.Line` + instance or dict with compatible properties + maxzoom + Sets the maximum zoom level (map.layer.maxzoom). At + zoom levels equal to or greater than the maxzoom, the + layer will be hidden. + minzoom + Sets the minimum zoom level (map.layer.minzoom). At + zoom levels less than the minzoom, the layer will be + hidden. + 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 layer. If `type` is "circle", + opacity corresponds to the circle opacity + (map.layer.paint.circle-opacity) If `type` is "line", + opacity corresponds to the line opacity + (map.layer.paint.line-opacity) If `type` is "fill", + opacity corresponds to the fill opacity + (map.layer.paint.fill-opacity) If `type` is "symbol", + opacity corresponds to the icon/text opacity + (map.layer.paint.text-opacity) + source + Sets the source data for this layer (map.layer.source). + When `sourcetype` is set to "geojson", `source` can be + a URL to a GeoJSON or a GeoJSON object. When + `sourcetype` is set to "vector" or "raster", `source` + can be a URL or an array of tile URLs. When + `sourcetype` is set to "image", `source` can be a URL + to an image. + sourceattribution + Sets the attribution for this source. + sourcelayer + Specifies the layer to use from a vector tile source + (map.layer.source-layer). Required for "vector" source + type that supports multiple layers. + sourcetype + Sets the source type for this layer, that is the type + of the layer data. + symbol + :class:`plotly.graph_objects.layout.map.layer.Symbol` + instance or dict with compatible properties + 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 + Sets the layer type, that is the how the layer data set + in `source` will be rendered With `sourcetype` set to + "geojson", the following values are allowed: "circle", + "line", "fill" and "symbol". but note that "line" and + "fill" are not compatible with Point GeoJSON + geometries. With `sourcetype` set to "vector", the + following values are allowed: "circle", "line", "fill" + and "symbol". With `sourcetype` set to "raster" or + `*image*`, only the "raster" value is allowed. + visible + Determines whether this layer is displayed + + Returns + ------- + Layer + """ + super().__init__("layers") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.map.Layer +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.map.Layer`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("below", arg, below) + self._set_property("circle", arg, circle) + self._set_property("color", arg, color) + self._set_property("coordinates", arg, coordinates) + self._set_property("fill", arg, fill) + self._set_property("line", arg, line) + self._set_property("maxzoom", arg, maxzoom) + self._set_property("minzoom", arg, minzoom) + self._set_property("name", arg, name) + self._set_property("opacity", arg, opacity) + self._set_property("source", arg, source) + self._set_property("sourceattribution", arg, sourceattribution) + self._set_property("sourcelayer", arg, sourcelayer) + self._set_property("sourcetype", arg, sourcetype) + self._set_property("symbol", arg, symbol) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("type", arg, type) + self._set_property("visible", arg, visible) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/__init__.py new file mode 100644 index 0000000..2d86fbd --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/__init__.py @@ -0,0 +1,17 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._circle import Circle + from ._fill import Fill + from ._line import Line + from ._symbol import Symbol + from . import symbol +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".symbol"], + ["._circle.Circle", "._fill.Fill", "._line.Line", "._symbol.Symbol"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/_circle.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/_circle.py new file mode 100644 index 0000000..2d99a00 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/_circle.py @@ -0,0 +1,80 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Circle(_BaseLayoutHierarchyType): + _parent_path_str = "layout.map.layer" + _path_str = "layout.map.layer.circle" + _valid_props = {"radius"} + + @property + def radius(self): + """ + Sets the circle radius (map.layer.paint.circle-radius). Has an + effect only when `type` is set to "circle". + + The 'radius' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["radius"] + + @radius.setter + def radius(self, val): + self["radius"] = val + + @property + def _prop_descriptions(self): + return """\ + radius + Sets the circle radius (map.layer.paint.circle-radius). + Has an effect only when `type` is set to "circle". + """ + + def __init__(self, arg=None, radius=None, **kwargs): + """ + Construct a new Circle object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.map.layer.Circle` + radius + Sets the circle radius (map.layer.paint.circle-radius). + Has an effect only when `type` is set to "circle". + + Returns + ------- + Circle + """ + super().__init__("circle") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.map.layer.Circle +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.map.layer.Circle`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("radius", arg, radius) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/_fill.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/_fill.py new file mode 100644 index 0000000..2c82cdd --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/_fill.py @@ -0,0 +1,86 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Fill(_BaseLayoutHierarchyType): + _parent_path_str = "layout.map.layer" + _path_str = "layout.map.layer.fill" + _valid_props = {"outlinecolor"} + + @property + def outlinecolor(self): + """ + Sets the fill outline color (map.layer.paint.fill-outline- + color). Has an effect only when `type` is set to "fill". + + The 'outlinecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["outlinecolor"] + + @outlinecolor.setter + def outlinecolor(self, val): + self["outlinecolor"] = val + + @property + def _prop_descriptions(self): + return """\ + outlinecolor + Sets the fill outline color (map.layer.paint.fill- + outline-color). Has an effect only when `type` is set + to "fill". + """ + + def __init__(self, arg=None, outlinecolor=None, **kwargs): + """ + Construct a new Fill object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.map.layer.Fill` + outlinecolor + Sets the fill outline color (map.layer.paint.fill- + outline-color). Has an effect only when `type` is set + to "fill". + + Returns + ------- + Fill + """ + super().__init__("fill") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.map.layer.Fill +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.map.layer.Fill`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("outlinecolor", arg, outlinecolor) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/_line.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/_line.py new file mode 100644 index 0000000..369be5f --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/_line.py @@ -0,0 +1,133 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Line(_BaseLayoutHierarchyType): + _parent_path_str = "layout.map.layer" + _path_str = "layout.map.layer.line" + _valid_props = {"dash", "dashsrc", "width"} + + @property + def dash(self): + """ + Sets the length of dashes and gaps (map.layer.paint.line- + dasharray). Has an effect only when `type` is set to "line". + + The 'dash' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["dash"] + + @dash.setter + def dash(self, val): + self["dash"] = val + + @property + def dashsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `dash`. + + The 'dashsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["dashsrc"] + + @dashsrc.setter + def dashsrc(self, val): + self["dashsrc"] = val + + @property + def width(self): + """ + Sets the line width (map.layer.paint.line-width). Has an effect + only when `type` is set to "line". + + The 'width' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["width"] + + @width.setter + def width(self, val): + self["width"] = val + + @property + def _prop_descriptions(self): + return """\ + dash + Sets the length of dashes and gaps + (map.layer.paint.line-dasharray). Has an effect only + when `type` is set to "line". + dashsrc + Sets the source reference on Chart Studio Cloud for + `dash`. + width + Sets the line width (map.layer.paint.line-width). Has + an effect only when `type` is set to "line". + """ + + def __init__(self, arg=None, dash=None, dashsrc=None, width=None, **kwargs): + """ + Construct a new Line object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.map.layer.Line` + dash + Sets the length of dashes and gaps + (map.layer.paint.line-dasharray). Has an effect only + when `type` is set to "line". + dashsrc + Sets the source reference on Chart Studio Cloud for + `dash`. + width + Sets the line width (map.layer.paint.line-width). Has + an effect only when `type` is set to "line". + + Returns + ------- + Line + """ + super().__init__("line") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.map.layer.Line +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.map.layer.Line`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dash", arg, dash) + self._set_property("dashsrc", arg, dashsrc) + self._set_property("width", arg, width) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/_symbol.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/_symbol.py new file mode 100644 index 0000000..58507ae --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/_symbol.py @@ -0,0 +1,243 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Symbol(_BaseLayoutHierarchyType): + _parent_path_str = "layout.map.layer" + _path_str = "layout.map.layer.symbol" + _valid_props = {"icon", "iconsize", "placement", "text", "textfont", "textposition"} + + @property + def icon(self): + """ + Sets the symbol icon image (map.layer.layout.icon-image). Full + list: https://www.map.com/maki-icons/ + + The 'icon' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["icon"] + + @icon.setter + def icon(self, val): + self["icon"] = val + + @property + def iconsize(self): + """ + Sets the symbol icon size (map.layer.layout.icon-size). Has an + effect only when `type` is set to "symbol". + + The 'iconsize' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["iconsize"] + + @iconsize.setter + def iconsize(self, val): + self["iconsize"] = val + + @property + def placement(self): + """ + Sets the symbol and/or text placement (map.layer.layout.symbol- + placement). If `placement` is "point", the label is placed + where the geometry is located If `placement` is "line", the + label is placed along the line of the geometry If `placement` + is "line-center", the label is placed on the center of the + geometry + + The 'placement' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['point', 'line', 'line-center'] + + Returns + ------- + Any + """ + return self["placement"] + + @placement.setter + def placement(self, val): + self["placement"] = val + + @property + def text(self): + """ + Sets the symbol text (map.layer.layout.text-field). + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def textfont(self): + """ + Sets the icon text font (color=map.layer.paint.text-color, + size=map.layer.layout.text-size). Has an effect only when + `type` is set to "symbol". + + The 'textfont' property is an instance of Textfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.map.layer.symbol.Textfont` + - A dict of string/value properties that will be passed + to the Textfont constructor + + Returns + ------- + plotly.graph_objs.layout.map.layer.symbol.Textfont + """ + return self["textfont"] + + @textfont.setter + def textfont(self, val): + self["textfont"] = val + + @property + def textposition(self): + """ + Sets the positions of the `text` elements with respects to the + (x,y) coordinates. + + The 'textposition' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top left', 'top center', 'top right', 'middle left', + 'middle center', 'middle right', 'bottom left', 'bottom + center', 'bottom right'] + + Returns + ------- + Any + """ + return self["textposition"] + + @textposition.setter + def textposition(self, val): + self["textposition"] = val + + @property + def _prop_descriptions(self): + return """\ + icon + Sets the symbol icon image (map.layer.layout.icon- + image). Full list: https://www.map.com/maki-icons/ + iconsize + Sets the symbol icon size (map.layer.layout.icon-size). + Has an effect only when `type` is set to "symbol". + placement + Sets the symbol and/or text placement + (map.layer.layout.symbol-placement). If `placement` is + "point", the label is placed where the geometry is + located If `placement` is "line", the label is placed + along the line of the geometry If `placement` is "line- + center", the label is placed on the center of the + geometry + text + Sets the symbol text (map.layer.layout.text-field). + textfont + Sets the icon text font (color=map.layer.paint.text- + color, size=map.layer.layout.text-size). Has an effect + only when `type` is set to "symbol". + textposition + Sets the positions of the `text` elements with respects + to the (x,y) coordinates. + """ + + def __init__( + self, + arg=None, + icon=None, + iconsize=None, + placement=None, + text=None, + textfont=None, + textposition=None, + **kwargs, + ): + """ + Construct a new Symbol object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.map.layer.Symbol` + icon + Sets the symbol icon image (map.layer.layout.icon- + image). Full list: https://www.map.com/maki-icons/ + iconsize + Sets the symbol icon size (map.layer.layout.icon-size). + Has an effect only when `type` is set to "symbol". + placement + Sets the symbol and/or text placement + (map.layer.layout.symbol-placement). If `placement` is + "point", the label is placed where the geometry is + located If `placement` is "line", the label is placed + along the line of the geometry If `placement` is "line- + center", the label is placed on the center of the + geometry + text + Sets the symbol text (map.layer.layout.text-field). + textfont + Sets the icon text font (color=map.layer.paint.text- + color, size=map.layer.layout.text-size). Has an effect + only when `type` is set to "symbol". + textposition + Sets the positions of the `text` elements with respects + to the (x,y) coordinates. + + Returns + ------- + Symbol + """ + super().__init__("symbol") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.map.layer.Symbol +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.map.layer.Symbol`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("icon", arg, icon) + self._set_property("iconsize", arg, iconsize) + self._set_property("placement", arg, placement) + self._set_property("text", arg, text) + self._set_property("textfont", arg, textfont) + self._set_property("textposition", arg, textposition) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/symbol/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/symbol/__init__.py new file mode 100644 index 0000000..a713099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/symbol/__init__.py @@ -0,0 +1,11 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._textfont import Textfont +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [], ["._textfont.Textfont"] + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/symbol/_textfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/symbol/_textfont.py new file mode 100644 index 0000000..911cbcd --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/map/layer/symbol/_textfont.py @@ -0,0 +1,202 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Textfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.map.layer.symbol" + _path_str = "layout.map.layer.symbol.textfont" + _valid_props = {"color", "family", "size", "style", "weight"} + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + size=None, + style=None, + weight=None, + **kwargs, + ): + """ + Construct a new Textfont object + + Sets the icon text font (color=map.layer.paint.text-color, + size=map.layer.layout.text-size). Has an effect only when + `type` is set to "symbol". + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.map.lay + er.symbol.Textfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Textfont + """ + super().__init__("textfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.map.layer.symbol.Textfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.map.layer.symbol.Textfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/__init__.py new file mode 100644 index 0000000..929c41c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/__init__.py @@ -0,0 +1,17 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._bounds import Bounds + from ._center import Center + from ._domain import Domain + from ._layer import Layer + from . import layer +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".layer"], + ["._bounds.Bounds", "._center.Center", "._domain.Domain", "._layer.Layer"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/_bounds.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/_bounds.py new file mode 100644 index 0000000..0179224 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/_bounds.py @@ -0,0 +1,160 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Bounds(_BaseLayoutHierarchyType): + _parent_path_str = "layout.mapbox" + _path_str = "layout.mapbox.bounds" + _valid_props = {"east", "north", "south", "west"} + + @property + def east(self): + """ + Sets the maximum longitude of the map (in degrees East) if + `west`, `south` and `north` are declared. + + The 'east' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["east"] + + @east.setter + def east(self, val): + self["east"] = val + + @property + def north(self): + """ + Sets the maximum latitude of the map (in degrees North) if + `east`, `west` and `south` are declared. + + The 'north' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["north"] + + @north.setter + def north(self, val): + self["north"] = val + + @property + def south(self): + """ + Sets the minimum latitude of the map (in degrees North) if + `east`, `west` and `north` are declared. + + The 'south' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["south"] + + @south.setter + def south(self, val): + self["south"] = val + + @property + def west(self): + """ + Sets the minimum longitude of the map (in degrees East) if + `east`, `south` and `north` are declared. + + The 'west' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["west"] + + @west.setter + def west(self, val): + self["west"] = val + + @property + def _prop_descriptions(self): + return """\ + east + Sets the maximum longitude of the map (in degrees East) + if `west`, `south` and `north` are declared. + north + Sets the maximum latitude of the map (in degrees North) + if `east`, `west` and `south` are declared. + south + Sets the minimum latitude of the map (in degrees North) + if `east`, `west` and `north` are declared. + west + Sets the minimum longitude of the map (in degrees East) + if `east`, `south` and `north` are declared. + """ + + def __init__( + self, arg=None, east=None, north=None, south=None, west=None, **kwargs + ): + """ + Construct a new Bounds object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.mapbox.Bounds` + east + Sets the maximum longitude of the map (in degrees East) + if `west`, `south` and `north` are declared. + north + Sets the maximum latitude of the map (in degrees North) + if `east`, `west` and `south` are declared. + south + Sets the minimum latitude of the map (in degrees North) + if `east`, `west` and `north` are declared. + west + Sets the minimum longitude of the map (in degrees East) + if `east`, `south` and `north` are declared. + + Returns + ------- + Bounds + """ + super().__init__("bounds") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.mapbox.Bounds +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.mapbox.Bounds`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("east", arg, east) + self._set_property("north", arg, north) + self._set_property("south", arg, south) + self._set_property("west", arg, west) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/_center.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/_center.py new file mode 100644 index 0000000..c3a2380 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/_center.py @@ -0,0 +1,104 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Center(_BaseLayoutHierarchyType): + _parent_path_str = "layout.mapbox" + _path_str = "layout.mapbox.center" + _valid_props = {"lat", "lon"} + + @property + def lat(self): + """ + Sets the latitude of the center of the map (in degrees North). + + The 'lat' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["lat"] + + @lat.setter + def lat(self, val): + self["lat"] = val + + @property + def lon(self): + """ + Sets the longitude of the center of the map (in degrees East). + + The 'lon' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["lon"] + + @lon.setter + def lon(self, val): + self["lon"] = val + + @property + def _prop_descriptions(self): + return """\ + lat + Sets the latitude of the center of the map (in degrees + North). + lon + Sets the longitude of the center of the map (in degrees + East). + """ + + def __init__(self, arg=None, lat=None, lon=None, **kwargs): + """ + Construct a new Center object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.mapbox.Center` + lat + Sets the latitude of the center of the map (in degrees + North). + lon + Sets the longitude of the center of the map (in degrees + East). + + Returns + ------- + Center + """ + super().__init__("center") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.mapbox.Center +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.mapbox.Center`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("lat", arg, lat) + self._set_property("lon", arg, lon) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/_domain.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/_domain.py new file mode 100644 index 0000000..371af69 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/_domain.py @@ -0,0 +1,170 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Domain(_BaseLayoutHierarchyType): + _parent_path_str = "layout.mapbox" + _path_str = "layout.mapbox.domain" + _valid_props = {"column", "row", "x", "y"} + + @property + def column(self): + """ + If there is a layout grid, use the domain for this column in + the grid for this mapbox subplot . + + The 'column' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["column"] + + @column.setter + def column(self, val): + self["column"] = val + + @property + def row(self): + """ + If there is a layout grid, use the domain for this row in the + grid for this mapbox subplot . + + The 'row' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["row"] + + @row.setter + def row(self, val): + self["row"] = val + + @property + def x(self): + """ + Sets the horizontal domain of this mapbox subplot (in plot + fraction). + + The 'x' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'x[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'x[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def y(self): + """ + Sets the vertical domain of this mapbox subplot (in plot + fraction). + + The 'y' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'y[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'y[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def _prop_descriptions(self): + return """\ + column + If there is a layout grid, use the domain for this + column in the grid for this mapbox subplot . + row + If there is a layout grid, use the domain for this row + in the grid for this mapbox subplot . + x + Sets the horizontal domain of this mapbox subplot (in + plot fraction). + y + Sets the vertical domain of this mapbox subplot (in + plot fraction). + """ + + def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): + """ + Construct a new Domain object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.mapbox.Domain` + column + If there is a layout grid, use the domain for this + column in the grid for this mapbox subplot . + row + If there is a layout grid, use the domain for this row + in the grid for this mapbox subplot . + x + Sets the horizontal domain of this mapbox subplot (in + plot fraction). + y + Sets the vertical domain of this mapbox subplot (in + plot fraction). + + Returns + ------- + Domain + """ + super().__init__("domain") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.mapbox.Domain +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.mapbox.Domain`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("column", arg, column) + self._set_property("row", arg, row) + self._set_property("x", arg, x) + self._set_property("y", arg, y) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/_layer.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/_layer.py new file mode 100644 index 0000000..abad68f --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/_layer.py @@ -0,0 +1,695 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Layer(_BaseLayoutHierarchyType): + _parent_path_str = "layout.mapbox" + _path_str = "layout.mapbox.layer" + _valid_props = { + "below", + "circle", + "color", + "coordinates", + "fill", + "line", + "maxzoom", + "minzoom", + "name", + "opacity", + "source", + "sourceattribution", + "sourcelayer", + "sourcetype", + "symbol", + "templateitemname", + "type", + "visible", + } + + @property + def below(self): + """ + Determines if the layer will be inserted before the layer with + the specified ID. If omitted or set to '', the layer will be + inserted above every existing layer. + + The 'below' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["below"] + + @below.setter + def below(self, val): + self["below"] = val + + @property + def circle(self): + """ + The 'circle' property is an instance of Circle + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.mapbox.layer.Circle` + - A dict of string/value properties that will be passed + to the Circle constructor + + Returns + ------- + plotly.graph_objs.layout.mapbox.layer.Circle + """ + return self["circle"] + + @circle.setter + def circle(self, val): + self["circle"] = val + + @property + def color(self): + """ + Sets the primary layer color. If `type` is "circle", color + corresponds to the circle color (mapbox.layer.paint.circle- + color) If `type` is "line", color corresponds to the line color + (mapbox.layer.paint.line-color) If `type` is "fill", color + corresponds to the fill color (mapbox.layer.paint.fill-color) + If `type` is "symbol", color corresponds to the icon color + (mapbox.layer.paint.icon-color) + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def coordinates(self): + """ + Sets the coordinates array contains [longitude, latitude] pairs + for the image corners listed in clockwise order: top left, top + right, bottom right, bottom left. Only has an effect for + "image" `sourcetype`. + + The 'coordinates' property accepts values of any type + + Returns + ------- + Any + """ + return self["coordinates"] + + @coordinates.setter + def coordinates(self, val): + self["coordinates"] = val + + @property + def fill(self): + """ + The 'fill' property is an instance of Fill + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.mapbox.layer.Fill` + - A dict of string/value properties that will be passed + to the Fill constructor + + Returns + ------- + plotly.graph_objs.layout.mapbox.layer.Fill + """ + return self["fill"] + + @fill.setter + def fill(self, val): + self["fill"] = val + + @property + def line(self): + """ + The 'line' property is an instance of Line + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.mapbox.layer.Line` + - A dict of string/value properties that will be passed + to the Line constructor + + Returns + ------- + plotly.graph_objs.layout.mapbox.layer.Line + """ + return self["line"] + + @line.setter + def line(self, val): + self["line"] = val + + @property + def maxzoom(self): + """ + Sets the maximum zoom level (mapbox.layer.maxzoom). At zoom + levels equal to or greater than the maxzoom, the layer will be + hidden. + + The 'maxzoom' property is a number and may be specified as: + - An int or float in the interval [0, 24] + + Returns + ------- + int|float + """ + return self["maxzoom"] + + @maxzoom.setter + def maxzoom(self, val): + self["maxzoom"] = val + + @property + def minzoom(self): + """ + Sets the minimum zoom level (mapbox.layer.minzoom). At zoom + levels less than the minzoom, the layer will be hidden. + + The 'minzoom' property is a number and may be specified as: + - An int or float in the interval [0, 24] + + Returns + ------- + int|float + """ + return self["minzoom"] + + @minzoom.setter + def minzoom(self, val): + self["minzoom"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def opacity(self): + """ + Sets the opacity of the layer. If `type` is "circle", opacity + corresponds to the circle opacity (mapbox.layer.paint.circle- + opacity) If `type` is "line", opacity corresponds to the line + opacity (mapbox.layer.paint.line-opacity) If `type` is "fill", + opacity corresponds to the fill opacity + (mapbox.layer.paint.fill-opacity) If `type` is "symbol", + opacity corresponds to the icon/text opacity + (mapbox.layer.paint.text-opacity) + + The 'opacity' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["opacity"] + + @opacity.setter + def opacity(self, val): + self["opacity"] = val + + @property + def source(self): + """ + Sets the source data for this layer (mapbox.layer.source). When + `sourcetype` is set to "geojson", `source` can be a URL to a + GeoJSON or a GeoJSON object. When `sourcetype` is set to + "vector" or "raster", `source` can be a URL or an array of tile + URLs. When `sourcetype` is set to "image", `source` can be a + URL to an image. + + The 'source' property accepts values of any type + + Returns + ------- + Any + """ + return self["source"] + + @source.setter + def source(self, val): + self["source"] = val + + @property + def sourceattribution(self): + """ + Sets the attribution for this source. + + The 'sourceattribution' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["sourceattribution"] + + @sourceattribution.setter + def sourceattribution(self, val): + self["sourceattribution"] = val + + @property + def sourcelayer(self): + """ + Specifies the layer to use from a vector tile source + (mapbox.layer.source-layer). Required for "vector" source type + that supports multiple layers. + + The 'sourcelayer' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["sourcelayer"] + + @sourcelayer.setter + def sourcelayer(self, val): + self["sourcelayer"] = val + + @property + def sourcetype(self): + """ + Sets the source type for this layer, that is the type of the + layer data. + + The 'sourcetype' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['geojson', 'vector', 'raster', 'image'] + + Returns + ------- + Any + """ + return self["sourcetype"] + + @sourcetype.setter + def sourcetype(self, val): + self["sourcetype"] = val + + @property + def symbol(self): + """ + The 'symbol' property is an instance of Symbol + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.mapbox.layer.Symbol` + - A dict of string/value properties that will be passed + to the Symbol constructor + + Returns + ------- + plotly.graph_objs.layout.mapbox.layer.Symbol + """ + return self["symbol"] + + @symbol.setter + def symbol(self, val): + self["symbol"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def type(self): + """ + Sets the layer type, that is the how the layer data set in + `source` will be rendered With `sourcetype` set to "geojson", + the following values are allowed: "circle", "line", "fill" and + "symbol". but note that "line" and "fill" are not compatible + with Point GeoJSON geometries. With `sourcetype` set to + "vector", the following values are allowed: "circle", "line", + "fill" and "symbol". With `sourcetype` set to "raster" or + `*image*`, only the "raster" value is allowed. + + The 'type' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['circle', 'line', 'fill', 'symbol', 'raster'] + + Returns + ------- + Any + """ + return self["type"] + + @type.setter + def type(self, val): + self["type"] = val + + @property + def visible(self): + """ + Determines whether this layer is displayed + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def _prop_descriptions(self): + return """\ + below + Determines if the layer will be inserted before the + layer with the specified ID. If omitted or set to '', + the layer will be inserted above every existing layer. + circle + :class:`plotly.graph_objects.layout.mapbox.layer.Circle + ` instance or dict with compatible properties + color + Sets the primary layer color. If `type` is "circle", + color corresponds to the circle color + (mapbox.layer.paint.circle-color) If `type` is "line", + color corresponds to the line color + (mapbox.layer.paint.line-color) If `type` is "fill", + color corresponds to the fill color + (mapbox.layer.paint.fill-color) If `type` is "symbol", + color corresponds to the icon color + (mapbox.layer.paint.icon-color) + coordinates + Sets the coordinates array contains [longitude, + latitude] pairs for the image corners listed in + clockwise order: top left, top right, bottom right, + bottom left. Only has an effect for "image" + `sourcetype`. + fill + :class:`plotly.graph_objects.layout.mapbox.layer.Fill` + instance or dict with compatible properties + line + :class:`plotly.graph_objects.layout.mapbox.layer.Line` + instance or dict with compatible properties + maxzoom + Sets the maximum zoom level (mapbox.layer.maxzoom). At + zoom levels equal to or greater than the maxzoom, the + layer will be hidden. + minzoom + Sets the minimum zoom level (mapbox.layer.minzoom). At + zoom levels less than the minzoom, the layer will be + hidden. + 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 layer. If `type` is "circle", + opacity corresponds to the circle opacity + (mapbox.layer.paint.circle-opacity) If `type` is + "line", opacity corresponds to the line opacity + (mapbox.layer.paint.line-opacity) If `type` is "fill", + opacity corresponds to the fill opacity + (mapbox.layer.paint.fill-opacity) If `type` is + "symbol", opacity corresponds to the icon/text opacity + (mapbox.layer.paint.text-opacity) + source + Sets the source data for this layer + (mapbox.layer.source). When `sourcetype` is set to + "geojson", `source` can be a URL to a GeoJSON or a + GeoJSON object. When `sourcetype` is set to "vector" or + "raster", `source` can be a URL or an array of tile + URLs. When `sourcetype` is set to "image", `source` can + be a URL to an image. + sourceattribution + Sets the attribution for this source. + sourcelayer + Specifies the layer to use from a vector tile source + (mapbox.layer.source-layer). Required for "vector" + source type that supports multiple layers. + sourcetype + Sets the source type for this layer, that is the type + of the layer data. + symbol + :class:`plotly.graph_objects.layout.mapbox.layer.Symbol + ` instance or dict with compatible properties + 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 + Sets the layer type, that is the how the layer data set + in `source` will be rendered With `sourcetype` set to + "geojson", the following values are allowed: "circle", + "line", "fill" and "symbol". but note that "line" and + "fill" are not compatible with Point GeoJSON + geometries. With `sourcetype` set to "vector", the + following values are allowed: "circle", "line", "fill" + and "symbol". With `sourcetype` set to "raster" or + `*image*`, only the "raster" value is allowed. + visible + Determines whether this layer is displayed + """ + + def __init__( + self, + arg=None, + below=None, + circle=None, + color=None, + coordinates=None, + fill=None, + line=None, + maxzoom=None, + minzoom=None, + name=None, + opacity=None, + source=None, + sourceattribution=None, + sourcelayer=None, + sourcetype=None, + symbol=None, + templateitemname=None, + type=None, + visible=None, + **kwargs, + ): + """ + Construct a new Layer object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.mapbox.Layer` + below + Determines if the layer will be inserted before the + layer with the specified ID. If omitted or set to '', + the layer will be inserted above every existing layer. + circle + :class:`plotly.graph_objects.layout.mapbox.layer.Circle + ` instance or dict with compatible properties + color + Sets the primary layer color. If `type` is "circle", + color corresponds to the circle color + (mapbox.layer.paint.circle-color) If `type` is "line", + color corresponds to the line color + (mapbox.layer.paint.line-color) If `type` is "fill", + color corresponds to the fill color + (mapbox.layer.paint.fill-color) If `type` is "symbol", + color corresponds to the icon color + (mapbox.layer.paint.icon-color) + coordinates + Sets the coordinates array contains [longitude, + latitude] pairs for the image corners listed in + clockwise order: top left, top right, bottom right, + bottom left. Only has an effect for "image" + `sourcetype`. + fill + :class:`plotly.graph_objects.layout.mapbox.layer.Fill` + instance or dict with compatible properties + line + :class:`plotly.graph_objects.layout.mapbox.layer.Line` + instance or dict with compatible properties + maxzoom + Sets the maximum zoom level (mapbox.layer.maxzoom). At + zoom levels equal to or greater than the maxzoom, the + layer will be hidden. + minzoom + Sets the minimum zoom level (mapbox.layer.minzoom). At + zoom levels less than the minzoom, the layer will be + hidden. + 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 layer. If `type` is "circle", + opacity corresponds to the circle opacity + (mapbox.layer.paint.circle-opacity) If `type` is + "line", opacity corresponds to the line opacity + (mapbox.layer.paint.line-opacity) If `type` is "fill", + opacity corresponds to the fill opacity + (mapbox.layer.paint.fill-opacity) If `type` is + "symbol", opacity corresponds to the icon/text opacity + (mapbox.layer.paint.text-opacity) + source + Sets the source data for this layer + (mapbox.layer.source). When `sourcetype` is set to + "geojson", `source` can be a URL to a GeoJSON or a + GeoJSON object. When `sourcetype` is set to "vector" or + "raster", `source` can be a URL or an array of tile + URLs. When `sourcetype` is set to "image", `source` can + be a URL to an image. + sourceattribution + Sets the attribution for this source. + sourcelayer + Specifies the layer to use from a vector tile source + (mapbox.layer.source-layer). Required for "vector" + source type that supports multiple layers. + sourcetype + Sets the source type for this layer, that is the type + of the layer data. + symbol + :class:`plotly.graph_objects.layout.mapbox.layer.Symbol + ` instance or dict with compatible properties + 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 + Sets the layer type, that is the how the layer data set + in `source` will be rendered With `sourcetype` set to + "geojson", the following values are allowed: "circle", + "line", "fill" and "symbol". but note that "line" and + "fill" are not compatible with Point GeoJSON + geometries. With `sourcetype` set to "vector", the + following values are allowed: "circle", "line", "fill" + and "symbol". With `sourcetype` set to "raster" or + `*image*`, only the "raster" value is allowed. + visible + Determines whether this layer is displayed + + Returns + ------- + Layer + """ + super().__init__("layers") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.mapbox.Layer +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.mapbox.Layer`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("below", arg, below) + self._set_property("circle", arg, circle) + self._set_property("color", arg, color) + self._set_property("coordinates", arg, coordinates) + self._set_property("fill", arg, fill) + self._set_property("line", arg, line) + self._set_property("maxzoom", arg, maxzoom) + self._set_property("minzoom", arg, minzoom) + self._set_property("name", arg, name) + self._set_property("opacity", arg, opacity) + self._set_property("source", arg, source) + self._set_property("sourceattribution", arg, sourceattribution) + self._set_property("sourcelayer", arg, sourcelayer) + self._set_property("sourcetype", arg, sourcetype) + self._set_property("symbol", arg, symbol) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("type", arg, type) + self._set_property("visible", arg, visible) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/__init__.py new file mode 100644 index 0000000..2d86fbd --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/__init__.py @@ -0,0 +1,17 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._circle import Circle + from ._fill import Fill + from ._line import Line + from ._symbol import Symbol + from . import symbol +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".symbol"], + ["._circle.Circle", "._fill.Fill", "._line.Line", "._symbol.Symbol"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/_circle.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/_circle.py new file mode 100644 index 0000000..74ba819 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/_circle.py @@ -0,0 +1,82 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Circle(_BaseLayoutHierarchyType): + _parent_path_str = "layout.mapbox.layer" + _path_str = "layout.mapbox.layer.circle" + _valid_props = {"radius"} + + @property + def radius(self): + """ + Sets the circle radius (mapbox.layer.paint.circle-radius). Has + an effect only when `type` is set to "circle". + + The 'radius' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["radius"] + + @radius.setter + def radius(self, val): + self["radius"] = val + + @property + def _prop_descriptions(self): + return """\ + radius + Sets the circle radius (mapbox.layer.paint.circle- + radius). Has an effect only when `type` is set to + "circle". + """ + + def __init__(self, arg=None, radius=None, **kwargs): + """ + Construct a new Circle object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.mapbox.layer.Circle` + radius + Sets the circle radius (mapbox.layer.paint.circle- + radius). Has an effect only when `type` is set to + "circle". + + Returns + ------- + Circle + """ + super().__init__("circle") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.mapbox.layer.Circle +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.mapbox.layer.Circle`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("radius", arg, radius) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/_fill.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/_fill.py new file mode 100644 index 0000000..d7ae63c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/_fill.py @@ -0,0 +1,86 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Fill(_BaseLayoutHierarchyType): + _parent_path_str = "layout.mapbox.layer" + _path_str = "layout.mapbox.layer.fill" + _valid_props = {"outlinecolor"} + + @property + def outlinecolor(self): + """ + Sets the fill outline color (mapbox.layer.paint.fill-outline- + color). Has an effect only when `type` is set to "fill". + + The 'outlinecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["outlinecolor"] + + @outlinecolor.setter + def outlinecolor(self, val): + self["outlinecolor"] = val + + @property + def _prop_descriptions(self): + return """\ + outlinecolor + Sets the fill outline color (mapbox.layer.paint.fill- + outline-color). Has an effect only when `type` is set + to "fill". + """ + + def __init__(self, arg=None, outlinecolor=None, **kwargs): + """ + Construct a new Fill object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.mapbox.layer.Fill` + outlinecolor + Sets the fill outline color (mapbox.layer.paint.fill- + outline-color). Has an effect only when `type` is set + to "fill". + + Returns + ------- + Fill + """ + super().__init__("fill") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.mapbox.layer.Fill +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.mapbox.layer.Fill`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("outlinecolor", arg, outlinecolor) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/_line.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/_line.py new file mode 100644 index 0000000..1ca3ca3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/_line.py @@ -0,0 +1,133 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Line(_BaseLayoutHierarchyType): + _parent_path_str = "layout.mapbox.layer" + _path_str = "layout.mapbox.layer.line" + _valid_props = {"dash", "dashsrc", "width"} + + @property + def dash(self): + """ + Sets the length of dashes and gaps (mapbox.layer.paint.line- + dasharray). Has an effect only when `type` is set to "line". + + The 'dash' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["dash"] + + @dash.setter + def dash(self, val): + self["dash"] = val + + @property + def dashsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `dash`. + + The 'dashsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["dashsrc"] + + @dashsrc.setter + def dashsrc(self, val): + self["dashsrc"] = val + + @property + def width(self): + """ + Sets the line width (mapbox.layer.paint.line-width). Has an + effect only when `type` is set to "line". + + The 'width' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["width"] + + @width.setter + def width(self, val): + self["width"] = val + + @property + def _prop_descriptions(self): + return """\ + dash + Sets the length of dashes and gaps + (mapbox.layer.paint.line-dasharray). Has an effect only + when `type` is set to "line". + dashsrc + Sets the source reference on Chart Studio Cloud for + `dash`. + width + Sets the line width (mapbox.layer.paint.line-width). + Has an effect only when `type` is set to "line". + """ + + def __init__(self, arg=None, dash=None, dashsrc=None, width=None, **kwargs): + """ + Construct a new Line object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.mapbox.layer.Line` + dash + Sets the length of dashes and gaps + (mapbox.layer.paint.line-dasharray). Has an effect only + when `type` is set to "line". + dashsrc + Sets the source reference on Chart Studio Cloud for + `dash`. + width + Sets the line width (mapbox.layer.paint.line-width). + Has an effect only when `type` is set to "line". + + Returns + ------- + Line + """ + super().__init__("line") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.mapbox.layer.Line +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.mapbox.layer.Line`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dash", arg, dash) + self._set_property("dashsrc", arg, dashsrc) + self._set_property("width", arg, width) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/_symbol.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/_symbol.py new file mode 100644 index 0000000..506e36a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/_symbol.py @@ -0,0 +1,245 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Symbol(_BaseLayoutHierarchyType): + _parent_path_str = "layout.mapbox.layer" + _path_str = "layout.mapbox.layer.symbol" + _valid_props = {"icon", "iconsize", "placement", "text", "textfont", "textposition"} + + @property + def icon(self): + """ + Sets the symbol icon image (mapbox.layer.layout.icon-image). + Full list: https://www.mapbox.com/maki-icons/ + + The 'icon' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["icon"] + + @icon.setter + def icon(self, val): + self["icon"] = val + + @property + def iconsize(self): + """ + Sets the symbol icon size (mapbox.layer.layout.icon-size). Has + an effect only when `type` is set to "symbol". + + The 'iconsize' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["iconsize"] + + @iconsize.setter + def iconsize(self, val): + self["iconsize"] = val + + @property + def placement(self): + """ + Sets the symbol and/or text placement + (mapbox.layer.layout.symbol-placement). If `placement` is + "point", the label is placed where the geometry is located If + `placement` is "line", the label is placed along the line of + the geometry If `placement` is "line-center", the label is + placed on the center of the geometry + + The 'placement' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['point', 'line', 'line-center'] + + Returns + ------- + Any + """ + return self["placement"] + + @placement.setter + def placement(self, val): + self["placement"] = val + + @property + def text(self): + """ + Sets the symbol text (mapbox.layer.layout.text-field). + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def textfont(self): + """ + Sets the icon text font (color=mapbox.layer.paint.text-color, + size=mapbox.layer.layout.text-size). Has an effect only when + `type` is set to "symbol". + + The 'textfont' property is an instance of Textfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.mapbox.layer.symbol.Textfont` + - A dict of string/value properties that will be passed + to the Textfont constructor + + Returns + ------- + plotly.graph_objs.layout.mapbox.layer.symbol.Textfont + """ + return self["textfont"] + + @textfont.setter + def textfont(self, val): + self["textfont"] = val + + @property + def textposition(self): + """ + Sets the positions of the `text` elements with respects to the + (x,y) coordinates. + + The 'textposition' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top left', 'top center', 'top right', 'middle left', + 'middle center', 'middle right', 'bottom left', 'bottom + center', 'bottom right'] + + Returns + ------- + Any + """ + return self["textposition"] + + @textposition.setter + def textposition(self, val): + self["textposition"] = val + + @property + def _prop_descriptions(self): + return """\ + icon + Sets the symbol icon image (mapbox.layer.layout.icon- + image). Full list: https://www.mapbox.com/maki-icons/ + iconsize + Sets the symbol icon size (mapbox.layer.layout.icon- + size). Has an effect only when `type` is set to + "symbol". + placement + Sets the symbol and/or text placement + (mapbox.layer.layout.symbol-placement). If `placement` + is "point", the label is placed where the geometry is + located If `placement` is "line", the label is placed + along the line of the geometry If `placement` is "line- + center", the label is placed on the center of the + geometry + text + Sets the symbol text (mapbox.layer.layout.text-field). + textfont + Sets the icon text font (color=mapbox.layer.paint.text- + color, size=mapbox.layer.layout.text-size). Has an + effect only when `type` is set to "symbol". + textposition + Sets the positions of the `text` elements with respects + to the (x,y) coordinates. + """ + + def __init__( + self, + arg=None, + icon=None, + iconsize=None, + placement=None, + text=None, + textfont=None, + textposition=None, + **kwargs, + ): + """ + Construct a new Symbol object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.mapbox.layer.Symbol` + icon + Sets the symbol icon image (mapbox.layer.layout.icon- + image). Full list: https://www.mapbox.com/maki-icons/ + iconsize + Sets the symbol icon size (mapbox.layer.layout.icon- + size). Has an effect only when `type` is set to + "symbol". + placement + Sets the symbol and/or text placement + (mapbox.layer.layout.symbol-placement). If `placement` + is "point", the label is placed where the geometry is + located If `placement` is "line", the label is placed + along the line of the geometry If `placement` is "line- + center", the label is placed on the center of the + geometry + text + Sets the symbol text (mapbox.layer.layout.text-field). + textfont + Sets the icon text font (color=mapbox.layer.paint.text- + color, size=mapbox.layer.layout.text-size). Has an + effect only when `type` is set to "symbol". + textposition + Sets the positions of the `text` elements with respects + to the (x,y) coordinates. + + Returns + ------- + Symbol + """ + super().__init__("symbol") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.mapbox.layer.Symbol +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.mapbox.layer.Symbol`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("icon", arg, icon) + self._set_property("iconsize", arg, iconsize) + self._set_property("placement", arg, placement) + self._set_property("text", arg, text) + self._set_property("textfont", arg, textfont) + self._set_property("textposition", arg, textposition) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/symbol/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/symbol/__init__.py new file mode 100644 index 0000000..a713099 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/symbol/__init__.py @@ -0,0 +1,11 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._textfont import Textfont +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [], ["._textfont.Textfont"] + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py new file mode 100644 index 0000000..473535e --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/mapbox/layer/symbol/_textfont.py @@ -0,0 +1,202 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Textfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.mapbox.layer.symbol" + _path_str = "layout.mapbox.layer.symbol.textfont" + _valid_props = {"color", "family", "size", "style", "weight"} + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + size=None, + style=None, + weight=None, + **kwargs, + ): + """ + Construct a new Textfont object + + Sets the icon text font (color=mapbox.layer.paint.text-color, + size=mapbox.layer.layout.text-size). Has an effect only when + `type` is set to "symbol". + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.mapbox. + layer.symbol.Textfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Textfont + """ + super().__init__("textfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.mapbox.layer.symbol.Textfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.mapbox.layer.symbol.Textfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newselection/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newselection/__init__.py new file mode 100644 index 0000000..33e42c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newselection/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._line import Line +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._line.Line"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newselection/_line.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newselection/_line.py new file mode 100644 index 0000000..b7d6420 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newselection/_line.py @@ -0,0 +1,142 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Line(_BaseLayoutHierarchyType): + _parent_path_str = "layout.newselection" + _path_str = "layout.newselection.line" + _valid_props = {"color", "dash", "width"} + + @property + def color(self): + """ + Sets the line color. By default uses either dark grey or white + to increase contrast with background color. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def dash(self): + """ + 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"). + + The 'dash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["dash"] + + @dash.setter + def dash(self, val): + self["dash"] = val + + @property + def width(self): + """ + Sets the line width (in px). + + The 'width' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["width"] + + @width.setter + def width(self, val): + self["width"] = val + + @property + def _prop_descriptions(self): + return """\ + color + Sets the line color. By default uses either dark grey + or white to increase contrast with background color. + dash + 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"). + width + Sets the line width (in px). + """ + + def __init__(self, arg=None, color=None, dash=None, width=None, **kwargs): + """ + Construct a new Line object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.newselection.Line` + color + Sets the line color. By default uses either dark grey + or white to increase contrast with background color. + dash + 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"). + width + Sets the line width (in px). + + Returns + ------- + Line + """ + super().__init__("line") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.newselection.Line +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.newselection.Line`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("dash", arg, dash) + self._set_property("width", arg, width) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/__init__.py new file mode 100644 index 0000000..9192b99 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/__init__.py @@ -0,0 +1,17 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._label import Label + from ._legendgrouptitle import Legendgrouptitle + from ._line import Line + from . import label + from . import legendgrouptitle +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".label", ".legendgrouptitle"], + ["._label.Label", "._legendgrouptitle.Legendgrouptitle", "._line.Line"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/_label.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/_label.py new file mode 100644 index 0000000..419a6a0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/_label.py @@ -0,0 +1,397 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Label(_BaseLayoutHierarchyType): + _parent_path_str = "layout.newshape" + _path_str = "layout.newshape.label" + _valid_props = { + "font", + "padding", + "text", + "textangle", + "textposition", + "texttemplate", + "xanchor", + "yanchor", + } + + @property + def font(self): + """ + Sets the new shape label text font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.newshape.label.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.newshape.label.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def padding(self): + """ + Sets padding (in px) between edge of label and edge of new + shape. + + The 'padding' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["padding"] + + @padding.setter + def padding(self, val): + self["padding"] = val + + @property + def text(self): + """ + Sets the text to display with the new shape. It is also used + for legend item if `name` is not provided. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def textangle(self): + """ + Sets the angle at which the label text is drawn with respect to + the horizontal. For lines, angle "auto" is the same angle as + the line. For all other shapes, angle "auto" is horizontal. + + The 'textangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["textangle"] + + @textangle.setter + def textangle(self, val): + self["textangle"] = val + + @property + def textposition(self): + """ + Sets the position of the label text relative to the new shape. + Supported values for rectangles, circles and paths are *top + left*, *top center*, *top right*, *middle left*, *middle + center*, *middle right*, *bottom left*, *bottom center*, and + *bottom right*. Supported values for lines are "start", + "middle", and "end". Default: *middle center* for rectangles, + circles, and paths; "middle" for lines. + + The 'textposition' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top left', 'top center', 'top right', 'middle left', + 'middle center', 'middle right', 'bottom left', 'bottom + center', 'bottom right', 'start', 'middle', 'end'] + + Returns + ------- + Any + """ + return self["textposition"] + + @textposition.setter + def textposition(self, val): + self["textposition"] = val + + @property + def texttemplate(self): + """ + Template string used for rendering the new shape's label. Note + that this will override `text`. Variables are inserted using + %{variable}, for example "x0: %{x0}". Numbers are formatted + using d3-format's syntax %{variable:d3-format}, for example + "Price: %{x0:$.2f}". See + https://github.com/d3/d3-format/tree/v1.4.5#d3-format for + details on the formatting syntax. Dates are formatted using + d3-time-format's syntax %{variable|d3-time-format}, for example + "Day: %{x0|%m %b %Y}". See https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format for details on the date + formatting syntax. A single multiplication or division + operation may be applied to numeric variables, and combined + with d3 number formatting, for example "Length in cm: + %{x0*2.54}", "%{slope*60:.1f} meters per second." For log axes, + variable values are given in log units. For date axes, x/y + coordinate variables and center variables use datetimes, while + all other variable values use values in ms. Finally, the + template string has access to variables `x0`, `x1`, `y0`, `y1`, + `slope`, `dx`, `dy`, `width`, `height`, `length`, `xcenter` and + `ycenter`. + + The 'texttemplate' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["texttemplate"] + + @texttemplate.setter + def texttemplate(self, val): + self["texttemplate"] = val + + @property + def xanchor(self): + """ + Sets the label's horizontal position anchor This anchor binds + the specified `textposition` to the "left", "center" or "right" + of the label text. For example, if `textposition` is set to + *top right* and `xanchor` to "right" then the right-most + portion of the label text lines up with the right-most edge of + the new shape. + + The 'xanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'left', 'center', 'right'] + + Returns + ------- + Any + """ + return self["xanchor"] + + @xanchor.setter + def xanchor(self, val): + self["xanchor"] = val + + @property + def yanchor(self): + """ + Sets the label's vertical position anchor This anchor binds the + specified `textposition` to the "top", "middle" or "bottom" of + the label text. For example, if `textposition` is set to *top + right* and `yanchor` to "top" then the top-most portion of the + label text lines up with the top-most edge of the new shape. + + The 'yanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["yanchor"] + + @yanchor.setter + def yanchor(self, val): + self["yanchor"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets the new shape label text font. + padding + Sets padding (in px) between edge of label and edge of + new shape. + text + Sets the text to display with the new shape. It is also + used for legend item if `name` is not provided. + textangle + Sets the angle at which the label text is drawn with + respect to the horizontal. For lines, angle "auto" is + the same angle as the line. For all other shapes, angle + "auto" is horizontal. + textposition + Sets the position of the label text relative to the new + shape. Supported values for rectangles, circles and + paths are *top left*, *top center*, *top right*, + *middle left*, *middle center*, *middle right*, *bottom + left*, *bottom center*, and *bottom right*. Supported + values for lines are "start", "middle", and "end". + Default: *middle center* for rectangles, circles, and + paths; "middle" for lines. + texttemplate + Template string used for rendering the new shape's + label. Note that this will override `text`. Variables + are inserted using %{variable}, for example "x0: + %{x0}". Numbers are formatted using d3-format's syntax + %{variable:d3-format}, for example "Price: %{x0:$.2f}". + See + https://github.com/d3/d3-format/tree/v1.4.5#d3-format + for details on the formatting syntax. Dates are + formatted using d3-time-format's syntax + %{variable|d3-time-format}, for example "Day: %{x0|%m + %b %Y}". See https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format for details on the + date formatting syntax. A single multiplication or + division operation may be applied to numeric variables, + and combined with d3 number formatting, for example + "Length in cm: %{x0*2.54}", "%{slope*60:.1f} meters per + second." For log axes, variable values are given in log + units. For date axes, x/y coordinate variables and + center variables use datetimes, while all other + variable values use values in ms. Finally, the template + string has access to variables `x0`, `x1`, `y0`, `y1`, + `slope`, `dx`, `dy`, `width`, `height`, `length`, + `xcenter` and `ycenter`. + xanchor + Sets the label's horizontal position anchor This anchor + binds the specified `textposition` to the "left", + "center" or "right" of the label text. For example, if + `textposition` is set to *top right* and `xanchor` to + "right" then the right-most portion of the label text + lines up with the right-most edge of the new shape. + yanchor + Sets the label's vertical position anchor This anchor + binds the specified `textposition` to the "top", + "middle" or "bottom" of the label text. For example, if + `textposition` is set to *top right* and `yanchor` to + "top" then the top-most portion of the label text lines + up with the top-most edge of the new shape. + """ + + def __init__( + self, + arg=None, + font=None, + padding=None, + text=None, + textangle=None, + textposition=None, + texttemplate=None, + xanchor=None, + yanchor=None, + **kwargs, + ): + """ + Construct a new Label object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.newshape.Label` + font + Sets the new shape label text font. + padding + Sets padding (in px) between edge of label and edge of + new shape. + text + Sets the text to display with the new shape. It is also + used for legend item if `name` is not provided. + textangle + Sets the angle at which the label text is drawn with + respect to the horizontal. For lines, angle "auto" is + the same angle as the line. For all other shapes, angle + "auto" is horizontal. + textposition + Sets the position of the label text relative to the new + shape. Supported values for rectangles, circles and + paths are *top left*, *top center*, *top right*, + *middle left*, *middle center*, *middle right*, *bottom + left*, *bottom center*, and *bottom right*. Supported + values for lines are "start", "middle", and "end". + Default: *middle center* for rectangles, circles, and + paths; "middle" for lines. + texttemplate + Template string used for rendering the new shape's + label. Note that this will override `text`. Variables + are inserted using %{variable}, for example "x0: + %{x0}". Numbers are formatted using d3-format's syntax + %{variable:d3-format}, for example "Price: %{x0:$.2f}". + See + https://github.com/d3/d3-format/tree/v1.4.5#d3-format + for details on the formatting syntax. Dates are + formatted using d3-time-format's syntax + %{variable|d3-time-format}, for example "Day: %{x0|%m + %b %Y}". See https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format for details on the + date formatting syntax. A single multiplication or + division operation may be applied to numeric variables, + and combined with d3 number formatting, for example + "Length in cm: %{x0*2.54}", "%{slope*60:.1f} meters per + second." For log axes, variable values are given in log + units. For date axes, x/y coordinate variables and + center variables use datetimes, while all other + variable values use values in ms. Finally, the template + string has access to variables `x0`, `x1`, `y0`, `y1`, + `slope`, `dx`, `dy`, `width`, `height`, `length`, + `xcenter` and `ycenter`. + xanchor + Sets the label's horizontal position anchor This anchor + binds the specified `textposition` to the "left", + "center" or "right" of the label text. For example, if + `textposition` is set to *top right* and `xanchor` to + "right" then the right-most portion of the label text + lines up with the right-most edge of the new shape. + yanchor + Sets the label's vertical position anchor This anchor + binds the specified `textposition` to the "top", + "middle" or "bottom" of the label text. For example, if + `textposition` is set to *top right* and `yanchor` to + "top" then the top-most portion of the label text lines + up with the top-most edge of the new shape. + + Returns + ------- + Label + """ + super().__init__("label") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.newshape.Label +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.newshape.Label`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("padding", arg, padding) + self._set_property("text", arg, text) + self._set_property("textangle", arg, textangle) + self._set_property("textposition", arg, textposition) + self._set_property("texttemplate", arg, texttemplate) + self._set_property("xanchor", arg, xanchor) + self._set_property("yanchor", arg, yanchor) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/_legendgrouptitle.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/_legendgrouptitle.py new file mode 100644 index 0000000..00230ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/_legendgrouptitle.py @@ -0,0 +1,104 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Legendgrouptitle(_BaseLayoutHierarchyType): + _parent_path_str = "layout.newshape" + _path_str = "layout.newshape.legendgrouptitle" + _valid_props = {"font", "text"} + + @property + def font(self): + """ + Sets this legend group's title font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.newshape.legendgrouptitle.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.newshape.legendgrouptitle.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def text(self): + """ + Sets the title of the legend group. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets this legend group's title font. + text + Sets the title of the legend group. + """ + + def __init__(self, arg=None, font=None, text=None, **kwargs): + """ + Construct a new Legendgrouptitle object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.newshap + e.Legendgrouptitle` + font + Sets this legend group's title font. + text + Sets the title of the legend group. + + Returns + ------- + Legendgrouptitle + """ + super().__init__("legendgrouptitle") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.newshape.Legendgrouptitle +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.newshape.Legendgrouptitle`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("text", arg, text) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/_line.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/_line.py new file mode 100644 index 0000000..9a679d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/_line.py @@ -0,0 +1,142 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Line(_BaseLayoutHierarchyType): + _parent_path_str = "layout.newshape" + _path_str = "layout.newshape.line" + _valid_props = {"color", "dash", "width"} + + @property + def color(self): + """ + Sets the line color. By default uses either dark grey or white + to increase contrast with background color. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def dash(self): + """ + 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"). + + The 'dash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["dash"] + + @dash.setter + def dash(self, val): + self["dash"] = val + + @property + def width(self): + """ + Sets the line width (in px). + + The 'width' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["width"] + + @width.setter + def width(self, val): + self["width"] = val + + @property + def _prop_descriptions(self): + return """\ + color + Sets the line color. By default uses either dark grey + or white to increase contrast with background color. + dash + 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"). + width + Sets the line width (in px). + """ + + def __init__(self, arg=None, color=None, dash=None, width=None, **kwargs): + """ + Construct a new Line object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.newshape.Line` + color + Sets the line color. By default uses either dark grey + or white to increase contrast with background color. + dash + 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"). + width + Sets the line width (in px). + + Returns + ------- + Line + """ + super().__init__("line") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.newshape.Line +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.newshape.Line`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("dash", arg, dash) + self._set_property("width", arg, width) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/label/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/label/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/label/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/label/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/label/_font.py new file mode 100644 index 0000000..91e49de --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/label/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.newshape.label" + _path_str = "layout.newshape.label.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the new shape label text font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.newshape.label.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.newshape.label.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.newshape.label.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/legendgrouptitle/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/legendgrouptitle/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/legendgrouptitle/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/legendgrouptitle/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/legendgrouptitle/_font.py new file mode 100644 index 0000000..879c619 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/newshape/legendgrouptitle/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.newshape.legendgrouptitle" + _path_str = "layout.newshape.legendgrouptitle.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets this legend group's title font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.newshap + e.legendgrouptitle.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.newshape.legendgrouptitle.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.newshape.legendgrouptitle.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/__init__.py new file mode 100644 index 0000000..b893a6c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/__init__.py @@ -0,0 +1,17 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._angularaxis import AngularAxis + from ._domain import Domain + from ._radialaxis import RadialAxis + from . import angularaxis + from . import radialaxis +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".angularaxis", ".radialaxis"], + ["._angularaxis.AngularAxis", "._domain.Domain", "._radialaxis.RadialAxis"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/_angularaxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/_angularaxis.py new file mode 100644 index 0000000..0dbf891 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/_angularaxis.py @@ -0,0 +1,1776 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class AngularAxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout.polar" + _path_str = "layout.polar.angularaxis" + _valid_props = { + "autotypenumbers", + "categoryarray", + "categoryarraysrc", + "categoryorder", + "color", + "direction", + "dtick", + "exponentformat", + "gridcolor", + "griddash", + "gridwidth", + "hoverformat", + "labelalias", + "layer", + "linecolor", + "linewidth", + "minexponent", + "nticks", + "period", + "rotation", + "separatethousands", + "showexponent", + "showgrid", + "showline", + "showticklabels", + "showtickprefix", + "showticksuffix", + "thetaunit", + "tick0", + "tickangle", + "tickcolor", + "tickfont", + "tickformat", + "tickformatstopdefaults", + "tickformatstops", + "ticklabelstep", + "ticklen", + "tickmode", + "tickprefix", + "ticks", + "ticksuffix", + "ticktext", + "ticktextsrc", + "tickvals", + "tickvalssrc", + "tickwidth", + "type", + "uirevision", + "visible", + } + + @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. Defaults to layout.autotypenumbers. + + 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 + + @property + def categoryarray(self): + """ + Sets the order in which categories on this axis appear. Only + has an effect if `categoryorder` is set to "array". Used with + `categoryorder`. + + The 'categoryarray' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["categoryarray"] + + @categoryarray.setter + def categoryarray(self, val): + self["categoryarray"] = val + + @property + def categoryarraysrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `categoryarray`. + + The 'categoryarraysrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["categoryarraysrc"] + + @categoryarraysrc.setter + def categoryarraysrc(self, val): + self["categoryarraysrc"] = val + + @property + def categoryorder(self): + """ + 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, geometric mean or median + of all the values. + + The 'categoryorder' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['trace', 'category ascending', 'category descending', + 'array', 'total ascending', 'total descending', 'min + ascending', 'min descending', 'max ascending', 'max + descending', 'sum ascending', 'sum descending', 'mean + ascending', 'mean descending', 'geometric mean ascending', + 'geometric mean descending', 'median ascending', 'median + descending'] + + Returns + ------- + Any + """ + return self["categoryorder"] + + @categoryorder.setter + def categoryorder(self, val): + self["categoryorder"] = val + + @property + def color(self): + """ + 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. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def direction(self): + """ + Sets the direction corresponding to positive angles. + + The 'direction' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['counterclockwise', 'clockwise'] + + Returns + ------- + Any + """ + return self["direction"] + + @direction.setter + def direction(self, val): + self["direction"] = val + + @property + def dtick(self): + """ + 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<f>", 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<n>" 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" + + The 'dtick' property accepts values of any type + + Returns + ------- + Any + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def exponentformat(self): + """ + 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. + + The 'exponentformat' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['none', 'e', 'E', 'power', 'SI', 'B'] + + Returns + ------- + Any + """ + return self["exponentformat"] + + @exponentformat.setter + def exponentformat(self, val): + self["exponentformat"] = val + + @property + def gridcolor(self): + """ + Sets the color of the grid lines. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def griddash(self): + """ + 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"). + + The 'griddash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["griddash"] + + @griddash.setter + def griddash(self, val): + self["griddash"] = val + + @property + def gridwidth(self): + """ + Sets the width (in px) of the grid lines. + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def hoverformat(self): + """ + Sets the hover text formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'hoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["hoverformat"] + + @hoverformat.setter + def hoverformat(self, val): + self["hoverformat"] = val + + @property + def labelalias(self): + """ + 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. + + The 'labelalias' property accepts values of any type + + Returns + ------- + Any + """ + return self["labelalias"] + + @labelalias.setter + def labelalias(self, val): + self["labelalias"] = val + + @property + def layer(self): + """ + 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. + + The 'layer' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['above traces', 'below traces'] + + Returns + ------- + Any + """ + return self["layer"] + + @layer.setter + def layer(self, val): + self["layer"] = val + + @property + def linecolor(self): + """ + Sets the axis line color. + + The 'linecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["linecolor"] + + @linecolor.setter + def linecolor(self, val): + self["linecolor"] = val + + @property + def linewidth(self): + """ + Sets the width (in px) of the axis line. + + The 'linewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["linewidth"] + + @linewidth.setter + def linewidth(self, val): + self["linewidth"] = val + + @property + def minexponent(self): + """ + Hide SI prefix for 10^n if |n| is below this number. This only + has an effect when `tickformat` is "SI" or "B". + + The 'minexponent' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["minexponent"] + + @minexponent.setter + def minexponent(self, val): + self["minexponent"] = val + + @property + def nticks(self): + """ + 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". + + The 'nticks' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["nticks"] + + @nticks.setter + def nticks(self, val): + self["nticks"] = val + + @property + def period(self): + """ + Set the angular period. Has an effect only when + `angularaxis.type` is "category". + + The 'period' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["period"] + + @period.setter + def period(self, val): + self["period"] = val + + @property + def rotation(self): + """ + Sets that start position (in degrees) of the angular axis By + default, polar subplots with `direction` set to + "counterclockwise" get a `rotation` of 0 which corresponds to + due East (like what mathematicians prefer). In turn, polar with + `direction` set to "clockwise" get a rotation of 90 which + corresponds to due North (like on a compass), + + The 'rotation' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["rotation"] + + @rotation.setter + def rotation(self, val): + self["rotation"] = val + + @property + def separatethousands(self): + """ + If "true", even 4-digit integers are separated + + The 'separatethousands' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["separatethousands"] + + @separatethousands.setter + def separatethousands(self, val): + self["separatethousands"] = val + + @property + def showexponent(self): + """ + 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. + + The 'showexponent' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showexponent"] + + @showexponent.setter + def showexponent(self, val): + self["showexponent"] = val + + @property + def showgrid(self): + """ + Determines whether or not grid lines are drawn. If True, the + grid lines are drawn at every tick mark. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def showline(self): + """ + Determines whether or not a line bounding this axis is drawn. + + The 'showline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showline"] + + @showline.setter + def showline(self, val): + self["showline"] = val + + @property + def showticklabels(self): + """ + Determines whether or not the tick labels are drawn. + + The 'showticklabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showticklabels"] + + @showticklabels.setter + def showticklabels(self, val): + self["showticklabels"] = val + + @property + def showtickprefix(self): + """ + 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. + + The 'showtickprefix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showtickprefix"] + + @showtickprefix.setter + def showtickprefix(self, val): + self["showtickprefix"] = val + + @property + def showticksuffix(self): + """ + Same as `showtickprefix` but for tick suffixes. + + The 'showticksuffix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showticksuffix"] + + @showticksuffix.setter + def showticksuffix(self, val): + self["showticksuffix"] = val + + @property + def thetaunit(self): + """ + Sets the format unit of the formatted "theta" values. Has an + effect only when `angularaxis.type` is "linear". + + The 'thetaunit' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['radians', 'degrees'] + + Returns + ------- + Any + """ + return self["thetaunit"] + + @thetaunit.setter + def thetaunit(self, val): + self["thetaunit"] = val + + @property + def tick0(self): + """ + 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<f>* (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. + + The 'tick0' property accepts values of any type + + Returns + ------- + Any + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def tickangle(self): + """ + Sets the angle of the tick labels with respect to the + horizontal. For example, a `tickangle` of -90 draws the tick + labels vertically. + + The 'tickangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["tickangle"] + + @tickangle.setter + def tickangle(self, val): + self["tickangle"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def tickfont(self): + """ + Sets the tick font. + + The 'tickfont' property is an instance of Tickfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.polar.angularaxis.Tickfont` + - A dict of string/value properties that will be passed + to the Tickfont constructor + + Returns + ------- + plotly.graph_objs.layout.polar.angularaxis.Tickfont + """ + return self["tickfont"] + + @tickfont.setter + def tickfont(self, val): + self["tickfont"] = val + + @property + def tickformat(self): + """ + Sets the tick label formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'tickformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickformat"] + + @tickformat.setter + def tickformat(self, val): + self["tickformat"] = val + + @property + def tickformatstops(self): + """ + The 'tickformatstops' property is a tuple of instances of + Tickformatstop that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.polar.angularaxis.Tickformatstop + - A list or tuple of dicts of string/value properties that + will be passed to the Tickformatstop constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.polar.angularaxis.Tickformatstop] + """ + return self["tickformatstops"] + + @tickformatstops.setter + def tickformatstops(self, val): + self["tickformatstops"] = val + + @property + def tickformatstopdefaults(self): + """ + When used in a template (as layout.template.layout.polar.angula + raxis.tickformatstopdefaults), sets the default property values + to use for elements of layout.polar.angularaxis.tickformatstops + + The 'tickformatstopdefaults' property is an instance of Tickformatstop + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.polar.angularaxis.Tickformatstop` + - A dict of string/value properties that will be passed + to the Tickformatstop constructor + + Returns + ------- + plotly.graph_objs.layout.polar.angularaxis.Tickformatstop + """ + return self["tickformatstopdefaults"] + + @tickformatstopdefaults.setter + def tickformatstopdefaults(self, val): + self["tickformatstopdefaults"] = val + + @property + def ticklabelstep(self): + """ + 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". + + The 'ticklabelstep' 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["ticklabelstep"] + + @ticklabelstep.setter + def ticklabelstep(self, val): + self["ticklabelstep"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickmode(self): + """ + 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). + + The 'tickmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'linear', 'array'] + + Returns + ------- + Any + """ + return self["tickmode"] + + @tickmode.setter + def tickmode(self, val): + self["tickmode"] = val + + @property + def tickprefix(self): + """ + Sets a tick label prefix. + + The 'tickprefix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickprefix"] + + @tickprefix.setter + def tickprefix(self, val): + self["tickprefix"] = val + + @property + def ticks(self): + """ + 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. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def ticksuffix(self): + """ + Sets a tick label suffix. + + The 'ticksuffix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["ticksuffix"] + + @ticksuffix.setter + def ticksuffix(self, val): + self["ticksuffix"] = val + + @property + def ticktext(self): + """ + Sets the text displayed at the ticks position via `tickvals`. + Only has an effect if `tickmode` is set to "array". Used with + `tickvals`. + + The 'ticktext' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["ticktext"] + + @ticktext.setter + def ticktext(self, val): + self["ticktext"] = val + + @property + def ticktextsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `ticktext`. + + The 'ticktextsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticktextsrc"] + + @ticktextsrc.setter + def ticktextsrc(self, val): + self["ticktextsrc"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. Only has an + effect if `tickmode` is set to "array". Used with `ticktext`. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @property + def type(self): + """ + Sets the angular axis type. If "linear", set `thetaunit` to + determine the unit in which axis value are shown. If *category, + use `period` to set the number of integer coordinates around + polar axis. + + The 'type' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['-', 'linear', 'category'] + + Returns + ------- + Any + """ + return self["type"] + + @type.setter + def type(self, val): + self["type"] = val + + @property + def uirevision(self): + """ + Controls persistence of user-driven changes in axis `rotation`. + Defaults to `polar<N>.uirevision`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @property + def visible(self): + """ + 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 + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def _prop_descriptions(self): + return """\ + 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. + 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, geometric 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. + direction + Sets the direction corresponding to positive angles. + 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<f>", 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<n>" 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. + 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: + https://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" + 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. + minexponent + Hide SI prefix for 10^n if |n| is below this number. + This only has an effect when `tickformat` is "SI" or + "B". + 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". + period + Set the angular period. Has an effect only when + `angularaxis.type` is "category". + rotation + Sets that start position (in degrees) of the angular + axis By default, polar subplots with `direction` set to + "counterclockwise" get a `rotation` of 0 which + corresponds to due East (like what mathematicians + prefer). In turn, polar with `direction` set to + "clockwise" get a rotation of 90 which corresponds to + due North (like on a compass), + separatethousands + If "true", even 4-digit integers are separated + 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. + 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. + thetaunit + Sets the format unit of the formatted "theta" values. + Has an effect only when `angularaxis.type` is "linear". + 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<f>* (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: + https://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.polar.an + gularaxis.Tickformatstop` instances or dicts with + compatible properties + tickformatstopdefaults + When used in a template (as layout.template.layout.pola + r.angularaxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.polar.angularaxis.tickformatstops + 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). + 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. + 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). + type + Sets the angular axis type. If "linear", set + `thetaunit` to determine the unit in which axis value + are shown. If *category, use `period` to set the number + of integer coordinates around polar axis. + uirevision + Controls persistence of user-driven changes in axis + `rotation`. Defaults to `polar<N>.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 + """ + + def __init__( + self, + arg=None, + autotypenumbers=None, + categoryarray=None, + categoryarraysrc=None, + categoryorder=None, + color=None, + direction=None, + dtick=None, + exponentformat=None, + gridcolor=None, + griddash=None, + gridwidth=None, + hoverformat=None, + labelalias=None, + layer=None, + linecolor=None, + linewidth=None, + minexponent=None, + nticks=None, + period=None, + rotation=None, + separatethousands=None, + showexponent=None, + showgrid=None, + showline=None, + showticklabels=None, + showtickprefix=None, + showticksuffix=None, + thetaunit=None, + tick0=None, + tickangle=None, + tickcolor=None, + tickfont=None, + tickformat=None, + tickformatstops=None, + tickformatstopdefaults=None, + ticklabelstep=None, + ticklen=None, + tickmode=None, + tickprefix=None, + ticks=None, + ticksuffix=None, + ticktext=None, + ticktextsrc=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + type=None, + uirevision=None, + visible=None, + **kwargs, + ): + """ + Construct a new AngularAxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.polar.AngularAxis` + 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. + 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, geometric 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. + direction + Sets the direction corresponding to positive angles. + 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<f>", 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<n>" 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. + 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: + https://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" + 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. + minexponent + Hide SI prefix for 10^n if |n| is below this number. + This only has an effect when `tickformat` is "SI" or + "B". + 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". + period + Set the angular period. Has an effect only when + `angularaxis.type` is "category". + rotation + Sets that start position (in degrees) of the angular + axis By default, polar subplots with `direction` set to + "counterclockwise" get a `rotation` of 0 which + corresponds to due East (like what mathematicians + prefer). In turn, polar with `direction` set to + "clockwise" get a rotation of 90 which corresponds to + due North (like on a compass), + separatethousands + If "true", even 4-digit integers are separated + 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. + 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. + thetaunit + Sets the format unit of the formatted "theta" values. + Has an effect only when `angularaxis.type` is "linear". + 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<f>* (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: + https://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.polar.an + gularaxis.Tickformatstop` instances or dicts with + compatible properties + tickformatstopdefaults + When used in a template (as layout.template.layout.pola + r.angularaxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.polar.angularaxis.tickformatstops + 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). + 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. + 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). + type + Sets the angular axis type. If "linear", set + `thetaunit` to determine the unit in which axis value + are shown. If *category, use `period` to set the number + of integer coordinates around polar axis. + uirevision + Controls persistence of user-driven changes in axis + `rotation`. Defaults to `polar<N>.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 + + Returns + ------- + AngularAxis + """ + super().__init__("angularaxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.polar.AngularAxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.polar.AngularAxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("autotypenumbers", arg, autotypenumbers) + self._set_property("categoryarray", arg, categoryarray) + self._set_property("categoryarraysrc", arg, categoryarraysrc) + self._set_property("categoryorder", arg, categoryorder) + self._set_property("color", arg, color) + self._set_property("direction", arg, direction) + self._set_property("dtick", arg, dtick) + self._set_property("exponentformat", arg, exponentformat) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("griddash", arg, griddash) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("hoverformat", arg, hoverformat) + self._set_property("labelalias", arg, labelalias) + self._set_property("layer", arg, layer) + self._set_property("linecolor", arg, linecolor) + self._set_property("linewidth", arg, linewidth) + self._set_property("minexponent", arg, minexponent) + self._set_property("nticks", arg, nticks) + self._set_property("period", arg, period) + self._set_property("rotation", arg, rotation) + self._set_property("separatethousands", arg, separatethousands) + self._set_property("showexponent", arg, showexponent) + self._set_property("showgrid", arg, showgrid) + self._set_property("showline", arg, showline) + self._set_property("showticklabels", arg, showticklabels) + self._set_property("showtickprefix", arg, showtickprefix) + self._set_property("showticksuffix", arg, showticksuffix) + self._set_property("thetaunit", arg, thetaunit) + self._set_property("tick0", arg, tick0) + self._set_property("tickangle", arg, tickangle) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("tickfont", arg, tickfont) + self._set_property("tickformat", arg, tickformat) + self._set_property("tickformatstops", arg, tickformatstops) + self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) + self._set_property("ticklabelstep", arg, ticklabelstep) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickmode", arg, tickmode) + self._set_property("tickprefix", arg, tickprefix) + self._set_property("ticks", arg, ticks) + self._set_property("ticksuffix", arg, ticksuffix) + self._set_property("ticktext", arg, ticktext) + self._set_property("ticktextsrc", arg, ticktextsrc) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._set_property("type", arg, type) + self._set_property("uirevision", arg, uirevision) + self._set_property("visible", arg, visible) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/_domain.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/_domain.py new file mode 100644 index 0000000..0fd15cf --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/_domain.py @@ -0,0 +1,170 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Domain(_BaseLayoutHierarchyType): + _parent_path_str = "layout.polar" + _path_str = "layout.polar.domain" + _valid_props = {"column", "row", "x", "y"} + + @property + def column(self): + """ + If there is a layout grid, use the domain for this column in + the grid for this polar subplot . + + The 'column' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["column"] + + @column.setter + def column(self, val): + self["column"] = val + + @property + def row(self): + """ + If there is a layout grid, use the domain for this row in the + grid for this polar subplot . + + The 'row' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["row"] + + @row.setter + def row(self, val): + self["row"] = val + + @property + def x(self): + """ + Sets the horizontal domain of this polar subplot (in plot + fraction). + + The 'x' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'x[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'x[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def y(self): + """ + Sets the vertical domain of this polar subplot (in plot + fraction). + + The 'y' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'y[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'y[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def _prop_descriptions(self): + return """\ + column + If there is a layout grid, use the domain for this + column in the grid for this polar subplot . + row + If there is a layout grid, use the domain for this row + in the grid for this polar subplot . + x + Sets the horizontal domain of this polar subplot (in + plot fraction). + y + Sets the vertical domain of this polar subplot (in plot + fraction). + """ + + def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): + """ + Construct a new Domain object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.polar.Domain` + column + If there is a layout grid, use the domain for this + column in the grid for this polar subplot . + row + If there is a layout grid, use the domain for this row + in the grid for this polar subplot . + x + Sets the horizontal domain of this polar subplot (in + plot fraction). + y + Sets the vertical domain of this polar subplot (in plot + fraction). + + Returns + ------- + Domain + """ + super().__init__("domain") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.polar.Domain +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.polar.Domain`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("column", arg, column) + self._set_property("row", arg, row) + self._set_property("x", arg, x) + self._set_property("y", arg, y) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/_radialaxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/_radialaxis.py new file mode 100644 index 0000000..aa5bfd5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/_radialaxis.py @@ -0,0 +1,2049 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class RadialAxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout.polar" + _path_str = "layout.polar.radialaxis" + _valid_props = { + "angle", + "autorange", + "autorangeoptions", + "autotickangles", + "autotypenumbers", + "calendar", + "categoryarray", + "categoryarraysrc", + "categoryorder", + "color", + "dtick", + "exponentformat", + "gridcolor", + "griddash", + "gridwidth", + "hoverformat", + "labelalias", + "layer", + "linecolor", + "linewidth", + "maxallowed", + "minallowed", + "minexponent", + "nticks", + "range", + "rangemode", + "separatethousands", + "showexponent", + "showgrid", + "showline", + "showticklabels", + "showtickprefix", + "showticksuffix", + "side", + "tick0", + "tickangle", + "tickcolor", + "tickfont", + "tickformat", + "tickformatstopdefaults", + "tickformatstops", + "ticklabelstep", + "ticklen", + "tickmode", + "tickprefix", + "ticks", + "ticksuffix", + "ticktext", + "ticktextsrc", + "tickvals", + "tickvalssrc", + "tickwidth", + "title", + "type", + "uirevision", + "visible", + } + + @property + def angle(self): + """ + Sets the angle (in degrees) from which the radial axis is + drawn. Note that by default, radial axis line on the theta=0 + line corresponds to a line pointing right (like what + mathematicians prefer). Defaults to the first `polar.sector` + angle. + + The 'angle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["angle"] + + @angle.setter + def angle(self, val): + self["angle"] = val + + @property + def autorange(self): + """ + 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. + + The 'autorange' property is an enumeration that may be specified as: + - One of the following enumeration values: + [True, False, 'reversed', 'min reversed', 'max reversed', + 'min', 'max'] + + Returns + ------- + Any + """ + return self["autorange"] + + @autorange.setter + def autorange(self, val): + self["autorange"] = val + + @property + def autorangeoptions(self): + """ + The 'autorangeoptions' property is an instance of Autorangeoptions + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.polar.radialaxis.Autorangeoptions` + - A dict of string/value properties that will be passed + to the Autorangeoptions constructor + + Returns + ------- + plotly.graph_objs.layout.polar.radialaxis.Autorangeoptions + """ + return self["autorangeoptions"] + + @autorangeoptions.setter + def autorangeoptions(self, val): + self["autorangeoptions"] = val + + @property + def autotickangles(self): + """ + When `tickangle` is set to "auto", it will be set to the first + angle in this array that is large enough to prevent label + overlap. + + The 'autotickangles' property is an info array that may be specified as: + * a list of elements where: + The 'autotickangles[i]' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + list + """ + return self["autotickangles"] + + @autotickangles.setter + def autotickangles(self, val): + self["autotickangles"] = val + + @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. Defaults to layout.autotypenumbers. + + 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 + + @property + def calendar(self): + """ + 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` + + 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 + + @property + def categoryarray(self): + """ + Sets the order in which categories on this axis appear. Only + has an effect if `categoryorder` is set to "array". Used with + `categoryorder`. + + The 'categoryarray' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["categoryarray"] + + @categoryarray.setter + def categoryarray(self, val): + self["categoryarray"] = val + + @property + def categoryarraysrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `categoryarray`. + + The 'categoryarraysrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["categoryarraysrc"] + + @categoryarraysrc.setter + def categoryarraysrc(self, val): + self["categoryarraysrc"] = val + + @property + def categoryorder(self): + """ + 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, geometric mean or median + of all the values. + + The 'categoryorder' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['trace', 'category ascending', 'category descending', + 'array', 'total ascending', 'total descending', 'min + ascending', 'min descending', 'max ascending', 'max + descending', 'sum ascending', 'sum descending', 'mean + ascending', 'mean descending', 'geometric mean ascending', + 'geometric mean descending', 'median ascending', 'median + descending'] + + Returns + ------- + Any + """ + return self["categoryorder"] + + @categoryorder.setter + def categoryorder(self, val): + self["categoryorder"] = val + + @property + def color(self): + """ + 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. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def dtick(self): + """ + 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<f>", 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<n>" 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" + + The 'dtick' property accepts values of any type + + Returns + ------- + Any + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def exponentformat(self): + """ + 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. + + The 'exponentformat' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['none', 'e', 'E', 'power', 'SI', 'B'] + + Returns + ------- + Any + """ + return self["exponentformat"] + + @exponentformat.setter + def exponentformat(self, val): + self["exponentformat"] = val + + @property + def gridcolor(self): + """ + Sets the color of the grid lines. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def griddash(self): + """ + 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"). + + The 'griddash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["griddash"] + + @griddash.setter + def griddash(self, val): + self["griddash"] = val + + @property + def gridwidth(self): + """ + Sets the width (in px) of the grid lines. + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def hoverformat(self): + """ + Sets the hover text formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'hoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["hoverformat"] + + @hoverformat.setter + def hoverformat(self, val): + self["hoverformat"] = val + + @property + def labelalias(self): + """ + 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. + + The 'labelalias' property accepts values of any type + + Returns + ------- + Any + """ + return self["labelalias"] + + @labelalias.setter + def labelalias(self, val): + self["labelalias"] = val + + @property + def layer(self): + """ + 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. + + The 'layer' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['above traces', 'below traces'] + + Returns + ------- + Any + """ + return self["layer"] + + @layer.setter + def layer(self, val): + self["layer"] = val + + @property + def linecolor(self): + """ + Sets the axis line color. + + The 'linecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["linecolor"] + + @linecolor.setter + def linecolor(self, val): + self["linecolor"] = val + + @property + def linewidth(self): + """ + Sets the width (in px) of the axis line. + + The 'linewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["linewidth"] + + @linewidth.setter + def linewidth(self, val): + self["linewidth"] = val + + @property + def maxallowed(self): + """ + Determines the maximum range of this axis. + + The 'maxallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["maxallowed"] + + @maxallowed.setter + def maxallowed(self, val): + self["maxallowed"] = val + + @property + def minallowed(self): + """ + Determines the minimum range of this axis. + + The 'minallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["minallowed"] + + @minallowed.setter + def minallowed(self, val): + self["minallowed"] = val + + @property + def minexponent(self): + """ + Hide SI prefix for 10^n if |n| is below this number. This only + has an effect when `tickformat` is "SI" or "B". + + The 'minexponent' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["minexponent"] + + @minexponent.setter + def minexponent(self, val): + self["minexponent"] = val + + @property + def nticks(self): + """ + 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". + + The 'nticks' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["nticks"] + + @nticks.setter + def nticks(self, val): + self["nticks"] = val + + @property + def range(self): + """ + 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`. + + The 'range' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'range[0]' property accepts values of any type + (1) The 'range[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["range"] + + @range.setter + def range(self, val): + self["range"] = val + + @property + def rangemode(self): + """ + If "tozero", the range extends to 0, regardless of the input + data If "nonnegative", the range is non-negative, regardless of + the input data. If "normal", the range is computed in relation + to the extrema of the input data (same behavior as for + cartesian axes). + + The 'rangemode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['tozero', 'nonnegative', 'normal'] + + Returns + ------- + Any + """ + return self["rangemode"] + + @rangemode.setter + def rangemode(self, val): + self["rangemode"] = val + + @property + def separatethousands(self): + """ + If "true", even 4-digit integers are separated + + The 'separatethousands' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["separatethousands"] + + @separatethousands.setter + def separatethousands(self, val): + self["separatethousands"] = val + + @property + def showexponent(self): + """ + 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. + + The 'showexponent' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showexponent"] + + @showexponent.setter + def showexponent(self, val): + self["showexponent"] = val + + @property + def showgrid(self): + """ + Determines whether or not grid lines are drawn. If True, the + grid lines are drawn at every tick mark. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def showline(self): + """ + Determines whether or not a line bounding this axis is drawn. + + The 'showline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showline"] + + @showline.setter + def showline(self, val): + self["showline"] = val + + @property + def showticklabels(self): + """ + Determines whether or not the tick labels are drawn. + + The 'showticklabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showticklabels"] + + @showticklabels.setter + def showticklabels(self, val): + self["showticklabels"] = val + + @property + def showtickprefix(self): + """ + 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. + + The 'showtickprefix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showtickprefix"] + + @showtickprefix.setter + def showtickprefix(self, val): + self["showtickprefix"] = val + + @property + def showticksuffix(self): + """ + Same as `showtickprefix` but for tick suffixes. + + The 'showticksuffix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showticksuffix"] + + @showticksuffix.setter + def showticksuffix(self, val): + self["showticksuffix"] = val + + @property + def side(self): + """ + Determines on which side of radial axis line the tick and tick + labels appear. + + The 'side' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['clockwise', 'counterclockwise'] + + Returns + ------- + Any + """ + return self["side"] + + @side.setter + def side(self, val): + self["side"] = val + + @property + def tick0(self): + """ + 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<f>* (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. + + The 'tick0' property accepts values of any type + + Returns + ------- + Any + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def tickangle(self): + """ + Sets the angle of the tick labels with respect to the + horizontal. For example, a `tickangle` of -90 draws the tick + labels vertically. + + The 'tickangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["tickangle"] + + @tickangle.setter + def tickangle(self, val): + self["tickangle"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def tickfont(self): + """ + Sets the tick font. + + The 'tickfont' property is an instance of Tickfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.polar.radialaxis.Tickfont` + - A dict of string/value properties that will be passed + to the Tickfont constructor + + Returns + ------- + plotly.graph_objs.layout.polar.radialaxis.Tickfont + """ + return self["tickfont"] + + @tickfont.setter + def tickfont(self, val): + self["tickfont"] = val + + @property + def tickformat(self): + """ + Sets the tick label formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'tickformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickformat"] + + @tickformat.setter + def tickformat(self, val): + self["tickformat"] = val + + @property + def tickformatstops(self): + """ + The 'tickformatstops' property is a tuple of instances of + Tickformatstop that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.polar.radialaxis.Tickformatstop + - A list or tuple of dicts of string/value properties that + will be passed to the Tickformatstop constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.polar.radialaxis.Tickformatstop] + """ + return self["tickformatstops"] + + @tickformatstops.setter + def tickformatstops(self, val): + self["tickformatstops"] = val + + @property + def tickformatstopdefaults(self): + """ + When used in a template (as layout.template.layout.polar.radial + axis.tickformatstopdefaults), sets the default property values + to use for elements of layout.polar.radialaxis.tickformatstops + + The 'tickformatstopdefaults' property is an instance of Tickformatstop + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.polar.radialaxis.Tickformatstop` + - A dict of string/value properties that will be passed + to the Tickformatstop constructor + + Returns + ------- + plotly.graph_objs.layout.polar.radialaxis.Tickformatstop + """ + return self["tickformatstopdefaults"] + + @tickformatstopdefaults.setter + def tickformatstopdefaults(self, val): + self["tickformatstopdefaults"] = val + + @property + def ticklabelstep(self): + """ + 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". + + The 'ticklabelstep' 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["ticklabelstep"] + + @ticklabelstep.setter + def ticklabelstep(self, val): + self["ticklabelstep"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickmode(self): + """ + 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). + + The 'tickmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'linear', 'array'] + + Returns + ------- + Any + """ + return self["tickmode"] + + @tickmode.setter + def tickmode(self, val): + self["tickmode"] = val + + @property + def tickprefix(self): + """ + Sets a tick label prefix. + + The 'tickprefix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickprefix"] + + @tickprefix.setter + def tickprefix(self, val): + self["tickprefix"] = val + + @property + def ticks(self): + """ + 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. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def ticksuffix(self): + """ + Sets a tick label suffix. + + The 'ticksuffix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["ticksuffix"] + + @ticksuffix.setter + def ticksuffix(self, val): + self["ticksuffix"] = val + + @property + def ticktext(self): + """ + Sets the text displayed at the ticks position via `tickvals`. + Only has an effect if `tickmode` is set to "array". Used with + `tickvals`. + + The 'ticktext' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["ticktext"] + + @ticktext.setter + def ticktext(self, val): + self["ticktext"] = val + + @property + def ticktextsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `ticktext`. + + The 'ticktextsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticktextsrc"] + + @ticktextsrc.setter + def ticktextsrc(self, val): + self["ticktextsrc"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. Only has an + effect if `tickmode` is set to "array". Used with `ticktext`. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @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.polar.radialaxis.Title` + - A dict of string/value properties that will be passed + to the Title constructor + + Returns + ------- + plotly.graph_objs.layout.polar.radialaxis.Title + """ + return self["title"] + + @title.setter + def title(self, val): + self["title"] = val + + @property + def type(self): + """ + 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. + + The 'type' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['-', 'linear', 'log', 'date', 'category'] + + Returns + ------- + Any + """ + return self["type"] + + @type.setter + def type(self, val): + self["type"] = val + + @property + def uirevision(self): + """ + Controls persistence of user-driven changes in axis `range`, + `autorange`, `angle`, and `title` if in `editable: true` + configuration. Defaults to `polar<N>.uirevision`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @property + def visible(self): + """ + 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 + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def _prop_descriptions(self): + return """\ + angle + Sets the angle (in degrees) from which the radial axis + is drawn. Note that by default, radial axis line on the + theta=0 line corresponds to a line pointing right (like + what mathematicians prefer). Defaults to the first + `polar.sector` angle. + 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.polar.radialaxis.Au + torangeoptions` instance or dict with compatible + properties + autotickangles + When `tickangle` is set to "auto", it will be set to + the first angle in this array that is large enough to + prevent label overlap. + 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, geometric 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. + 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<f>", 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<n>" 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. + 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: + https://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" + 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. + 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". + 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". + 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`. + rangemode + If "tozero", the range extends to 0, regardless of the + input data If "nonnegative", the range is non-negative, + regardless of the input data. If "normal", the range is + computed in relation to the extrema of the input data + (same behavior as for cartesian axes). + separatethousands + If "true", even 4-digit integers are separated + 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. + 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 on which side of radial axis line the tick + and tick labels appear. + 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<f>* (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: + https://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.polar.ra + dialaxis.Tickformatstop` instances or dicts with + compatible properties + tickformatstopdefaults + When used in a template (as layout.template.layout.pola + r.radialaxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.polar.radialaxis.tickformatstops + 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). + 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. + 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.polar.radialaxis.Ti + tle` instance or dict with compatible properties + 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`, `angle`, and `title` if in + `editable: true` configuration. Defaults to + `polar<N>.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 + """ + + def __init__( + self, + arg=None, + angle=None, + autorange=None, + autorangeoptions=None, + autotickangles=None, + autotypenumbers=None, + calendar=None, + categoryarray=None, + categoryarraysrc=None, + categoryorder=None, + color=None, + dtick=None, + exponentformat=None, + gridcolor=None, + griddash=None, + gridwidth=None, + hoverformat=None, + labelalias=None, + layer=None, + linecolor=None, + linewidth=None, + maxallowed=None, + minallowed=None, + minexponent=None, + nticks=None, + range=None, + rangemode=None, + separatethousands=None, + showexponent=None, + showgrid=None, + showline=None, + showticklabels=None, + showtickprefix=None, + showticksuffix=None, + side=None, + tick0=None, + tickangle=None, + tickcolor=None, + tickfont=None, + tickformat=None, + tickformatstops=None, + tickformatstopdefaults=None, + ticklabelstep=None, + ticklen=None, + tickmode=None, + tickprefix=None, + ticks=None, + ticksuffix=None, + ticktext=None, + ticktextsrc=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + title=None, + type=None, + uirevision=None, + visible=None, + **kwargs, + ): + """ + Construct a new RadialAxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.polar.RadialAxis` + angle + Sets the angle (in degrees) from which the radial axis + is drawn. Note that by default, radial axis line on the + theta=0 line corresponds to a line pointing right (like + what mathematicians prefer). Defaults to the first + `polar.sector` angle. + 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.polar.radialaxis.Au + torangeoptions` instance or dict with compatible + properties + autotickangles + When `tickangle` is set to "auto", it will be set to + the first angle in this array that is large enough to + prevent label overlap. + 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, geometric 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. + 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<f>", 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<n>" 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. + 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: + https://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" + 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. + 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". + 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". + 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`. + rangemode + If "tozero", the range extends to 0, regardless of the + input data If "nonnegative", the range is non-negative, + regardless of the input data. If "normal", the range is + computed in relation to the extrema of the input data + (same behavior as for cartesian axes). + separatethousands + If "true", even 4-digit integers are separated + 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. + 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 on which side of radial axis line the tick + and tick labels appear. + 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<f>* (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: + https://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.polar.ra + dialaxis.Tickformatstop` instances or dicts with + compatible properties + tickformatstopdefaults + When used in a template (as layout.template.layout.pola + r.radialaxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.polar.radialaxis.tickformatstops + 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). + 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. + 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.polar.radialaxis.Ti + tle` instance or dict with compatible properties + 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`, `angle`, and `title` if in + `editable: true` configuration. Defaults to + `polar<N>.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 + + Returns + ------- + RadialAxis + """ + super().__init__("radialaxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.polar.RadialAxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.polar.RadialAxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("angle", arg, angle) + self._set_property("autorange", arg, autorange) + self._set_property("autorangeoptions", arg, autorangeoptions) + self._set_property("autotickangles", arg, autotickangles) + self._set_property("autotypenumbers", arg, autotypenumbers) + self._set_property("calendar", arg, calendar) + self._set_property("categoryarray", arg, categoryarray) + self._set_property("categoryarraysrc", arg, categoryarraysrc) + self._set_property("categoryorder", arg, categoryorder) + self._set_property("color", arg, color) + self._set_property("dtick", arg, dtick) + self._set_property("exponentformat", arg, exponentformat) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("griddash", arg, griddash) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("hoverformat", arg, hoverformat) + self._set_property("labelalias", arg, labelalias) + self._set_property("layer", arg, layer) + self._set_property("linecolor", arg, linecolor) + self._set_property("linewidth", arg, linewidth) + self._set_property("maxallowed", arg, maxallowed) + self._set_property("minallowed", arg, minallowed) + self._set_property("minexponent", arg, minexponent) + self._set_property("nticks", arg, nticks) + self._set_property("range", arg, range) + self._set_property("rangemode", arg, rangemode) + self._set_property("separatethousands", arg, separatethousands) + self._set_property("showexponent", arg, showexponent) + self._set_property("showgrid", arg, showgrid) + self._set_property("showline", arg, showline) + self._set_property("showticklabels", arg, showticklabels) + self._set_property("showtickprefix", arg, showtickprefix) + self._set_property("showticksuffix", arg, showticksuffix) + self._set_property("side", arg, side) + self._set_property("tick0", arg, tick0) + self._set_property("tickangle", arg, tickangle) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("tickfont", arg, tickfont) + self._set_property("tickformat", arg, tickformat) + self._set_property("tickformatstops", arg, tickformatstops) + self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) + self._set_property("ticklabelstep", arg, ticklabelstep) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickmode", arg, tickmode) + self._set_property("tickprefix", arg, tickprefix) + self._set_property("ticks", arg, ticks) + self._set_property("ticksuffix", arg, ticksuffix) + self._set_property("ticktext", arg, ticktext) + self._set_property("ticktextsrc", arg, ticktextsrc) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._set_property("title", arg, title) + self._set_property("type", arg, type) + self._set_property("uirevision", arg, uirevision) + self._set_property("visible", arg, visible) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/angularaxis/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/angularaxis/__init__.py new file mode 100644 index 0000000..1dfbe47 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/angularaxis/__init__.py @@ -0,0 +1,12 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._tickfont import Tickfont + from ._tickformatstop import Tickformatstop +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [], ["._tickfont.Tickfont", "._tickformatstop.Tickformatstop"] + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/angularaxis/_tickfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/angularaxis/_tickfont.py new file mode 100644 index 0000000..d0a6e74 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/angularaxis/_tickfont.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.polar.angularaxis" + _path_str = "layout.polar.angularaxis.tickfont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Tickfont object + + Sets the tick font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.polar.a + ngularaxis.Tickfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Tickfont + """ + super().__init__("tickfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.polar.angularaxis.Tickfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.polar.angularaxis.Tickfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/angularaxis/_tickformatstop.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/angularaxis/_tickformatstop.py new file mode 100644 index 0000000..8142b3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/angularaxis/_tickformatstop.py @@ -0,0 +1,241 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickformatstop(_BaseLayoutHierarchyType): + _parent_path_str = "layout.polar.angularaxis" + _path_str = "layout.polar.angularaxis.tickformatstop" + _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} + + @property + def dtickrange(self): + """ + range [*min*, *max*], where "min", "max" - dtick values which + describe some zoom level, it is possible to omit "min" or "max" + value by passing "null" + + The 'dtickrange' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'dtickrange[0]' property accepts values of any type + (1) The 'dtickrange[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["dtickrange"] + + @dtickrange.setter + def dtickrange(self, val): + self["dtickrange"] = val + + @property + def enabled(self): + """ + Determines whether or not this stop is used. If `false`, this + stop is ignored even within its `dtickrange`. + + The 'enabled' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["enabled"] + + @enabled.setter + def enabled(self, val): + self["enabled"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def value(self): + """ + string - dtickformat for described zoom level, the same as + "tickformat" + + The 'value' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["value"] + + @value.setter + def value(self, val): + self["value"] = val + + @property + def _prop_descriptions(self): + return """\ + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + """ + + def __init__( + self, + arg=None, + dtickrange=None, + enabled=None, + name=None, + templateitemname=None, + value=None, + **kwargs, + ): + """ + Construct a new Tickformatstop object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.polar.a + ngularaxis.Tickformatstop` + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + + Returns + ------- + Tickformatstop + """ + super().__init__("tickformatstops") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.polar.angularaxis.Tickformatstop +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.polar.angularaxis.Tickformatstop`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtickrange", arg, dtickrange) + self._set_property("enabled", arg, enabled) + self._set_property("name", arg, name) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("value", arg, value) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/__init__.py new file mode 100644 index 0000000..d58e980 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/__init__.py @@ -0,0 +1,22 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._autorangeoptions import Autorangeoptions + from ._tickfont import Tickfont + from ._tickformatstop import Tickformatstop + from ._title import Title + from . import title +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".title"], + [ + "._autorangeoptions.Autorangeoptions", + "._tickfont.Tickfont", + "._tickformatstop.Tickformatstop", + "._title.Title", + ], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/_autorangeoptions.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/_autorangeoptions.py new file mode 100644 index 0000000..0c12c55 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/_autorangeoptions.py @@ -0,0 +1,216 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Autorangeoptions(_BaseLayoutHierarchyType): + _parent_path_str = "layout.polar.radialaxis" + _path_str = "layout.polar.radialaxis.autorangeoptions" + _valid_props = { + "clipmax", + "clipmin", + "include", + "includesrc", + "maxallowed", + "minallowed", + } + + @property + def clipmax(self): + """ + Clip autorange maximum if it goes beyond this value. Has no + effect when `autorangeoptions.maxallowed` is provided. + + The 'clipmax' property accepts values of any type + + Returns + ------- + Any + """ + return self["clipmax"] + + @clipmax.setter + def clipmax(self, val): + self["clipmax"] = val + + @property + def clipmin(self): + """ + Clip autorange minimum if it goes beyond this value. Has no + effect when `autorangeoptions.minallowed` is provided. + + The 'clipmin' property accepts values of any type + + Returns + ------- + Any + """ + return self["clipmin"] + + @clipmin.setter + def clipmin(self, val): + self["clipmin"] = val + + @property + def include(self): + """ + Ensure this value is included in autorange. + + The 'include' property accepts values of any type + + Returns + ------- + Any|numpy.ndarray + """ + return self["include"] + + @include.setter + def include(self, val): + self["include"] = val + + @property + def includesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `include`. + + The 'includesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["includesrc"] + + @includesrc.setter + def includesrc(self, val): + self["includesrc"] = val + + @property + def maxallowed(self): + """ + Use this value exactly as autorange maximum. + + The 'maxallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["maxallowed"] + + @maxallowed.setter + def maxallowed(self, val): + self["maxallowed"] = val + + @property + def minallowed(self): + """ + Use this value exactly as autorange minimum. + + The 'minallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["minallowed"] + + @minallowed.setter + def minallowed(self, val): + self["minallowed"] = val + + @property + def _prop_descriptions(self): + return """\ + clipmax + Clip autorange maximum if it goes beyond this value. + Has no effect when `autorangeoptions.maxallowed` is + provided. + clipmin + Clip autorange minimum if it goes beyond this value. + Has no effect when `autorangeoptions.minallowed` is + provided. + include + Ensure this value is included in autorange. + includesrc + Sets the source reference on Chart Studio Cloud for + `include`. + maxallowed + Use this value exactly as autorange maximum. + minallowed + Use this value exactly as autorange minimum. + """ + + def __init__( + self, + arg=None, + clipmax=None, + clipmin=None, + include=None, + includesrc=None, + maxallowed=None, + minallowed=None, + **kwargs, + ): + """ + Construct a new Autorangeoptions object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.polar.r + adialaxis.Autorangeoptions` + clipmax + Clip autorange maximum if it goes beyond this value. + Has no effect when `autorangeoptions.maxallowed` is + provided. + clipmin + Clip autorange minimum if it goes beyond this value. + Has no effect when `autorangeoptions.minallowed` is + provided. + include + Ensure this value is included in autorange. + includesrc + Sets the source reference on Chart Studio Cloud for + `include`. + maxallowed + Use this value exactly as autorange maximum. + minallowed + Use this value exactly as autorange minimum. + + Returns + ------- + Autorangeoptions + """ + super().__init__("autorangeoptions") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.polar.radialaxis.Autorangeoptions +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.polar.radialaxis.Autorangeoptions`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("clipmax", arg, clipmax) + self._set_property("clipmin", arg, clipmin) + self._set_property("include", arg, include) + self._set_property("includesrc", arg, includesrc) + self._set_property("maxallowed", arg, maxallowed) + self._set_property("minallowed", arg, minallowed) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/_tickfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/_tickfont.py new file mode 100644 index 0000000..6be3feb --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/_tickfont.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.polar.radialaxis" + _path_str = "layout.polar.radialaxis.tickfont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Tickfont object + + Sets the tick font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.polar.r + adialaxis.Tickfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Tickfont + """ + super().__init__("tickfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.polar.radialaxis.Tickfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.polar.radialaxis.Tickfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/_tickformatstop.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/_tickformatstop.py new file mode 100644 index 0000000..a2c237a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/_tickformatstop.py @@ -0,0 +1,241 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickformatstop(_BaseLayoutHierarchyType): + _parent_path_str = "layout.polar.radialaxis" + _path_str = "layout.polar.radialaxis.tickformatstop" + _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} + + @property + def dtickrange(self): + """ + range [*min*, *max*], where "min", "max" - dtick values which + describe some zoom level, it is possible to omit "min" or "max" + value by passing "null" + + The 'dtickrange' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'dtickrange[0]' property accepts values of any type + (1) The 'dtickrange[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["dtickrange"] + + @dtickrange.setter + def dtickrange(self, val): + self["dtickrange"] = val + + @property + def enabled(self): + """ + Determines whether or not this stop is used. If `false`, this + stop is ignored even within its `dtickrange`. + + The 'enabled' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["enabled"] + + @enabled.setter + def enabled(self, val): + self["enabled"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def value(self): + """ + string - dtickformat for described zoom level, the same as + "tickformat" + + The 'value' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["value"] + + @value.setter + def value(self, val): + self["value"] = val + + @property + def _prop_descriptions(self): + return """\ + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + """ + + def __init__( + self, + arg=None, + dtickrange=None, + enabled=None, + name=None, + templateitemname=None, + value=None, + **kwargs, + ): + """ + Construct a new Tickformatstop object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.polar.r + adialaxis.Tickformatstop` + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + + Returns + ------- + Tickformatstop + """ + super().__init__("tickformatstops") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.polar.radialaxis.Tickformatstop +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.polar.radialaxis.Tickformatstop`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtickrange", arg, dtickrange) + self._set_property("enabled", arg, enabled) + self._set_property("name", arg, name) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("value", arg, value) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/_title.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/_title.py new file mode 100644 index 0000000..6472d88 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/_title.py @@ -0,0 +1,104 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Title(_BaseLayoutHierarchyType): + _parent_path_str = "layout.polar.radialaxis" + _path_str = "layout.polar.radialaxis.title" + _valid_props = {"font", "text"} + + @property + def font(self): + """ + Sets this axis' title font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.polar.radialaxis.title.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.polar.radialaxis.title.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def text(self): + """ + Sets the title of this axis. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets this axis' title font. + text + Sets the title of this axis. + """ + + def __init__(self, arg=None, font=None, text=None, **kwargs): + """ + Construct a new Title object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.polar.r + adialaxis.Title` + font + Sets this axis' title font. + text + Sets the title of this axis. + + Returns + ------- + Title + """ + super().__init__("title") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.polar.radialaxis.Title +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.polar.radialaxis.Title`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("text", arg, text) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/title/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/title/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/title/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/title/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/title/_font.py new file mode 100644 index 0000000..8a6981f --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/polar/radialaxis/title/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.polar.radialaxis.title" + _path_str = "layout.polar.radialaxis.title.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets this axis' title font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.polar.r + adialaxis.title.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.polar.radialaxis.title.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.polar.radialaxis.title.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/__init__.py new file mode 100644 index 0000000..3b340bf --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/__init__.py @@ -0,0 +1,32 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._annotation import Annotation + from ._aspectratio import Aspectratio + from ._camera import Camera + from ._domain import Domain + from ._xaxis import XAxis + from ._yaxis import YAxis + from ._zaxis import ZAxis + from . import annotation + from . import camera + from . import xaxis + from . import yaxis + from . import zaxis +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".annotation", ".camera", ".xaxis", ".yaxis", ".zaxis"], + [ + "._annotation.Annotation", + "._aspectratio.Aspectratio", + "._camera.Camera", + "._domain.Domain", + "._xaxis.XAxis", + "._yaxis.YAxis", + "._zaxis.ZAxis", + ], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_annotation.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_annotation.py new file mode 100644 index 0000000..341cb4b --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_annotation.py @@ -0,0 +1,1243 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Annotation(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene" + _path_str = "layout.scene.annotation" + _valid_props = { + "align", + "arrowcolor", + "arrowhead", + "arrowside", + "arrowsize", + "arrowwidth", + "ax", + "ay", + "bgcolor", + "bordercolor", + "borderpad", + "borderwidth", + "captureevents", + "font", + "height", + "hoverlabel", + "hovertext", + "name", + "opacity", + "showarrow", + "standoff", + "startarrowhead", + "startarrowsize", + "startstandoff", + "templateitemname", + "text", + "textangle", + "valign", + "visible", + "width", + "x", + "xanchor", + "xshift", + "y", + "yanchor", + "yshift", + "z", + } + + @property + def align(self): + """ + 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 <br> HTML tags) or if an explicit width is + set to override the text width. + + The 'align' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['left', 'center', 'right'] + + Returns + ------- + Any + """ + return self["align"] + + @align.setter + def align(self, val): + self["align"] = val + + @property + def arrowcolor(self): + """ + Sets the color of the annotation arrow. + + The 'arrowcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["arrowcolor"] + + @arrowcolor.setter + def arrowcolor(self, val): + self["arrowcolor"] = val + + @property + def arrowhead(self): + """ + Sets the end annotation arrow head style. + + The 'arrowhead' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 8] + + Returns + ------- + int + """ + return self["arrowhead"] + + @arrowhead.setter + def arrowhead(self, val): + self["arrowhead"] = val + + @property + def arrowside(self): + """ + Sets the annotation arrow head position. + + The 'arrowside' property is a flaglist and may be specified + as a string containing: + - Any combination of ['end', 'start'] joined with '+' characters + (e.g. 'end+start') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["arrowside"] + + @arrowside.setter + def arrowside(self, val): + self["arrowside"] = val + + @property + def arrowsize(self): + """ + 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. + + The 'arrowsize' property is a number and may be specified as: + - An int or float in the interval [0.3, inf] + + Returns + ------- + int|float + """ + return self["arrowsize"] + + @arrowsize.setter + def arrowsize(self, val): + self["arrowsize"] = val + + @property + def arrowwidth(self): + """ + Sets the width (in px) of annotation arrow line. + + The 'arrowwidth' property is a number and may be specified as: + - An int or float in the interval [0.1, inf] + + Returns + ------- + int|float + """ + return self["arrowwidth"] + + @arrowwidth.setter + def arrowwidth(self, val): + self["arrowwidth"] = val + + @property + def ax(self): + """ + Sets the x component of the arrow tail about the arrow head (in + pixels). + + The 'ax' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["ax"] + + @ax.setter + def ax(self, val): + self["ax"] = val + + @property + def ay(self): + """ + Sets the y component of the arrow tail about the arrow head (in + pixels). + + The 'ay' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["ay"] + + @ay.setter + def ay(self, val): + self["ay"] = val + + @property + def bgcolor(self): + """ + Sets the background color of the annotation. + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def bordercolor(self): + """ + Sets the color of the border enclosing the annotation `text`. + + The 'bordercolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bordercolor"] + + @bordercolor.setter + def bordercolor(self, val): + self["bordercolor"] = val + + @property + def borderpad(self): + """ + Sets the padding (in px) between the `text` and the enclosing + border. + + The 'borderpad' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["borderpad"] + + @borderpad.setter + def borderpad(self, val): + self["borderpad"] = val + + @property + def borderwidth(self): + """ + Sets the width (in px) of the border enclosing the annotation + `text`. + + The 'borderwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["borderwidth"] + + @borderwidth.setter + def borderwidth(self, val): + self["borderwidth"] = val + + @property + def captureevents(self): + """ + 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`. + + The 'captureevents' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["captureevents"] + + @captureevents.setter + def captureevents(self, val): + self["captureevents"] = val + + @property + def font(self): + """ + Sets the annotation text font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.annotation.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.scene.annotation.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def height(self): + """ + Sets an explicit height for the text box. null (default) lets + the text set the box height. Taller text will be clipped. + + The 'height' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["height"] + + @height.setter + def height(self, val): + self["height"] = val + + @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.scene.annotation.Hoverlabel` + - A dict of string/value properties that will be passed + to the Hoverlabel constructor + + Returns + ------- + plotly.graph_objs.layout.scene.annotation.Hoverlabel + """ + return self["hoverlabel"] + + @hoverlabel.setter + def hoverlabel(self, val): + self["hoverlabel"] = val + + @property + def hovertext(self): + """ + Sets text to appear when hovering over this annotation. If + omitted or blank, no hover label will appear. + + The 'hovertext' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["hovertext"] + + @hovertext.setter + def hovertext(self, val): + self["hovertext"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def opacity(self): + """ + Sets the opacity of the annotation (text + arrow). + + The 'opacity' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["opacity"] + + @opacity.setter + def opacity(self, val): + self["opacity"] = val + + @property + def showarrow(self): + """ + 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. + + The 'showarrow' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showarrow"] + + @showarrow.setter + def showarrow(self, val): + self["showarrow"] = val + + @property + def standoff(self): + """ + 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. + + The 'standoff' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["standoff"] + + @standoff.setter + def standoff(self, val): + self["standoff"] = val + + @property + def startarrowhead(self): + """ + Sets the start annotation arrow head style. + + The 'startarrowhead' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 8] + + Returns + ------- + int + """ + return self["startarrowhead"] + + @startarrowhead.setter + def startarrowhead(self, val): + self["startarrowhead"] = val + + @property + def startarrowsize(self): + """ + 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. + + The 'startarrowsize' property is a number and may be specified as: + - An int or float in the interval [0.3, inf] + + Returns + ------- + int|float + """ + return self["startarrowsize"] + + @startarrowsize.setter + def startarrowsize(self, val): + self["startarrowsize"] = val + + @property + def startstandoff(self): + """ + 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. + + The 'startstandoff' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["startstandoff"] + + @startstandoff.setter + def startstandoff(self, val): + self["startstandoff"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def text(self): + """ + Sets the text associated with this annotation. Plotly uses a + subset of HTML tags to do things like newline (<br>), bold + (<b></b>), italics (<i></i>), hyperlinks (<a href='...'></a>). + Tags <em>, <sup>, <sub>, <s>, <u> <span> are also supported. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def textangle(self): + """ + Sets the angle at which the `text` is drawn with respect to the + horizontal. + + The 'textangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["textangle"] + + @textangle.setter + def textangle(self, val): + self["textangle"] = val + + @property + def valign(self): + """ + 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. + + The 'valign' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["valign"] + + @valign.setter + def valign(self, val): + self["valign"] = val + + @property + def visible(self): + """ + Determines whether or not this annotation is visible. + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def width(self): + """ + 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 <br> to start a new line. + + The 'width' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["width"] + + @width.setter + def width(self, val): + self["width"] = val + + @property + def x(self): + """ + Sets the annotation's x position. + + The 'x' property accepts values of any type + + Returns + ------- + Any + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def xanchor(self): + """ + 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. + + The 'xanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'left', 'center', 'right'] + + Returns + ------- + Any + """ + return self["xanchor"] + + @xanchor.setter + def xanchor(self, val): + self["xanchor"] = val + + @property + def xshift(self): + """ + Shifts the position of the whole annotation and arrow to the + right (positive) or left (negative) by this many pixels. + + The 'xshift' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["xshift"] + + @xshift.setter + def xshift(self, val): + self["xshift"] = val + + @property + def y(self): + """ + Sets the annotation's y position. + + The 'y' property accepts values of any type + + Returns + ------- + Any + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def yanchor(self): + """ + 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. + + The 'yanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["yanchor"] + + @yanchor.setter + def yanchor(self, val): + self["yanchor"] = val + + @property + def yshift(self): + """ + Shifts the position of the whole annotation and arrow up + (positive) or down (negative) by this many pixels. + + The 'yshift' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["yshift"] + + @yshift.setter + def yshift(self, val): + self["yshift"] = val + + @property + def z(self): + """ + Sets the annotation's z position. + + The 'z' property accepts values of any type + + Returns + ------- + Any + """ + return self["z"] + + @z.setter + def z(self, val): + self["z"] = val + + @property + def _prop_descriptions(self): + return """\ + 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 <br> 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 (in pixels). + ay + Sets the y component of the arrow tail about the arrow + head (in pixels). + 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`. + 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.scene.annotation.Ho + verlabel` 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 + (<br>), bold (<b></b>), italics (<i></i>), hyperlinks + (<a href='...'></a>). Tags <em>, <sup>, <sub>, <s>, <u> + <span> 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 <br> to + start a new line. + x + Sets the annotation's x position. + 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. + 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. + 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. + yshift + Shifts the position of the whole annotation and arrow + up (positive) or down (negative) by this many pixels. + z + Sets the annotation's z position. + """ + + def __init__( + self, + arg=None, + align=None, + arrowcolor=None, + arrowhead=None, + arrowside=None, + arrowsize=None, + arrowwidth=None, + ax=None, + ay=None, + bgcolor=None, + bordercolor=None, + borderpad=None, + borderwidth=None, + captureevents=None, + font=None, + height=None, + hoverlabel=None, + hovertext=None, + name=None, + opacity=None, + showarrow=None, + standoff=None, + startarrowhead=None, + startarrowsize=None, + startstandoff=None, + templateitemname=None, + text=None, + textangle=None, + valign=None, + visible=None, + width=None, + x=None, + xanchor=None, + xshift=None, + y=None, + yanchor=None, + yshift=None, + z=None, + **kwargs, + ): + """ + Construct a new Annotation object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.Annotation` + 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 <br> 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 (in pixels). + ay + Sets the y component of the arrow tail about the arrow + head (in pixels). + 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`. + 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.scene.annotation.Ho + verlabel` 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 + (<br>), bold (<b></b>), italics (<i></i>), hyperlinks + (<a href='...'></a>). Tags <em>, <sup>, <sub>, <s>, <u> + <span> 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 <br> to + start a new line. + x + Sets the annotation's x position. + 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. + 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. + 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. + yshift + Shifts the position of the whole annotation and arrow + up (positive) or down (negative) by this many pixels. + z + Sets the annotation's z position. + + Returns + ------- + Annotation + """ + super().__init__("annotations") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.Annotation +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.Annotation`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("align", arg, align) + self._set_property("arrowcolor", arg, arrowcolor) + self._set_property("arrowhead", arg, arrowhead) + self._set_property("arrowside", arg, arrowside) + self._set_property("arrowsize", arg, arrowsize) + self._set_property("arrowwidth", arg, arrowwidth) + self._set_property("ax", arg, ax) + self._set_property("ay", arg, ay) + self._set_property("bgcolor", arg, bgcolor) + self._set_property("bordercolor", arg, bordercolor) + self._set_property("borderpad", arg, borderpad) + self._set_property("borderwidth", arg, borderwidth) + self._set_property("captureevents", arg, captureevents) + self._set_property("font", arg, font) + self._set_property("height", arg, height) + self._set_property("hoverlabel", arg, hoverlabel) + self._set_property("hovertext", arg, hovertext) + self._set_property("name", arg, name) + self._set_property("opacity", arg, opacity) + self._set_property("showarrow", arg, showarrow) + self._set_property("standoff", arg, standoff) + self._set_property("startarrowhead", arg, startarrowhead) + self._set_property("startarrowsize", arg, startarrowsize) + self._set_property("startstandoff", arg, startstandoff) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("text", arg, text) + self._set_property("textangle", arg, textangle) + self._set_property("valign", arg, valign) + self._set_property("visible", arg, visible) + self._set_property("width", arg, width) + self._set_property("x", arg, x) + self._set_property("xanchor", arg, xanchor) + self._set_property("xshift", arg, xshift) + self._set_property("y", arg, y) + self._set_property("yanchor", arg, yanchor) + self._set_property("yshift", arg, yshift) + self._set_property("z", arg, z) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_aspectratio.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_aspectratio.py new file mode 100644 index 0000000..62e1729 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_aspectratio.py @@ -0,0 +1,119 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Aspectratio(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene" + _path_str = "layout.scene.aspectratio" + _valid_props = {"x", "y", "z"} + + @property + def x(self): + """ + The 'x' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def y(self): + """ + The 'y' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def z(self): + """ + The 'z' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["z"] + + @z.setter + def z(self, val): + self["z"] = val + + @property + def _prop_descriptions(self): + return """\ + x + + y + + z + + """ + + def __init__(self, arg=None, x=None, y=None, z=None, **kwargs): + """ + Construct a new Aspectratio object + + Sets this scene's axis aspectratio. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.Aspectratio` + x + + y + + z + + + Returns + ------- + Aspectratio + """ + super().__init__("aspectratio") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.Aspectratio +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.Aspectratio`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("x", arg, x) + self._set_property("y", arg, y) + self._set_property("z", arg, z) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_camera.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_camera.py new file mode 100644 index 0000000..cd73985 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_camera.py @@ -0,0 +1,183 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Camera(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene" + _path_str = "layout.scene.camera" + _valid_props = {"center", "eye", "projection", "up"} + + @property + def center(self): + """ + Sets the (x,y,z) components of the 'center' camera vector This + vector determines the translation (x,y,z) space about the + center of this scene. By default, there is no such translation. + + The 'center' property is an instance of Center + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.camera.Center` + - A dict of string/value properties that will be passed + to the Center constructor + + Returns + ------- + plotly.graph_objs.layout.scene.camera.Center + """ + return self["center"] + + @center.setter + def center(self, val): + self["center"] = val + + @property + def eye(self): + """ + Sets the (x,y,z) components of the 'eye' camera vector. This + vector determines the view point about the origin of this + scene. + + The 'eye' property is an instance of Eye + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.camera.Eye` + - A dict of string/value properties that will be passed + to the Eye constructor + + Returns + ------- + plotly.graph_objs.layout.scene.camera.Eye + """ + return self["eye"] + + @eye.setter + def eye(self, val): + self["eye"] = val + + @property + def projection(self): + """ + The 'projection' property is an instance of Projection + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.camera.Projection` + - A dict of string/value properties that will be passed + to the Projection constructor + + Returns + ------- + plotly.graph_objs.layout.scene.camera.Projection + """ + return self["projection"] + + @projection.setter + def projection(self, val): + self["projection"] = val + + @property + def up(self): + """ + Sets the (x,y,z) components of the 'up' camera vector. This + vector determines the up direction of this scene with respect + to the page. The default is *{x: 0, y: 0, z: 1}* which means + that the z axis points up. + + The 'up' property is an instance of Up + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.camera.Up` + - A dict of string/value properties that will be passed + to the Up constructor + + Returns + ------- + plotly.graph_objs.layout.scene.camera.Up + """ + return self["up"] + + @up.setter + def up(self, val): + self["up"] = val + + @property + def _prop_descriptions(self): + return """\ + center + Sets the (x,y,z) components of the 'center' camera + vector This vector determines the translation (x,y,z) + space about the center of this scene. By default, there + is no such translation. + eye + Sets the (x,y,z) components of the 'eye' camera vector. + This vector determines the view point about the origin + of this scene. + projection + :class:`plotly.graph_objects.layout.scene.camera.Projec + tion` instance or dict with compatible properties + up + Sets the (x,y,z) components of the 'up' camera vector. + This vector determines the up direction of this scene + with respect to the page. The default is *{x: 0, y: 0, + z: 1}* which means that the z axis points up. + """ + + def __init__( + self, arg=None, center=None, eye=None, projection=None, up=None, **kwargs + ): + """ + Construct a new Camera object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.Camera` + center + Sets the (x,y,z) components of the 'center' camera + vector This vector determines the translation (x,y,z) + space about the center of this scene. By default, there + is no such translation. + eye + Sets the (x,y,z) components of the 'eye' camera vector. + This vector determines the view point about the origin + of this scene. + projection + :class:`plotly.graph_objects.layout.scene.camera.Projec + tion` instance or dict with compatible properties + up + Sets the (x,y,z) components of the 'up' camera vector. + This vector determines the up direction of this scene + with respect to the page. The default is *{x: 0, y: 0, + z: 1}* which means that the z axis points up. + + Returns + ------- + Camera + """ + super().__init__("camera") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.Camera +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.Camera`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("center", arg, center) + self._set_property("eye", arg, eye) + self._set_property("projection", arg, projection) + self._set_property("up", arg, up) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_domain.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_domain.py new file mode 100644 index 0000000..ef03c38 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_domain.py @@ -0,0 +1,170 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Domain(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene" + _path_str = "layout.scene.domain" + _valid_props = {"column", "row", "x", "y"} + + @property + def column(self): + """ + If there is a layout grid, use the domain for this column in + the grid for this scene subplot . + + The 'column' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["column"] + + @column.setter + def column(self, val): + self["column"] = val + + @property + def row(self): + """ + If there is a layout grid, use the domain for this row in the + grid for this scene subplot . + + The 'row' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["row"] + + @row.setter + def row(self, val): + self["row"] = val + + @property + def x(self): + """ + Sets the horizontal domain of this scene subplot (in plot + fraction). + + The 'x' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'x[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'x[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def y(self): + """ + Sets the vertical domain of this scene subplot (in plot + fraction). + + The 'y' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'y[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'y[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def _prop_descriptions(self): + return """\ + column + If there is a layout grid, use the domain for this + column in the grid for this scene subplot . + row + If there is a layout grid, use the domain for this row + in the grid for this scene subplot . + x + Sets the horizontal domain of this scene subplot (in + plot fraction). + y + Sets the vertical domain of this scene subplot (in plot + fraction). + """ + + def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): + """ + Construct a new Domain object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.Domain` + column + If there is a layout grid, use the domain for this + column in the grid for this scene subplot . + row + If there is a layout grid, use the domain for this row + in the grid for this scene subplot . + x + Sets the horizontal domain of this scene subplot (in + plot fraction). + y + Sets the vertical domain of this scene subplot (in plot + fraction). + + Returns + ------- + Domain + """ + super().__init__("domain") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.Domain +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.Domain`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("column", arg, column) + self._set_property("row", arg, row) + self._set_property("x", arg, x) + self._set_property("y", arg, y) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_xaxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_xaxis.py new file mode 100644 index 0000000..3158a2e --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_xaxis.py @@ -0,0 +1,2111 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class XAxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene" + _path_str = "layout.scene.xaxis" + _valid_props = { + "autorange", + "autorangeoptions", + "autotypenumbers", + "backgroundcolor", + "calendar", + "categoryarray", + "categoryarraysrc", + "categoryorder", + "color", + "dtick", + "exponentformat", + "gridcolor", + "gridwidth", + "hoverformat", + "labelalias", + "linecolor", + "linewidth", + "maxallowed", + "minallowed", + "minexponent", + "mirror", + "nticks", + "range", + "rangemode", + "separatethousands", + "showaxeslabels", + "showbackground", + "showexponent", + "showgrid", + "showline", + "showspikes", + "showticklabels", + "showtickprefix", + "showticksuffix", + "spikecolor", + "spikesides", + "spikethickness", + "tick0", + "tickangle", + "tickcolor", + "tickfont", + "tickformat", + "tickformatstopdefaults", + "tickformatstops", + "ticklen", + "tickmode", + "tickprefix", + "ticks", + "ticksuffix", + "ticktext", + "ticktextsrc", + "tickvals", + "tickvalssrc", + "tickwidth", + "title", + "type", + "visible", + "zeroline", + "zerolinecolor", + "zerolinewidth", + } + + @property + def autorange(self): + """ + 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. + + The 'autorange' property is an enumeration that may be specified as: + - One of the following enumeration values: + [True, False, 'reversed', 'min reversed', 'max reversed', + 'min', 'max'] + + Returns + ------- + Any + """ + return self["autorange"] + + @autorange.setter + def autorange(self, val): + self["autorange"] = val + + @property + def autorangeoptions(self): + """ + The 'autorangeoptions' property is an instance of Autorangeoptions + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.xaxis.Autorangeoptions` + - A dict of string/value properties that will be passed + to the Autorangeoptions constructor + + Returns + ------- + plotly.graph_objs.layout.scene.xaxis.Autorangeoptions + """ + return self["autorangeoptions"] + + @autorangeoptions.setter + def autorangeoptions(self, val): + self["autorangeoptions"] = val + + @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. Defaults to layout.autotypenumbers. + + 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 + + @property + def backgroundcolor(self): + """ + Sets the background color of this axis' wall. + + The 'backgroundcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["backgroundcolor"] + + @backgroundcolor.setter + def backgroundcolor(self, val): + self["backgroundcolor"] = val + + @property + def calendar(self): + """ + 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` + + 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 + + @property + def categoryarray(self): + """ + Sets the order in which categories on this axis appear. Only + has an effect if `categoryorder` is set to "array". Used with + `categoryorder`. + + The 'categoryarray' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["categoryarray"] + + @categoryarray.setter + def categoryarray(self, val): + self["categoryarray"] = val + + @property + def categoryarraysrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `categoryarray`. + + The 'categoryarraysrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["categoryarraysrc"] + + @categoryarraysrc.setter + def categoryarraysrc(self, val): + self["categoryarraysrc"] = val + + @property + def categoryorder(self): + """ + 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, geometric mean or median + of all the values. + + The 'categoryorder' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['trace', 'category ascending', 'category descending', + 'array', 'total ascending', 'total descending', 'min + ascending', 'min descending', 'max ascending', 'max + descending', 'sum ascending', 'sum descending', 'mean + ascending', 'mean descending', 'geometric mean ascending', + 'geometric mean descending', 'median ascending', 'median + descending'] + + Returns + ------- + Any + """ + return self["categoryorder"] + + @categoryorder.setter + def categoryorder(self, val): + self["categoryorder"] = val + + @property + def color(self): + """ + 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. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def dtick(self): + """ + 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<f>", 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<n>" 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" + + The 'dtick' property accepts values of any type + + Returns + ------- + Any + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def exponentformat(self): + """ + 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. + + The 'exponentformat' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['none', 'e', 'E', 'power', 'SI', 'B'] + + Returns + ------- + Any + """ + return self["exponentformat"] + + @exponentformat.setter + def exponentformat(self, val): + self["exponentformat"] = val + + @property + def gridcolor(self): + """ + Sets the color of the grid lines. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def gridwidth(self): + """ + Sets the width (in px) of the grid lines. + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def hoverformat(self): + """ + Sets the hover text formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'hoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["hoverformat"] + + @hoverformat.setter + def hoverformat(self, val): + self["hoverformat"] = val + + @property + def labelalias(self): + """ + 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. + + The 'labelalias' property accepts values of any type + + Returns + ------- + Any + """ + return self["labelalias"] + + @labelalias.setter + def labelalias(self, val): + self["labelalias"] = val + + @property + def linecolor(self): + """ + Sets the axis line color. + + The 'linecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["linecolor"] + + @linecolor.setter + def linecolor(self, val): + self["linecolor"] = val + + @property + def linewidth(self): + """ + Sets the width (in px) of the axis line. + + The 'linewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["linewidth"] + + @linewidth.setter + def linewidth(self, val): + self["linewidth"] = val + + @property + def maxallowed(self): + """ + Determines the maximum range of this axis. + + The 'maxallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["maxallowed"] + + @maxallowed.setter + def maxallowed(self, val): + self["maxallowed"] = val + + @property + def minallowed(self): + """ + Determines the minimum range of this axis. + + The 'minallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["minallowed"] + + @minallowed.setter + def minallowed(self, val): + self["minallowed"] = val + + @property + def minexponent(self): + """ + Hide SI prefix for 10^n if |n| is below this number. This only + has an effect when `tickformat` is "SI" or "B". + + The 'minexponent' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["minexponent"] + + @minexponent.setter + def minexponent(self, val): + self["minexponent"] = val + + @property + def mirror(self): + """ + 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. + + The 'mirror' property is an enumeration that may be specified as: + - One of the following enumeration values: + [True, 'ticks', False, 'all', 'allticks'] + + Returns + ------- + Any + """ + return self["mirror"] + + @mirror.setter + def mirror(self, val): + self["mirror"] = val + + @property + def nticks(self): + """ + 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". + + The 'nticks' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["nticks"] + + @nticks.setter + def nticks(self, val): + self["nticks"] = val + + @property + def range(self): + """ + 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`. + + The 'range' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'range[0]' property accepts values of any type + (1) The 'range[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["range"] + + @range.setter + def range(self, val): + self["range"] = val + + @property + def rangemode(self): + """ + 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. + + The 'rangemode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'tozero', 'nonnegative'] + + Returns + ------- + Any + """ + return self["rangemode"] + + @rangemode.setter + def rangemode(self, val): + self["rangemode"] = val + + @property + def separatethousands(self): + """ + If "true", even 4-digit integers are separated + + The 'separatethousands' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["separatethousands"] + + @separatethousands.setter + def separatethousands(self, val): + self["separatethousands"] = val + + @property + def showaxeslabels(self): + """ + Sets whether or not this axis is labeled + + The 'showaxeslabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showaxeslabels"] + + @showaxeslabels.setter + def showaxeslabels(self, val): + self["showaxeslabels"] = val + + @property + def showbackground(self): + """ + Sets whether or not this axis' wall has a background color. + + The 'showbackground' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showbackground"] + + @showbackground.setter + def showbackground(self, val): + self["showbackground"] = val + + @property + def showexponent(self): + """ + 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. + + The 'showexponent' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showexponent"] + + @showexponent.setter + def showexponent(self, val): + self["showexponent"] = val + + @property + def showgrid(self): + """ + Determines whether or not grid lines are drawn. If True, the + grid lines are drawn at every tick mark. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def showline(self): + """ + Determines whether or not a line bounding this axis is drawn. + + The 'showline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showline"] + + @showline.setter + def showline(self, val): + self["showline"] = val + + @property + def showspikes(self): + """ + Sets whether or not spikes starting from data points to this + axis' wall are shown on hover. + + The 'showspikes' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showspikes"] + + @showspikes.setter + def showspikes(self, val): + self["showspikes"] = val + + @property + def showticklabels(self): + """ + Determines whether or not the tick labels are drawn. + + The 'showticklabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showticklabels"] + + @showticklabels.setter + def showticklabels(self, val): + self["showticklabels"] = val + + @property + def showtickprefix(self): + """ + 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. + + The 'showtickprefix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showtickprefix"] + + @showtickprefix.setter + def showtickprefix(self, val): + self["showtickprefix"] = val + + @property + def showticksuffix(self): + """ + Same as `showtickprefix` but for tick suffixes. + + The 'showticksuffix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showticksuffix"] + + @showticksuffix.setter + def showticksuffix(self, val): + self["showticksuffix"] = val + + @property + def spikecolor(self): + """ + Sets the color of the spikes. + + The 'spikecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["spikecolor"] + + @spikecolor.setter + def spikecolor(self, val): + self["spikecolor"] = val + + @property + def spikesides(self): + """ + Sets whether or not spikes extending from the projection data + points to this axis' wall boundaries are shown on hover. + + The 'spikesides' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["spikesides"] + + @spikesides.setter + def spikesides(self, val): + self["spikesides"] = val + + @property + def spikethickness(self): + """ + Sets the thickness (in px) of the spikes. + + The 'spikethickness' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["spikethickness"] + + @spikethickness.setter + def spikethickness(self, val): + self["spikethickness"] = val + + @property + def tick0(self): + """ + 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<f>* (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. + + The 'tick0' property accepts values of any type + + Returns + ------- + Any + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def tickangle(self): + """ + Sets the angle of the tick labels with respect to the + horizontal. For example, a `tickangle` of -90 draws the tick + labels vertically. + + The 'tickangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["tickangle"] + + @tickangle.setter + def tickangle(self, val): + self["tickangle"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def tickfont(self): + """ + Sets the tick font. + + The 'tickfont' property is an instance of Tickfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.xaxis.Tickfont` + - A dict of string/value properties that will be passed + to the Tickfont constructor + + Returns + ------- + plotly.graph_objs.layout.scene.xaxis.Tickfont + """ + return self["tickfont"] + + @tickfont.setter + def tickfont(self, val): + self["tickfont"] = val + + @property + def tickformat(self): + """ + Sets the tick label formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'tickformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickformat"] + + @tickformat.setter + def tickformat(self, val): + self["tickformat"] = val + + @property + def tickformatstops(self): + """ + The 'tickformatstops' property is a tuple of instances of + Tickformatstop that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.scene.xaxis.Tickformatstop + - A list or tuple of dicts of string/value properties that + will be passed to the Tickformatstop constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.scene.xaxis.Tickformatstop] + """ + return self["tickformatstops"] + + @tickformatstops.setter + def tickformatstops(self, val): + self["tickformatstops"] = val + + @property + def tickformatstopdefaults(self): + """ + When used in a template (as + layout.template.layout.scene.xaxis.tickformatstopdefaults), + sets the default property values to use for elements of + layout.scene.xaxis.tickformatstops + + The 'tickformatstopdefaults' property is an instance of Tickformatstop + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.xaxis.Tickformatstop` + - A dict of string/value properties that will be passed + to the Tickformatstop constructor + + Returns + ------- + plotly.graph_objs.layout.scene.xaxis.Tickformatstop + """ + return self["tickformatstopdefaults"] + + @tickformatstopdefaults.setter + def tickformatstopdefaults(self, val): + self["tickformatstopdefaults"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickmode(self): + """ + 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). + + The 'tickmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'linear', 'array'] + + Returns + ------- + Any + """ + return self["tickmode"] + + @tickmode.setter + def tickmode(self, val): + self["tickmode"] = val + + @property + def tickprefix(self): + """ + Sets a tick label prefix. + + The 'tickprefix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickprefix"] + + @tickprefix.setter + def tickprefix(self, val): + self["tickprefix"] = val + + @property + def ticks(self): + """ + 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. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def ticksuffix(self): + """ + Sets a tick label suffix. + + The 'ticksuffix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["ticksuffix"] + + @ticksuffix.setter + def ticksuffix(self, val): + self["ticksuffix"] = val + + @property + def ticktext(self): + """ + Sets the text displayed at the ticks position via `tickvals`. + Only has an effect if `tickmode` is set to "array". Used with + `tickvals`. + + The 'ticktext' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["ticktext"] + + @ticktext.setter + def ticktext(self, val): + self["ticktext"] = val + + @property + def ticktextsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `ticktext`. + + The 'ticktextsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticktextsrc"] + + @ticktextsrc.setter + def ticktextsrc(self, val): + self["ticktextsrc"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. Only has an + effect if `tickmode` is set to "array". Used with `ticktext`. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @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.scene.xaxis.Title` + - A dict of string/value properties that will be passed + to the Title constructor + + Returns + ------- + plotly.graph_objs.layout.scene.xaxis.Title + """ + return self["title"] + + @title.setter + def title(self, val): + self["title"] = val + + @property + def type(self): + """ + 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. + + The 'type' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['-', 'linear', 'log', 'date', 'category'] + + Returns + ------- + Any + """ + return self["type"] + + @type.setter + def type(self, val): + self["type"] = val + + @property + def visible(self): + """ + 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 + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def zeroline(self): + """ + 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. + + The 'zeroline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["zeroline"] + + @zeroline.setter + def zeroline(self, val): + self["zeroline"] = val + + @property + def zerolinecolor(self): + """ + Sets the line color of the zero line. + + The 'zerolinecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["zerolinecolor"] + + @zerolinecolor.setter + def zerolinecolor(self, val): + self["zerolinecolor"] = val + + @property + def zerolinewidth(self): + """ + Sets the width (in px) of the zero line. + + The 'zerolinewidth' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["zerolinewidth"] + + @zerolinewidth.setter + def zerolinewidth(self, val): + self["zerolinewidth"] = val + + @property + def _prop_descriptions(self): + return """\ + 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.scene.xaxis.Autoran + geoptions` 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. + backgroundcolor + Sets the background color of this axis' wall. + 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, geometric 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. + 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<f>", 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<n>" 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. + gridcolor + Sets the color of the grid lines. + 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: + https://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" + 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. + linecolor + Sets the axis line color. + linewidth + Sets the width (in px) of the axis line. + 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". + 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". + 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`. + 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. + separatethousands + If "true", even 4-digit integers are separated + showaxeslabels + Sets whether or not this axis is labeled + showbackground + Sets whether or not this axis' wall has a background + color. + 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 + Sets whether or not spikes starting from data points to + this axis' wall are shown on hover. + 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. + spikecolor + Sets the color of the spikes. + spikesides + Sets whether or not spikes extending from the + projection data points to this axis' wall boundaries + are shown on hover. + spikethickness + Sets the thickness (in px) of the spikes. + 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<f>* (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: + https://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.scene.xa + xis.Tickformatstop` instances or dicts with compatible + properties + tickformatstopdefaults + When used in a template (as layout.template.layout.scen + e.xaxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.scene.xaxis.tickformatstops + 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). + 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. + 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.scene.xaxis.Title` + instance or dict with compatible properties + 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. + 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. + """ + + def __init__( + self, + arg=None, + autorange=None, + autorangeoptions=None, + autotypenumbers=None, + backgroundcolor=None, + calendar=None, + categoryarray=None, + categoryarraysrc=None, + categoryorder=None, + color=None, + dtick=None, + exponentformat=None, + gridcolor=None, + gridwidth=None, + hoverformat=None, + labelalias=None, + linecolor=None, + linewidth=None, + maxallowed=None, + minallowed=None, + minexponent=None, + mirror=None, + nticks=None, + range=None, + rangemode=None, + separatethousands=None, + showaxeslabels=None, + showbackground=None, + showexponent=None, + showgrid=None, + showline=None, + showspikes=None, + showticklabels=None, + showtickprefix=None, + showticksuffix=None, + spikecolor=None, + spikesides=None, + spikethickness=None, + tick0=None, + tickangle=None, + tickcolor=None, + tickfont=None, + tickformat=None, + tickformatstops=None, + tickformatstopdefaults=None, + ticklen=None, + tickmode=None, + tickprefix=None, + ticks=None, + ticksuffix=None, + ticktext=None, + ticktextsrc=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + title=None, + type=None, + visible=None, + zeroline=None, + zerolinecolor=None, + zerolinewidth=None, + **kwargs, + ): + """ + Construct a new XAxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.XAxis` + 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.scene.xaxis.Autoran + geoptions` 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. + backgroundcolor + Sets the background color of this axis' wall. + 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, geometric 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. + 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<f>", 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<n>" 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. + gridcolor + Sets the color of the grid lines. + 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: + https://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" + 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. + linecolor + Sets the axis line color. + linewidth + Sets the width (in px) of the axis line. + 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". + 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". + 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`. + 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. + separatethousands + If "true", even 4-digit integers are separated + showaxeslabels + Sets whether or not this axis is labeled + showbackground + Sets whether or not this axis' wall has a background + color. + 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 + Sets whether or not spikes starting from data points to + this axis' wall are shown on hover. + 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. + spikecolor + Sets the color of the spikes. + spikesides + Sets whether or not spikes extending from the + projection data points to this axis' wall boundaries + are shown on hover. + spikethickness + Sets the thickness (in px) of the spikes. + 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<f>* (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: + https://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.scene.xa + xis.Tickformatstop` instances or dicts with compatible + properties + tickformatstopdefaults + When used in a template (as layout.template.layout.scen + e.xaxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.scene.xaxis.tickformatstops + 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). + 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. + 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.scene.xaxis.Title` + instance or dict with compatible properties + 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. + 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 + ------- + XAxis + """ + super().__init__("xaxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.XAxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.XAxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("autorange", arg, autorange) + self._set_property("autorangeoptions", arg, autorangeoptions) + self._set_property("autotypenumbers", arg, autotypenumbers) + self._set_property("backgroundcolor", arg, backgroundcolor) + self._set_property("calendar", arg, calendar) + self._set_property("categoryarray", arg, categoryarray) + self._set_property("categoryarraysrc", arg, categoryarraysrc) + self._set_property("categoryorder", arg, categoryorder) + self._set_property("color", arg, color) + self._set_property("dtick", arg, dtick) + self._set_property("exponentformat", arg, exponentformat) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("hoverformat", arg, hoverformat) + self._set_property("labelalias", arg, labelalias) + self._set_property("linecolor", arg, linecolor) + self._set_property("linewidth", arg, linewidth) + self._set_property("maxallowed", arg, maxallowed) + self._set_property("minallowed", arg, minallowed) + self._set_property("minexponent", arg, minexponent) + self._set_property("mirror", arg, mirror) + self._set_property("nticks", arg, nticks) + self._set_property("range", arg, range) + self._set_property("rangemode", arg, rangemode) + self._set_property("separatethousands", arg, separatethousands) + self._set_property("showaxeslabels", arg, showaxeslabels) + self._set_property("showbackground", arg, showbackground) + self._set_property("showexponent", arg, showexponent) + self._set_property("showgrid", arg, showgrid) + self._set_property("showline", arg, showline) + self._set_property("showspikes", arg, showspikes) + self._set_property("showticklabels", arg, showticklabels) + self._set_property("showtickprefix", arg, showtickprefix) + self._set_property("showticksuffix", arg, showticksuffix) + self._set_property("spikecolor", arg, spikecolor) + self._set_property("spikesides", arg, spikesides) + self._set_property("spikethickness", arg, spikethickness) + self._set_property("tick0", arg, tick0) + self._set_property("tickangle", arg, tickangle) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("tickfont", arg, tickfont) + self._set_property("tickformat", arg, tickformat) + self._set_property("tickformatstops", arg, tickformatstops) + self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickmode", arg, tickmode) + self._set_property("tickprefix", arg, tickprefix) + self._set_property("ticks", arg, ticks) + self._set_property("ticksuffix", arg, ticksuffix) + self._set_property("ticktext", arg, ticktext) + self._set_property("ticktextsrc", arg, ticktextsrc) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._set_property("title", arg, title) + self._set_property("type", arg, type) + self._set_property("visible", arg, visible) + self._set_property("zeroline", arg, zeroline) + self._set_property("zerolinecolor", arg, zerolinecolor) + self._set_property("zerolinewidth", arg, zerolinewidth) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_yaxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_yaxis.py new file mode 100644 index 0000000..852837d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_yaxis.py @@ -0,0 +1,2111 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class YAxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene" + _path_str = "layout.scene.yaxis" + _valid_props = { + "autorange", + "autorangeoptions", + "autotypenumbers", + "backgroundcolor", + "calendar", + "categoryarray", + "categoryarraysrc", + "categoryorder", + "color", + "dtick", + "exponentformat", + "gridcolor", + "gridwidth", + "hoverformat", + "labelalias", + "linecolor", + "linewidth", + "maxallowed", + "minallowed", + "minexponent", + "mirror", + "nticks", + "range", + "rangemode", + "separatethousands", + "showaxeslabels", + "showbackground", + "showexponent", + "showgrid", + "showline", + "showspikes", + "showticklabels", + "showtickprefix", + "showticksuffix", + "spikecolor", + "spikesides", + "spikethickness", + "tick0", + "tickangle", + "tickcolor", + "tickfont", + "tickformat", + "tickformatstopdefaults", + "tickformatstops", + "ticklen", + "tickmode", + "tickprefix", + "ticks", + "ticksuffix", + "ticktext", + "ticktextsrc", + "tickvals", + "tickvalssrc", + "tickwidth", + "title", + "type", + "visible", + "zeroline", + "zerolinecolor", + "zerolinewidth", + } + + @property + def autorange(self): + """ + 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. + + The 'autorange' property is an enumeration that may be specified as: + - One of the following enumeration values: + [True, False, 'reversed', 'min reversed', 'max reversed', + 'min', 'max'] + + Returns + ------- + Any + """ + return self["autorange"] + + @autorange.setter + def autorange(self, val): + self["autorange"] = val + + @property + def autorangeoptions(self): + """ + The 'autorangeoptions' property is an instance of Autorangeoptions + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.yaxis.Autorangeoptions` + - A dict of string/value properties that will be passed + to the Autorangeoptions constructor + + Returns + ------- + plotly.graph_objs.layout.scene.yaxis.Autorangeoptions + """ + return self["autorangeoptions"] + + @autorangeoptions.setter + def autorangeoptions(self, val): + self["autorangeoptions"] = val + + @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. Defaults to layout.autotypenumbers. + + 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 + + @property + def backgroundcolor(self): + """ + Sets the background color of this axis' wall. + + The 'backgroundcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["backgroundcolor"] + + @backgroundcolor.setter + def backgroundcolor(self, val): + self["backgroundcolor"] = val + + @property + def calendar(self): + """ + 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` + + 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 + + @property + def categoryarray(self): + """ + Sets the order in which categories on this axis appear. Only + has an effect if `categoryorder` is set to "array". Used with + `categoryorder`. + + The 'categoryarray' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["categoryarray"] + + @categoryarray.setter + def categoryarray(self, val): + self["categoryarray"] = val + + @property + def categoryarraysrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `categoryarray`. + + The 'categoryarraysrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["categoryarraysrc"] + + @categoryarraysrc.setter + def categoryarraysrc(self, val): + self["categoryarraysrc"] = val + + @property + def categoryorder(self): + """ + 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, geometric mean or median + of all the values. + + The 'categoryorder' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['trace', 'category ascending', 'category descending', + 'array', 'total ascending', 'total descending', 'min + ascending', 'min descending', 'max ascending', 'max + descending', 'sum ascending', 'sum descending', 'mean + ascending', 'mean descending', 'geometric mean ascending', + 'geometric mean descending', 'median ascending', 'median + descending'] + + Returns + ------- + Any + """ + return self["categoryorder"] + + @categoryorder.setter + def categoryorder(self, val): + self["categoryorder"] = val + + @property + def color(self): + """ + 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. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def dtick(self): + """ + 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<f>", 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<n>" 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" + + The 'dtick' property accepts values of any type + + Returns + ------- + Any + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def exponentformat(self): + """ + 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. + + The 'exponentformat' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['none', 'e', 'E', 'power', 'SI', 'B'] + + Returns + ------- + Any + """ + return self["exponentformat"] + + @exponentformat.setter + def exponentformat(self, val): + self["exponentformat"] = val + + @property + def gridcolor(self): + """ + Sets the color of the grid lines. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def gridwidth(self): + """ + Sets the width (in px) of the grid lines. + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def hoverformat(self): + """ + Sets the hover text formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'hoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["hoverformat"] + + @hoverformat.setter + def hoverformat(self, val): + self["hoverformat"] = val + + @property + def labelalias(self): + """ + 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. + + The 'labelalias' property accepts values of any type + + Returns + ------- + Any + """ + return self["labelalias"] + + @labelalias.setter + def labelalias(self, val): + self["labelalias"] = val + + @property + def linecolor(self): + """ + Sets the axis line color. + + The 'linecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["linecolor"] + + @linecolor.setter + def linecolor(self, val): + self["linecolor"] = val + + @property + def linewidth(self): + """ + Sets the width (in px) of the axis line. + + The 'linewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["linewidth"] + + @linewidth.setter + def linewidth(self, val): + self["linewidth"] = val + + @property + def maxallowed(self): + """ + Determines the maximum range of this axis. + + The 'maxallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["maxallowed"] + + @maxallowed.setter + def maxallowed(self, val): + self["maxallowed"] = val + + @property + def minallowed(self): + """ + Determines the minimum range of this axis. + + The 'minallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["minallowed"] + + @minallowed.setter + def minallowed(self, val): + self["minallowed"] = val + + @property + def minexponent(self): + """ + Hide SI prefix for 10^n if |n| is below this number. This only + has an effect when `tickformat` is "SI" or "B". + + The 'minexponent' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["minexponent"] + + @minexponent.setter + def minexponent(self, val): + self["minexponent"] = val + + @property + def mirror(self): + """ + 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. + + The 'mirror' property is an enumeration that may be specified as: + - One of the following enumeration values: + [True, 'ticks', False, 'all', 'allticks'] + + Returns + ------- + Any + """ + return self["mirror"] + + @mirror.setter + def mirror(self, val): + self["mirror"] = val + + @property + def nticks(self): + """ + 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". + + The 'nticks' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["nticks"] + + @nticks.setter + def nticks(self, val): + self["nticks"] = val + + @property + def range(self): + """ + 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`. + + The 'range' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'range[0]' property accepts values of any type + (1) The 'range[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["range"] + + @range.setter + def range(self, val): + self["range"] = val + + @property + def rangemode(self): + """ + 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. + + The 'rangemode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'tozero', 'nonnegative'] + + Returns + ------- + Any + """ + return self["rangemode"] + + @rangemode.setter + def rangemode(self, val): + self["rangemode"] = val + + @property + def separatethousands(self): + """ + If "true", even 4-digit integers are separated + + The 'separatethousands' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["separatethousands"] + + @separatethousands.setter + def separatethousands(self, val): + self["separatethousands"] = val + + @property + def showaxeslabels(self): + """ + Sets whether or not this axis is labeled + + The 'showaxeslabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showaxeslabels"] + + @showaxeslabels.setter + def showaxeslabels(self, val): + self["showaxeslabels"] = val + + @property + def showbackground(self): + """ + Sets whether or not this axis' wall has a background color. + + The 'showbackground' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showbackground"] + + @showbackground.setter + def showbackground(self, val): + self["showbackground"] = val + + @property + def showexponent(self): + """ + 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. + + The 'showexponent' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showexponent"] + + @showexponent.setter + def showexponent(self, val): + self["showexponent"] = val + + @property + def showgrid(self): + """ + Determines whether or not grid lines are drawn. If True, the + grid lines are drawn at every tick mark. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def showline(self): + """ + Determines whether or not a line bounding this axis is drawn. + + The 'showline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showline"] + + @showline.setter + def showline(self, val): + self["showline"] = val + + @property + def showspikes(self): + """ + Sets whether or not spikes starting from data points to this + axis' wall are shown on hover. + + The 'showspikes' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showspikes"] + + @showspikes.setter + def showspikes(self, val): + self["showspikes"] = val + + @property + def showticklabels(self): + """ + Determines whether or not the tick labels are drawn. + + The 'showticklabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showticklabels"] + + @showticklabels.setter + def showticklabels(self, val): + self["showticklabels"] = val + + @property + def showtickprefix(self): + """ + 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. + + The 'showtickprefix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showtickprefix"] + + @showtickprefix.setter + def showtickprefix(self, val): + self["showtickprefix"] = val + + @property + def showticksuffix(self): + """ + Same as `showtickprefix` but for tick suffixes. + + The 'showticksuffix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showticksuffix"] + + @showticksuffix.setter + def showticksuffix(self, val): + self["showticksuffix"] = val + + @property + def spikecolor(self): + """ + Sets the color of the spikes. + + The 'spikecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["spikecolor"] + + @spikecolor.setter + def spikecolor(self, val): + self["spikecolor"] = val + + @property + def spikesides(self): + """ + Sets whether or not spikes extending from the projection data + points to this axis' wall boundaries are shown on hover. + + The 'spikesides' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["spikesides"] + + @spikesides.setter + def spikesides(self, val): + self["spikesides"] = val + + @property + def spikethickness(self): + """ + Sets the thickness (in px) of the spikes. + + The 'spikethickness' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["spikethickness"] + + @spikethickness.setter + def spikethickness(self, val): + self["spikethickness"] = val + + @property + def tick0(self): + """ + 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<f>* (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. + + The 'tick0' property accepts values of any type + + Returns + ------- + Any + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def tickangle(self): + """ + Sets the angle of the tick labels with respect to the + horizontal. For example, a `tickangle` of -90 draws the tick + labels vertically. + + The 'tickangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["tickangle"] + + @tickangle.setter + def tickangle(self, val): + self["tickangle"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def tickfont(self): + """ + Sets the tick font. + + The 'tickfont' property is an instance of Tickfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.yaxis.Tickfont` + - A dict of string/value properties that will be passed + to the Tickfont constructor + + Returns + ------- + plotly.graph_objs.layout.scene.yaxis.Tickfont + """ + return self["tickfont"] + + @tickfont.setter + def tickfont(self, val): + self["tickfont"] = val + + @property + def tickformat(self): + """ + Sets the tick label formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'tickformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickformat"] + + @tickformat.setter + def tickformat(self, val): + self["tickformat"] = val + + @property + def tickformatstops(self): + """ + The 'tickformatstops' property is a tuple of instances of + Tickformatstop that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.scene.yaxis.Tickformatstop + - A list or tuple of dicts of string/value properties that + will be passed to the Tickformatstop constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.scene.yaxis.Tickformatstop] + """ + return self["tickformatstops"] + + @tickformatstops.setter + def tickformatstops(self, val): + self["tickformatstops"] = val + + @property + def tickformatstopdefaults(self): + """ + When used in a template (as + layout.template.layout.scene.yaxis.tickformatstopdefaults), + sets the default property values to use for elements of + layout.scene.yaxis.tickformatstops + + The 'tickformatstopdefaults' property is an instance of Tickformatstop + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.yaxis.Tickformatstop` + - A dict of string/value properties that will be passed + to the Tickformatstop constructor + + Returns + ------- + plotly.graph_objs.layout.scene.yaxis.Tickformatstop + """ + return self["tickformatstopdefaults"] + + @tickformatstopdefaults.setter + def tickformatstopdefaults(self, val): + self["tickformatstopdefaults"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickmode(self): + """ + 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). + + The 'tickmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'linear', 'array'] + + Returns + ------- + Any + """ + return self["tickmode"] + + @tickmode.setter + def tickmode(self, val): + self["tickmode"] = val + + @property + def tickprefix(self): + """ + Sets a tick label prefix. + + The 'tickprefix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickprefix"] + + @tickprefix.setter + def tickprefix(self, val): + self["tickprefix"] = val + + @property + def ticks(self): + """ + 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. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def ticksuffix(self): + """ + Sets a tick label suffix. + + The 'ticksuffix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["ticksuffix"] + + @ticksuffix.setter + def ticksuffix(self, val): + self["ticksuffix"] = val + + @property + def ticktext(self): + """ + Sets the text displayed at the ticks position via `tickvals`. + Only has an effect if `tickmode` is set to "array". Used with + `tickvals`. + + The 'ticktext' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["ticktext"] + + @ticktext.setter + def ticktext(self, val): + self["ticktext"] = val + + @property + def ticktextsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `ticktext`. + + The 'ticktextsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticktextsrc"] + + @ticktextsrc.setter + def ticktextsrc(self, val): + self["ticktextsrc"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. Only has an + effect if `tickmode` is set to "array". Used with `ticktext`. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @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.scene.yaxis.Title` + - A dict of string/value properties that will be passed + to the Title constructor + + Returns + ------- + plotly.graph_objs.layout.scene.yaxis.Title + """ + return self["title"] + + @title.setter + def title(self, val): + self["title"] = val + + @property + def type(self): + """ + 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. + + The 'type' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['-', 'linear', 'log', 'date', 'category'] + + Returns + ------- + Any + """ + return self["type"] + + @type.setter + def type(self, val): + self["type"] = val + + @property + def visible(self): + """ + 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 + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def zeroline(self): + """ + 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. + + The 'zeroline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["zeroline"] + + @zeroline.setter + def zeroline(self, val): + self["zeroline"] = val + + @property + def zerolinecolor(self): + """ + Sets the line color of the zero line. + + The 'zerolinecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["zerolinecolor"] + + @zerolinecolor.setter + def zerolinecolor(self, val): + self["zerolinecolor"] = val + + @property + def zerolinewidth(self): + """ + Sets the width (in px) of the zero line. + + The 'zerolinewidth' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["zerolinewidth"] + + @zerolinewidth.setter + def zerolinewidth(self, val): + self["zerolinewidth"] = val + + @property + def _prop_descriptions(self): + return """\ + 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.scene.yaxis.Autoran + geoptions` 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. + backgroundcolor + Sets the background color of this axis' wall. + 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, geometric 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. + 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<f>", 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<n>" 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. + gridcolor + Sets the color of the grid lines. + 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: + https://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" + 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. + linecolor + Sets the axis line color. + linewidth + Sets the width (in px) of the axis line. + 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". + 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". + 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`. + 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. + separatethousands + If "true", even 4-digit integers are separated + showaxeslabels + Sets whether or not this axis is labeled + showbackground + Sets whether or not this axis' wall has a background + color. + 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 + Sets whether or not spikes starting from data points to + this axis' wall are shown on hover. + 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. + spikecolor + Sets the color of the spikes. + spikesides + Sets whether or not spikes extending from the + projection data points to this axis' wall boundaries + are shown on hover. + spikethickness + Sets the thickness (in px) of the spikes. + 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<f>* (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: + https://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.scene.ya + xis.Tickformatstop` instances or dicts with compatible + properties + tickformatstopdefaults + When used in a template (as layout.template.layout.scen + e.yaxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.scene.yaxis.tickformatstops + 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). + 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. + 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.scene.yaxis.Title` + instance or dict with compatible properties + 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. + 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. + """ + + def __init__( + self, + arg=None, + autorange=None, + autorangeoptions=None, + autotypenumbers=None, + backgroundcolor=None, + calendar=None, + categoryarray=None, + categoryarraysrc=None, + categoryorder=None, + color=None, + dtick=None, + exponentformat=None, + gridcolor=None, + gridwidth=None, + hoverformat=None, + labelalias=None, + linecolor=None, + linewidth=None, + maxallowed=None, + minallowed=None, + minexponent=None, + mirror=None, + nticks=None, + range=None, + rangemode=None, + separatethousands=None, + showaxeslabels=None, + showbackground=None, + showexponent=None, + showgrid=None, + showline=None, + showspikes=None, + showticklabels=None, + showtickprefix=None, + showticksuffix=None, + spikecolor=None, + spikesides=None, + spikethickness=None, + tick0=None, + tickangle=None, + tickcolor=None, + tickfont=None, + tickformat=None, + tickformatstops=None, + tickformatstopdefaults=None, + ticklen=None, + tickmode=None, + tickprefix=None, + ticks=None, + ticksuffix=None, + ticktext=None, + ticktextsrc=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + title=None, + type=None, + visible=None, + zeroline=None, + zerolinecolor=None, + zerolinewidth=None, + **kwargs, + ): + """ + Construct a new YAxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.YAxis` + 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.scene.yaxis.Autoran + geoptions` 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. + backgroundcolor + Sets the background color of this axis' wall. + 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, geometric 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. + 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<f>", 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<n>" 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. + gridcolor + Sets the color of the grid lines. + 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: + https://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" + 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. + linecolor + Sets the axis line color. + linewidth + Sets the width (in px) of the axis line. + 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". + 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". + 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`. + 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. + separatethousands + If "true", even 4-digit integers are separated + showaxeslabels + Sets whether or not this axis is labeled + showbackground + Sets whether or not this axis' wall has a background + color. + 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 + Sets whether or not spikes starting from data points to + this axis' wall are shown on hover. + 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. + spikecolor + Sets the color of the spikes. + spikesides + Sets whether or not spikes extending from the + projection data points to this axis' wall boundaries + are shown on hover. + spikethickness + Sets the thickness (in px) of the spikes. + 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<f>* (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: + https://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.scene.ya + xis.Tickformatstop` instances or dicts with compatible + properties + tickformatstopdefaults + When used in a template (as layout.template.layout.scen + e.yaxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.scene.yaxis.tickformatstops + 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). + 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. + 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.scene.yaxis.Title` + instance or dict with compatible properties + 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. + 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 + ------- + YAxis + """ + super().__init__("yaxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.YAxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.YAxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("autorange", arg, autorange) + self._set_property("autorangeoptions", arg, autorangeoptions) + self._set_property("autotypenumbers", arg, autotypenumbers) + self._set_property("backgroundcolor", arg, backgroundcolor) + self._set_property("calendar", arg, calendar) + self._set_property("categoryarray", arg, categoryarray) + self._set_property("categoryarraysrc", arg, categoryarraysrc) + self._set_property("categoryorder", arg, categoryorder) + self._set_property("color", arg, color) + self._set_property("dtick", arg, dtick) + self._set_property("exponentformat", arg, exponentformat) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("hoverformat", arg, hoverformat) + self._set_property("labelalias", arg, labelalias) + self._set_property("linecolor", arg, linecolor) + self._set_property("linewidth", arg, linewidth) + self._set_property("maxallowed", arg, maxallowed) + self._set_property("minallowed", arg, minallowed) + self._set_property("minexponent", arg, minexponent) + self._set_property("mirror", arg, mirror) + self._set_property("nticks", arg, nticks) + self._set_property("range", arg, range) + self._set_property("rangemode", arg, rangemode) + self._set_property("separatethousands", arg, separatethousands) + self._set_property("showaxeslabels", arg, showaxeslabels) + self._set_property("showbackground", arg, showbackground) + self._set_property("showexponent", arg, showexponent) + self._set_property("showgrid", arg, showgrid) + self._set_property("showline", arg, showline) + self._set_property("showspikes", arg, showspikes) + self._set_property("showticklabels", arg, showticklabels) + self._set_property("showtickprefix", arg, showtickprefix) + self._set_property("showticksuffix", arg, showticksuffix) + self._set_property("spikecolor", arg, spikecolor) + self._set_property("spikesides", arg, spikesides) + self._set_property("spikethickness", arg, spikethickness) + self._set_property("tick0", arg, tick0) + self._set_property("tickangle", arg, tickangle) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("tickfont", arg, tickfont) + self._set_property("tickformat", arg, tickformat) + self._set_property("tickformatstops", arg, tickformatstops) + self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickmode", arg, tickmode) + self._set_property("tickprefix", arg, tickprefix) + self._set_property("ticks", arg, ticks) + self._set_property("ticksuffix", arg, ticksuffix) + self._set_property("ticktext", arg, ticktext) + self._set_property("ticktextsrc", arg, ticktextsrc) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._set_property("title", arg, title) + self._set_property("type", arg, type) + self._set_property("visible", arg, visible) + self._set_property("zeroline", arg, zeroline) + self._set_property("zerolinecolor", arg, zerolinecolor) + self._set_property("zerolinewidth", arg, zerolinewidth) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_zaxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_zaxis.py new file mode 100644 index 0000000..81936c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/_zaxis.py @@ -0,0 +1,2111 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class ZAxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene" + _path_str = "layout.scene.zaxis" + _valid_props = { + "autorange", + "autorangeoptions", + "autotypenumbers", + "backgroundcolor", + "calendar", + "categoryarray", + "categoryarraysrc", + "categoryorder", + "color", + "dtick", + "exponentformat", + "gridcolor", + "gridwidth", + "hoverformat", + "labelalias", + "linecolor", + "linewidth", + "maxallowed", + "minallowed", + "minexponent", + "mirror", + "nticks", + "range", + "rangemode", + "separatethousands", + "showaxeslabels", + "showbackground", + "showexponent", + "showgrid", + "showline", + "showspikes", + "showticklabels", + "showtickprefix", + "showticksuffix", + "spikecolor", + "spikesides", + "spikethickness", + "tick0", + "tickangle", + "tickcolor", + "tickfont", + "tickformat", + "tickformatstopdefaults", + "tickformatstops", + "ticklen", + "tickmode", + "tickprefix", + "ticks", + "ticksuffix", + "ticktext", + "ticktextsrc", + "tickvals", + "tickvalssrc", + "tickwidth", + "title", + "type", + "visible", + "zeroline", + "zerolinecolor", + "zerolinewidth", + } + + @property + def autorange(self): + """ + 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. + + The 'autorange' property is an enumeration that may be specified as: + - One of the following enumeration values: + [True, False, 'reversed', 'min reversed', 'max reversed', + 'min', 'max'] + + Returns + ------- + Any + """ + return self["autorange"] + + @autorange.setter + def autorange(self, val): + self["autorange"] = val + + @property + def autorangeoptions(self): + """ + The 'autorangeoptions' property is an instance of Autorangeoptions + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.zaxis.Autorangeoptions` + - A dict of string/value properties that will be passed + to the Autorangeoptions constructor + + Returns + ------- + plotly.graph_objs.layout.scene.zaxis.Autorangeoptions + """ + return self["autorangeoptions"] + + @autorangeoptions.setter + def autorangeoptions(self, val): + self["autorangeoptions"] = val + + @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. Defaults to layout.autotypenumbers. + + 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 + + @property + def backgroundcolor(self): + """ + Sets the background color of this axis' wall. + + The 'backgroundcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["backgroundcolor"] + + @backgroundcolor.setter + def backgroundcolor(self, val): + self["backgroundcolor"] = val + + @property + def calendar(self): + """ + 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` + + 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 + + @property + def categoryarray(self): + """ + Sets the order in which categories on this axis appear. Only + has an effect if `categoryorder` is set to "array". Used with + `categoryorder`. + + The 'categoryarray' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["categoryarray"] + + @categoryarray.setter + def categoryarray(self, val): + self["categoryarray"] = val + + @property + def categoryarraysrc(self): + """ + Sets the source reference on Chart Studio Cloud for + `categoryarray`. + + The 'categoryarraysrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["categoryarraysrc"] + + @categoryarraysrc.setter + def categoryarraysrc(self, val): + self["categoryarraysrc"] = val + + @property + def categoryorder(self): + """ + 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, geometric mean or median + of all the values. + + The 'categoryorder' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['trace', 'category ascending', 'category descending', + 'array', 'total ascending', 'total descending', 'min + ascending', 'min descending', 'max ascending', 'max + descending', 'sum ascending', 'sum descending', 'mean + ascending', 'mean descending', 'geometric mean ascending', + 'geometric mean descending', 'median ascending', 'median + descending'] + + Returns + ------- + Any + """ + return self["categoryorder"] + + @categoryorder.setter + def categoryorder(self, val): + self["categoryorder"] = val + + @property + def color(self): + """ + 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. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def dtick(self): + """ + 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<f>", 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<n>" 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" + + The 'dtick' property accepts values of any type + + Returns + ------- + Any + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def exponentformat(self): + """ + 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. + + The 'exponentformat' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['none', 'e', 'E', 'power', 'SI', 'B'] + + Returns + ------- + Any + """ + return self["exponentformat"] + + @exponentformat.setter + def exponentformat(self, val): + self["exponentformat"] = val + + @property + def gridcolor(self): + """ + Sets the color of the grid lines. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def gridwidth(self): + """ + Sets the width (in px) of the grid lines. + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def hoverformat(self): + """ + Sets the hover text formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'hoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["hoverformat"] + + @hoverformat.setter + def hoverformat(self, val): + self["hoverformat"] = val + + @property + def labelalias(self): + """ + 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. + + The 'labelalias' property accepts values of any type + + Returns + ------- + Any + """ + return self["labelalias"] + + @labelalias.setter + def labelalias(self, val): + self["labelalias"] = val + + @property + def linecolor(self): + """ + Sets the axis line color. + + The 'linecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["linecolor"] + + @linecolor.setter + def linecolor(self, val): + self["linecolor"] = val + + @property + def linewidth(self): + """ + Sets the width (in px) of the axis line. + + The 'linewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["linewidth"] + + @linewidth.setter + def linewidth(self, val): + self["linewidth"] = val + + @property + def maxallowed(self): + """ + Determines the maximum range of this axis. + + The 'maxallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["maxallowed"] + + @maxallowed.setter + def maxallowed(self, val): + self["maxallowed"] = val + + @property + def minallowed(self): + """ + Determines the minimum range of this axis. + + The 'minallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["minallowed"] + + @minallowed.setter + def minallowed(self, val): + self["minallowed"] = val + + @property + def minexponent(self): + """ + Hide SI prefix for 10^n if |n| is below this number. This only + has an effect when `tickformat` is "SI" or "B". + + The 'minexponent' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["minexponent"] + + @minexponent.setter + def minexponent(self, val): + self["minexponent"] = val + + @property + def mirror(self): + """ + 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. + + The 'mirror' property is an enumeration that may be specified as: + - One of the following enumeration values: + [True, 'ticks', False, 'all', 'allticks'] + + Returns + ------- + Any + """ + return self["mirror"] + + @mirror.setter + def mirror(self, val): + self["mirror"] = val + + @property + def nticks(self): + """ + 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". + + The 'nticks' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["nticks"] + + @nticks.setter + def nticks(self, val): + self["nticks"] = val + + @property + def range(self): + """ + 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`. + + The 'range' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'range[0]' property accepts values of any type + (1) The 'range[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["range"] + + @range.setter + def range(self, val): + self["range"] = val + + @property + def rangemode(self): + """ + 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. + + The 'rangemode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'tozero', 'nonnegative'] + + Returns + ------- + Any + """ + return self["rangemode"] + + @rangemode.setter + def rangemode(self, val): + self["rangemode"] = val + + @property + def separatethousands(self): + """ + If "true", even 4-digit integers are separated + + The 'separatethousands' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["separatethousands"] + + @separatethousands.setter + def separatethousands(self, val): + self["separatethousands"] = val + + @property + def showaxeslabels(self): + """ + Sets whether or not this axis is labeled + + The 'showaxeslabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showaxeslabels"] + + @showaxeslabels.setter + def showaxeslabels(self, val): + self["showaxeslabels"] = val + + @property + def showbackground(self): + """ + Sets whether or not this axis' wall has a background color. + + The 'showbackground' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showbackground"] + + @showbackground.setter + def showbackground(self, val): + self["showbackground"] = val + + @property + def showexponent(self): + """ + 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. + + The 'showexponent' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showexponent"] + + @showexponent.setter + def showexponent(self, val): + self["showexponent"] = val + + @property + def showgrid(self): + """ + Determines whether or not grid lines are drawn. If True, the + grid lines are drawn at every tick mark. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def showline(self): + """ + Determines whether or not a line bounding this axis is drawn. + + The 'showline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showline"] + + @showline.setter + def showline(self, val): + self["showline"] = val + + @property + def showspikes(self): + """ + Sets whether or not spikes starting from data points to this + axis' wall are shown on hover. + + The 'showspikes' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showspikes"] + + @showspikes.setter + def showspikes(self, val): + self["showspikes"] = val + + @property + def showticklabels(self): + """ + Determines whether or not the tick labels are drawn. + + The 'showticklabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showticklabels"] + + @showticklabels.setter + def showticklabels(self, val): + self["showticklabels"] = val + + @property + def showtickprefix(self): + """ + 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. + + The 'showtickprefix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showtickprefix"] + + @showtickprefix.setter + def showtickprefix(self, val): + self["showtickprefix"] = val + + @property + def showticksuffix(self): + """ + Same as `showtickprefix` but for tick suffixes. + + The 'showticksuffix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showticksuffix"] + + @showticksuffix.setter + def showticksuffix(self, val): + self["showticksuffix"] = val + + @property + def spikecolor(self): + """ + Sets the color of the spikes. + + The 'spikecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["spikecolor"] + + @spikecolor.setter + def spikecolor(self, val): + self["spikecolor"] = val + + @property + def spikesides(self): + """ + Sets whether or not spikes extending from the projection data + points to this axis' wall boundaries are shown on hover. + + The 'spikesides' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["spikesides"] + + @spikesides.setter + def spikesides(self, val): + self["spikesides"] = val + + @property + def spikethickness(self): + """ + Sets the thickness (in px) of the spikes. + + The 'spikethickness' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["spikethickness"] + + @spikethickness.setter + def spikethickness(self, val): + self["spikethickness"] = val + + @property + def tick0(self): + """ + 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<f>* (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. + + The 'tick0' property accepts values of any type + + Returns + ------- + Any + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def tickangle(self): + """ + Sets the angle of the tick labels with respect to the + horizontal. For example, a `tickangle` of -90 draws the tick + labels vertically. + + The 'tickangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["tickangle"] + + @tickangle.setter + def tickangle(self, val): + self["tickangle"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def tickfont(self): + """ + Sets the tick font. + + The 'tickfont' property is an instance of Tickfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.zaxis.Tickfont` + - A dict of string/value properties that will be passed + to the Tickfont constructor + + Returns + ------- + plotly.graph_objs.layout.scene.zaxis.Tickfont + """ + return self["tickfont"] + + @tickfont.setter + def tickfont(self, val): + self["tickfont"] = val + + @property + def tickformat(self): + """ + Sets the tick label formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'tickformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickformat"] + + @tickformat.setter + def tickformat(self, val): + self["tickformat"] = val + + @property + def tickformatstops(self): + """ + The 'tickformatstops' property is a tuple of instances of + Tickformatstop that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.scene.zaxis.Tickformatstop + - A list or tuple of dicts of string/value properties that + will be passed to the Tickformatstop constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.scene.zaxis.Tickformatstop] + """ + return self["tickformatstops"] + + @tickformatstops.setter + def tickformatstops(self, val): + self["tickformatstops"] = val + + @property + def tickformatstopdefaults(self): + """ + When used in a template (as + layout.template.layout.scene.zaxis.tickformatstopdefaults), + sets the default property values to use for elements of + layout.scene.zaxis.tickformatstops + + The 'tickformatstopdefaults' property is an instance of Tickformatstop + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.zaxis.Tickformatstop` + - A dict of string/value properties that will be passed + to the Tickformatstop constructor + + Returns + ------- + plotly.graph_objs.layout.scene.zaxis.Tickformatstop + """ + return self["tickformatstopdefaults"] + + @tickformatstopdefaults.setter + def tickformatstopdefaults(self, val): + self["tickformatstopdefaults"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickmode(self): + """ + 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). + + The 'tickmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'linear', 'array'] + + Returns + ------- + Any + """ + return self["tickmode"] + + @tickmode.setter + def tickmode(self, val): + self["tickmode"] = val + + @property + def tickprefix(self): + """ + Sets a tick label prefix. + + The 'tickprefix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickprefix"] + + @tickprefix.setter + def tickprefix(self, val): + self["tickprefix"] = val + + @property + def ticks(self): + """ + 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. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def ticksuffix(self): + """ + Sets a tick label suffix. + + The 'ticksuffix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["ticksuffix"] + + @ticksuffix.setter + def ticksuffix(self, val): + self["ticksuffix"] = val + + @property + def ticktext(self): + """ + Sets the text displayed at the ticks position via `tickvals`. + Only has an effect if `tickmode` is set to "array". Used with + `tickvals`. + + The 'ticktext' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["ticktext"] + + @ticktext.setter + def ticktext(self, val): + self["ticktext"] = val + + @property + def ticktextsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `ticktext`. + + The 'ticktextsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticktextsrc"] + + @ticktextsrc.setter + def ticktextsrc(self, val): + self["ticktextsrc"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. Only has an + effect if `tickmode` is set to "array". Used with `ticktext`. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @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.scene.zaxis.Title` + - A dict of string/value properties that will be passed + to the Title constructor + + Returns + ------- + plotly.graph_objs.layout.scene.zaxis.Title + """ + return self["title"] + + @title.setter + def title(self, val): + self["title"] = val + + @property + def type(self): + """ + 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. + + The 'type' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['-', 'linear', 'log', 'date', 'category'] + + Returns + ------- + Any + """ + return self["type"] + + @type.setter + def type(self, val): + self["type"] = val + + @property + def visible(self): + """ + 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 + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def zeroline(self): + """ + 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. + + The 'zeroline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["zeroline"] + + @zeroline.setter + def zeroline(self, val): + self["zeroline"] = val + + @property + def zerolinecolor(self): + """ + Sets the line color of the zero line. + + The 'zerolinecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["zerolinecolor"] + + @zerolinecolor.setter + def zerolinecolor(self, val): + self["zerolinecolor"] = val + + @property + def zerolinewidth(self): + """ + Sets the width (in px) of the zero line. + + The 'zerolinewidth' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["zerolinewidth"] + + @zerolinewidth.setter + def zerolinewidth(self, val): + self["zerolinewidth"] = val + + @property + def _prop_descriptions(self): + return """\ + 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.scene.zaxis.Autoran + geoptions` 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. + backgroundcolor + Sets the background color of this axis' wall. + 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, geometric 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. + 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<f>", 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<n>" 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. + gridcolor + Sets the color of the grid lines. + 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: + https://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" + 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. + linecolor + Sets the axis line color. + linewidth + Sets the width (in px) of the axis line. + 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". + 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". + 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`. + 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. + separatethousands + If "true", even 4-digit integers are separated + showaxeslabels + Sets whether or not this axis is labeled + showbackground + Sets whether or not this axis' wall has a background + color. + 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 + Sets whether or not spikes starting from data points to + this axis' wall are shown on hover. + 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. + spikecolor + Sets the color of the spikes. + spikesides + Sets whether or not spikes extending from the + projection data points to this axis' wall boundaries + are shown on hover. + spikethickness + Sets the thickness (in px) of the spikes. + 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<f>* (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: + https://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.scene.za + xis.Tickformatstop` instances or dicts with compatible + properties + tickformatstopdefaults + When used in a template (as layout.template.layout.scen + e.zaxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.scene.zaxis.tickformatstops + 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). + 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. + 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.scene.zaxis.Title` + instance or dict with compatible properties + 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. + 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. + """ + + def __init__( + self, + arg=None, + autorange=None, + autorangeoptions=None, + autotypenumbers=None, + backgroundcolor=None, + calendar=None, + categoryarray=None, + categoryarraysrc=None, + categoryorder=None, + color=None, + dtick=None, + exponentformat=None, + gridcolor=None, + gridwidth=None, + hoverformat=None, + labelalias=None, + linecolor=None, + linewidth=None, + maxallowed=None, + minallowed=None, + minexponent=None, + mirror=None, + nticks=None, + range=None, + rangemode=None, + separatethousands=None, + showaxeslabels=None, + showbackground=None, + showexponent=None, + showgrid=None, + showline=None, + showspikes=None, + showticklabels=None, + showtickprefix=None, + showticksuffix=None, + spikecolor=None, + spikesides=None, + spikethickness=None, + tick0=None, + tickangle=None, + tickcolor=None, + tickfont=None, + tickformat=None, + tickformatstops=None, + tickformatstopdefaults=None, + ticklen=None, + tickmode=None, + tickprefix=None, + ticks=None, + ticksuffix=None, + ticktext=None, + ticktextsrc=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + title=None, + type=None, + visible=None, + zeroline=None, + zerolinecolor=None, + zerolinewidth=None, + **kwargs, + ): + """ + Construct a new ZAxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.ZAxis` + 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.scene.zaxis.Autoran + geoptions` 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. + backgroundcolor + Sets the background color of this axis' wall. + 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, geometric 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. + 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<f>", 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<n>" 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. + gridcolor + Sets the color of the grid lines. + 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: + https://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" + 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. + linecolor + Sets the axis line color. + linewidth + Sets the width (in px) of the axis line. + 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". + 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". + 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`. + 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. + separatethousands + If "true", even 4-digit integers are separated + showaxeslabels + Sets whether or not this axis is labeled + showbackground + Sets whether or not this axis' wall has a background + color. + 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 + Sets whether or not spikes starting from data points to + this axis' wall are shown on hover. + 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. + spikecolor + Sets the color of the spikes. + spikesides + Sets whether or not spikes extending from the + projection data points to this axis' wall boundaries + are shown on hover. + spikethickness + Sets the thickness (in px) of the spikes. + 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<f>* (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: + https://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.scene.za + xis.Tickformatstop` instances or dicts with compatible + properties + tickformatstopdefaults + When used in a template (as layout.template.layout.scen + e.zaxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.scene.zaxis.tickformatstops + 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). + 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. + 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.scene.zaxis.Title` + instance or dict with compatible properties + 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. + 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 + ------- + ZAxis + """ + super().__init__("zaxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.ZAxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.ZAxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("autorange", arg, autorange) + self._set_property("autorangeoptions", arg, autorangeoptions) + self._set_property("autotypenumbers", arg, autotypenumbers) + self._set_property("backgroundcolor", arg, backgroundcolor) + self._set_property("calendar", arg, calendar) + self._set_property("categoryarray", arg, categoryarray) + self._set_property("categoryarraysrc", arg, categoryarraysrc) + self._set_property("categoryorder", arg, categoryorder) + self._set_property("color", arg, color) + self._set_property("dtick", arg, dtick) + self._set_property("exponentformat", arg, exponentformat) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("hoverformat", arg, hoverformat) + self._set_property("labelalias", arg, labelalias) + self._set_property("linecolor", arg, linecolor) + self._set_property("linewidth", arg, linewidth) + self._set_property("maxallowed", arg, maxallowed) + self._set_property("minallowed", arg, minallowed) + self._set_property("minexponent", arg, minexponent) + self._set_property("mirror", arg, mirror) + self._set_property("nticks", arg, nticks) + self._set_property("range", arg, range) + self._set_property("rangemode", arg, rangemode) + self._set_property("separatethousands", arg, separatethousands) + self._set_property("showaxeslabels", arg, showaxeslabels) + self._set_property("showbackground", arg, showbackground) + self._set_property("showexponent", arg, showexponent) + self._set_property("showgrid", arg, showgrid) + self._set_property("showline", arg, showline) + self._set_property("showspikes", arg, showspikes) + self._set_property("showticklabels", arg, showticklabels) + self._set_property("showtickprefix", arg, showtickprefix) + self._set_property("showticksuffix", arg, showticksuffix) + self._set_property("spikecolor", arg, spikecolor) + self._set_property("spikesides", arg, spikesides) + self._set_property("spikethickness", arg, spikethickness) + self._set_property("tick0", arg, tick0) + self._set_property("tickangle", arg, tickangle) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("tickfont", arg, tickfont) + self._set_property("tickformat", arg, tickformat) + self._set_property("tickformatstops", arg, tickformatstops) + self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickmode", arg, tickmode) + self._set_property("tickprefix", arg, tickprefix) + self._set_property("ticks", arg, ticks) + self._set_property("ticksuffix", arg, ticksuffix) + self._set_property("ticktext", arg, ticktext) + self._set_property("ticktextsrc", arg, ticktextsrc) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._set_property("title", arg, title) + self._set_property("type", arg, type) + self._set_property("visible", arg, visible) + self._set_property("zeroline", arg, zeroline) + self._set_property("zerolinecolor", arg, zerolinecolor) + self._set_property("zerolinewidth", arg, zerolinewidth) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/__init__.py new file mode 100644 index 0000000..372a9f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/__init__.py @@ -0,0 +1,13 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font + from ._hoverlabel import Hoverlabel + from . import hoverlabel +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [".hoverlabel"], ["._font.Font", "._hoverlabel.Hoverlabel"] + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/_font.py new file mode 100644 index 0000000..d4a686a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.annotation" + _path_str = "layout.scene.annotation.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the annotation text font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.annotation.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.annotation.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.annotation.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/_hoverlabel.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/_hoverlabel.py new file mode 100644 index 0000000..32232be --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/_hoverlabel.py @@ -0,0 +1,151 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Hoverlabel(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.annotation" + _path_str = "layout.scene.annotation.hoverlabel" + _valid_props = {"bgcolor", "bordercolor", "font"} + + @property + def bgcolor(self): + """ + Sets the background color of the hover label. By default uses + the annotation's `bgcolor` made opaque, or white if it was + transparent. + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def bordercolor(self): + """ + Sets the border color of the hover label. By default uses + either dark grey or white, for maximum contrast with + `hoverlabel.bgcolor`. + + The 'bordercolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bordercolor"] + + @bordercolor.setter + def bordercolor(self, val): + self["bordercolor"] = val + + @property + def font(self): + """ + Sets the hover label text font. By default uses the global + hover font and size, with color from `hoverlabel.bordercolor`. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.annotation.hoverlabel.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.scene.annotation.hoverlabel.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def _prop_descriptions(self): + return """\ + bgcolor + Sets the background color of the hover label. By + default uses the annotation's `bgcolor` made opaque, or + white if it was transparent. + bordercolor + Sets the border color of the hover label. By default + uses either dark grey or white, for maximum contrast + with `hoverlabel.bgcolor`. + font + Sets the hover label text font. By default uses the + global hover font and size, with color from + `hoverlabel.bordercolor`. + """ + + def __init__(self, arg=None, bgcolor=None, bordercolor=None, font=None, **kwargs): + """ + Construct a new Hoverlabel object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.scene.a + nnotation.Hoverlabel` + bgcolor + Sets the background color of the hover label. By + default uses the annotation's `bgcolor` made opaque, or + white if it was transparent. + bordercolor + Sets the border color of the hover label. By default + uses either dark grey or white, for maximum contrast + with `hoverlabel.bgcolor`. + font + Sets the hover label text font. By default uses the + global hover font and size, with color from + `hoverlabel.bordercolor`. + + Returns + ------- + Hoverlabel + """ + super().__init__("hoverlabel") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.annotation.Hoverlabel +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.annotation.Hoverlabel`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("bgcolor", arg, bgcolor) + self._set_property("bordercolor", arg, bordercolor) + self._set_property("font", arg, font) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/hoverlabel/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/hoverlabel/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/hoverlabel/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/hoverlabel/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/hoverlabel/_font.py new file mode 100644 index 0000000..04b66f2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/annotation/hoverlabel/_font.py @@ -0,0 +1,335 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.annotation.hoverlabel" + _path_str = "layout.scene.annotation.hoverlabel.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the hover label text font. By default uses the global + hover font and size, with color from `hoverlabel.bordercolor`. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.scene.a + nnotation.hoverlabel.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.annotation.hoverlabel.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.annotation.hoverlabel.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/__init__.py new file mode 100644 index 0000000..76c8894 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/__init__.py @@ -0,0 +1,16 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._center import Center + from ._eye import Eye + from ._projection import Projection + from ._up import Up +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [], + ["._center.Center", "._eye.Eye", "._projection.Projection", "._up.Up"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/_center.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/_center.py new file mode 100644 index 0000000..b64f441 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/_center.py @@ -0,0 +1,121 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Center(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.camera" + _path_str = "layout.scene.camera.center" + _valid_props = {"x", "y", "z"} + + @property + def x(self): + """ + The 'x' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def y(self): + """ + The 'y' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def z(self): + """ + The 'z' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["z"] + + @z.setter + def z(self, val): + self["z"] = val + + @property + def _prop_descriptions(self): + return """\ + x + + y + + z + + """ + + def __init__(self, arg=None, x=None, y=None, z=None, **kwargs): + """ + Construct a new Center object + + Sets the (x,y,z) components of the 'center' camera vector This + vector determines the translation (x,y,z) space about the + center of this scene. By default, there is no such translation. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.camera.Center` + x + + y + + z + + + Returns + ------- + Center + """ + super().__init__("center") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.camera.Center +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.camera.Center`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("x", arg, x) + self._set_property("y", arg, y) + self._set_property("z", arg, z) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/_eye.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/_eye.py new file mode 100644 index 0000000..19767a8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/_eye.py @@ -0,0 +1,121 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Eye(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.camera" + _path_str = "layout.scene.camera.eye" + _valid_props = {"x", "y", "z"} + + @property + def x(self): + """ + The 'x' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def y(self): + """ + The 'y' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def z(self): + """ + The 'z' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["z"] + + @z.setter + def z(self, val): + self["z"] = val + + @property + def _prop_descriptions(self): + return """\ + x + + y + + z + + """ + + def __init__(self, arg=None, x=None, y=None, z=None, **kwargs): + """ + Construct a new Eye object + + Sets the (x,y,z) components of the 'eye' camera vector. This + vector determines the view point about the origin of this + scene. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.camera.Eye` + x + + y + + z + + + Returns + ------- + Eye + """ + super().__init__("eye") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.camera.Eye +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.camera.Eye`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("x", arg, x) + self._set_property("y", arg, y) + self._set_property("z", arg, z) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/_projection.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/_projection.py new file mode 100644 index 0000000..58b936e --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/_projection.py @@ -0,0 +1,83 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Projection(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.camera" + _path_str = "layout.scene.camera.projection" + _valid_props = {"type"} + + @property + def type(self): + """ + Sets the projection type. The projection type could be either + "perspective" or "orthographic". The default is "perspective". + + The 'type' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['perspective', 'orthographic'] + + Returns + ------- + Any + """ + return self["type"] + + @type.setter + def type(self, val): + self["type"] = val + + @property + def _prop_descriptions(self): + return """\ + type + Sets the projection type. The projection type could be + either "perspective" or "orthographic". The default is + "perspective". + """ + + def __init__(self, arg=None, type=None, **kwargs): + """ + Construct a new Projection object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.scene.c + amera.Projection` + type + Sets the projection type. The projection type could be + either "perspective" or "orthographic". The default is + "perspective". + + Returns + ------- + Projection + """ + super().__init__("projection") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.camera.Projection +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.camera.Projection`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("type", arg, type) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/_up.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/_up.py new file mode 100644 index 0000000..1f307ec --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/camera/_up.py @@ -0,0 +1,122 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Up(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.camera" + _path_str = "layout.scene.camera.up" + _valid_props = {"x", "y", "z"} + + @property + def x(self): + """ + The 'x' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def y(self): + """ + The 'y' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def z(self): + """ + The 'z' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["z"] + + @z.setter + def z(self, val): + self["z"] = val + + @property + def _prop_descriptions(self): + return """\ + x + + y + + z + + """ + + def __init__(self, arg=None, x=None, y=None, z=None, **kwargs): + """ + Construct a new Up object + + Sets the (x,y,z) components of the 'up' camera vector. This + vector determines the up direction of this scene with respect + to the page. The default is *{x: 0, y: 0, z: 1}* which means + that the z axis points up. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.camera.Up` + x + + y + + z + + + Returns + ------- + Up + """ + super().__init__("up") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.camera.Up +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.camera.Up`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("x", arg, x) + self._set_property("y", arg, y) + self._set_property("z", arg, z) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/__init__.py new file mode 100644 index 0000000..d58e980 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/__init__.py @@ -0,0 +1,22 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._autorangeoptions import Autorangeoptions + from ._tickfont import Tickfont + from ._tickformatstop import Tickformatstop + from ._title import Title + from . import title +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".title"], + [ + "._autorangeoptions.Autorangeoptions", + "._tickfont.Tickfont", + "._tickformatstop.Tickformatstop", + "._title.Title", + ], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/_autorangeoptions.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/_autorangeoptions.py new file mode 100644 index 0000000..707a38e --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/_autorangeoptions.py @@ -0,0 +1,216 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Autorangeoptions(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.xaxis" + _path_str = "layout.scene.xaxis.autorangeoptions" + _valid_props = { + "clipmax", + "clipmin", + "include", + "includesrc", + "maxallowed", + "minallowed", + } + + @property + def clipmax(self): + """ + Clip autorange maximum if it goes beyond this value. Has no + effect when `autorangeoptions.maxallowed` is provided. + + The 'clipmax' property accepts values of any type + + Returns + ------- + Any + """ + return self["clipmax"] + + @clipmax.setter + def clipmax(self, val): + self["clipmax"] = val + + @property + def clipmin(self): + """ + Clip autorange minimum if it goes beyond this value. Has no + effect when `autorangeoptions.minallowed` is provided. + + The 'clipmin' property accepts values of any type + + Returns + ------- + Any + """ + return self["clipmin"] + + @clipmin.setter + def clipmin(self, val): + self["clipmin"] = val + + @property + def include(self): + """ + Ensure this value is included in autorange. + + The 'include' property accepts values of any type + + Returns + ------- + Any|numpy.ndarray + """ + return self["include"] + + @include.setter + def include(self, val): + self["include"] = val + + @property + def includesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `include`. + + The 'includesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["includesrc"] + + @includesrc.setter + def includesrc(self, val): + self["includesrc"] = val + + @property + def maxallowed(self): + """ + Use this value exactly as autorange maximum. + + The 'maxallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["maxallowed"] + + @maxallowed.setter + def maxallowed(self, val): + self["maxallowed"] = val + + @property + def minallowed(self): + """ + Use this value exactly as autorange minimum. + + The 'minallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["minallowed"] + + @minallowed.setter + def minallowed(self, val): + self["minallowed"] = val + + @property + def _prop_descriptions(self): + return """\ + clipmax + Clip autorange maximum if it goes beyond this value. + Has no effect when `autorangeoptions.maxallowed` is + provided. + clipmin + Clip autorange minimum if it goes beyond this value. + Has no effect when `autorangeoptions.minallowed` is + provided. + include + Ensure this value is included in autorange. + includesrc + Sets the source reference on Chart Studio Cloud for + `include`. + maxallowed + Use this value exactly as autorange maximum. + minallowed + Use this value exactly as autorange minimum. + """ + + def __init__( + self, + arg=None, + clipmax=None, + clipmin=None, + include=None, + includesrc=None, + maxallowed=None, + minallowed=None, + **kwargs, + ): + """ + Construct a new Autorangeoptions object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.scene.x + axis.Autorangeoptions` + clipmax + Clip autorange maximum if it goes beyond this value. + Has no effect when `autorangeoptions.maxallowed` is + provided. + clipmin + Clip autorange minimum if it goes beyond this value. + Has no effect when `autorangeoptions.minallowed` is + provided. + include + Ensure this value is included in autorange. + includesrc + Sets the source reference on Chart Studio Cloud for + `include`. + maxallowed + Use this value exactly as autorange maximum. + minallowed + Use this value exactly as autorange minimum. + + Returns + ------- + Autorangeoptions + """ + super().__init__("autorangeoptions") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.xaxis.Autorangeoptions +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.xaxis.Autorangeoptions`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("clipmax", arg, clipmax) + self._set_property("clipmin", arg, clipmin) + self._set_property("include", arg, include) + self._set_property("includesrc", arg, includesrc) + self._set_property("maxallowed", arg, maxallowed) + self._set_property("minallowed", arg, minallowed) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/_tickfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/_tickfont.py new file mode 100644 index 0000000..d9d2628 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/_tickfont.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.xaxis" + _path_str = "layout.scene.xaxis.tickfont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Tickfont object + + Sets the tick font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.xaxis.Tickfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Tickfont + """ + super().__init__("tickfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.xaxis.Tickfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.xaxis.Tickfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/_tickformatstop.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/_tickformatstop.py new file mode 100644 index 0000000..8953f2c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/_tickformatstop.py @@ -0,0 +1,241 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickformatstop(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.xaxis" + _path_str = "layout.scene.xaxis.tickformatstop" + _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} + + @property + def dtickrange(self): + """ + range [*min*, *max*], where "min", "max" - dtick values which + describe some zoom level, it is possible to omit "min" or "max" + value by passing "null" + + The 'dtickrange' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'dtickrange[0]' property accepts values of any type + (1) The 'dtickrange[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["dtickrange"] + + @dtickrange.setter + def dtickrange(self, val): + self["dtickrange"] = val + + @property + def enabled(self): + """ + Determines whether or not this stop is used. If `false`, this + stop is ignored even within its `dtickrange`. + + The 'enabled' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["enabled"] + + @enabled.setter + def enabled(self, val): + self["enabled"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def value(self): + """ + string - dtickformat for described zoom level, the same as + "tickformat" + + The 'value' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["value"] + + @value.setter + def value(self, val): + self["value"] = val + + @property + def _prop_descriptions(self): + return """\ + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + """ + + def __init__( + self, + arg=None, + dtickrange=None, + enabled=None, + name=None, + templateitemname=None, + value=None, + **kwargs, + ): + """ + Construct a new Tickformatstop object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.scene.x + axis.Tickformatstop` + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + + Returns + ------- + Tickformatstop + """ + super().__init__("tickformatstops") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.xaxis.Tickformatstop +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.xaxis.Tickformatstop`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtickrange", arg, dtickrange) + self._set_property("enabled", arg, enabled) + self._set_property("name", arg, name) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("value", arg, value) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/_title.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/_title.py new file mode 100644 index 0000000..b2be9aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/_title.py @@ -0,0 +1,104 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Title(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.xaxis" + _path_str = "layout.scene.xaxis.title" + _valid_props = {"font", "text"} + + @property + def font(self): + """ + Sets this axis' title font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.xaxis.title.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.scene.xaxis.title.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def text(self): + """ + Sets the title of this axis. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets this axis' title font. + text + Sets the title of this axis. + """ + + def __init__(self, arg=None, font=None, text=None, **kwargs): + """ + Construct a new Title object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.xaxis.Title` + font + Sets this axis' title font. + text + Sets the title of this axis. + + Returns + ------- + Title + """ + super().__init__("title") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.xaxis.Title +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.xaxis.Title`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("text", arg, text) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/title/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/title/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/title/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/title/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/title/_font.py new file mode 100644 index 0000000..46dc7b4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/xaxis/title/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.xaxis.title" + _path_str = "layout.scene.xaxis.title.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets this axis' title font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.scene.x + axis.title.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.xaxis.title.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.xaxis.title.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/__init__.py new file mode 100644 index 0000000..d58e980 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/__init__.py @@ -0,0 +1,22 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._autorangeoptions import Autorangeoptions + from ._tickfont import Tickfont + from ._tickformatstop import Tickformatstop + from ._title import Title + from . import title +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".title"], + [ + "._autorangeoptions.Autorangeoptions", + "._tickfont.Tickfont", + "._tickformatstop.Tickformatstop", + "._title.Title", + ], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/_autorangeoptions.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/_autorangeoptions.py new file mode 100644 index 0000000..1f57def --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/_autorangeoptions.py @@ -0,0 +1,216 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Autorangeoptions(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.yaxis" + _path_str = "layout.scene.yaxis.autorangeoptions" + _valid_props = { + "clipmax", + "clipmin", + "include", + "includesrc", + "maxallowed", + "minallowed", + } + + @property + def clipmax(self): + """ + Clip autorange maximum if it goes beyond this value. Has no + effect when `autorangeoptions.maxallowed` is provided. + + The 'clipmax' property accepts values of any type + + Returns + ------- + Any + """ + return self["clipmax"] + + @clipmax.setter + def clipmax(self, val): + self["clipmax"] = val + + @property + def clipmin(self): + """ + Clip autorange minimum if it goes beyond this value. Has no + effect when `autorangeoptions.minallowed` is provided. + + The 'clipmin' property accepts values of any type + + Returns + ------- + Any + """ + return self["clipmin"] + + @clipmin.setter + def clipmin(self, val): + self["clipmin"] = val + + @property + def include(self): + """ + Ensure this value is included in autorange. + + The 'include' property accepts values of any type + + Returns + ------- + Any|numpy.ndarray + """ + return self["include"] + + @include.setter + def include(self, val): + self["include"] = val + + @property + def includesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `include`. + + The 'includesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["includesrc"] + + @includesrc.setter + def includesrc(self, val): + self["includesrc"] = val + + @property + def maxallowed(self): + """ + Use this value exactly as autorange maximum. + + The 'maxallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["maxallowed"] + + @maxallowed.setter + def maxallowed(self, val): + self["maxallowed"] = val + + @property + def minallowed(self): + """ + Use this value exactly as autorange minimum. + + The 'minallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["minallowed"] + + @minallowed.setter + def minallowed(self, val): + self["minallowed"] = val + + @property + def _prop_descriptions(self): + return """\ + clipmax + Clip autorange maximum if it goes beyond this value. + Has no effect when `autorangeoptions.maxallowed` is + provided. + clipmin + Clip autorange minimum if it goes beyond this value. + Has no effect when `autorangeoptions.minallowed` is + provided. + include + Ensure this value is included in autorange. + includesrc + Sets the source reference on Chart Studio Cloud for + `include`. + maxallowed + Use this value exactly as autorange maximum. + minallowed + Use this value exactly as autorange minimum. + """ + + def __init__( + self, + arg=None, + clipmax=None, + clipmin=None, + include=None, + includesrc=None, + maxallowed=None, + minallowed=None, + **kwargs, + ): + """ + Construct a new Autorangeoptions object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.scene.y + axis.Autorangeoptions` + clipmax + Clip autorange maximum if it goes beyond this value. + Has no effect when `autorangeoptions.maxallowed` is + provided. + clipmin + Clip autorange minimum if it goes beyond this value. + Has no effect when `autorangeoptions.minallowed` is + provided. + include + Ensure this value is included in autorange. + includesrc + Sets the source reference on Chart Studio Cloud for + `include`. + maxallowed + Use this value exactly as autorange maximum. + minallowed + Use this value exactly as autorange minimum. + + Returns + ------- + Autorangeoptions + """ + super().__init__("autorangeoptions") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.yaxis.Autorangeoptions +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.yaxis.Autorangeoptions`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("clipmax", arg, clipmax) + self._set_property("clipmin", arg, clipmin) + self._set_property("include", arg, include) + self._set_property("includesrc", arg, includesrc) + self._set_property("maxallowed", arg, maxallowed) + self._set_property("minallowed", arg, minallowed) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/_tickfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/_tickfont.py new file mode 100644 index 0000000..ff12147 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/_tickfont.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.yaxis" + _path_str = "layout.scene.yaxis.tickfont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Tickfont object + + Sets the tick font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.yaxis.Tickfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Tickfont + """ + super().__init__("tickfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.yaxis.Tickfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.yaxis.Tickfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/_tickformatstop.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/_tickformatstop.py new file mode 100644 index 0000000..faf7540 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/_tickformatstop.py @@ -0,0 +1,241 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickformatstop(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.yaxis" + _path_str = "layout.scene.yaxis.tickformatstop" + _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} + + @property + def dtickrange(self): + """ + range [*min*, *max*], where "min", "max" - dtick values which + describe some zoom level, it is possible to omit "min" or "max" + value by passing "null" + + The 'dtickrange' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'dtickrange[0]' property accepts values of any type + (1) The 'dtickrange[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["dtickrange"] + + @dtickrange.setter + def dtickrange(self, val): + self["dtickrange"] = val + + @property + def enabled(self): + """ + Determines whether or not this stop is used. If `false`, this + stop is ignored even within its `dtickrange`. + + The 'enabled' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["enabled"] + + @enabled.setter + def enabled(self, val): + self["enabled"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def value(self): + """ + string - dtickformat for described zoom level, the same as + "tickformat" + + The 'value' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["value"] + + @value.setter + def value(self, val): + self["value"] = val + + @property + def _prop_descriptions(self): + return """\ + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + """ + + def __init__( + self, + arg=None, + dtickrange=None, + enabled=None, + name=None, + templateitemname=None, + value=None, + **kwargs, + ): + """ + Construct a new Tickformatstop object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.scene.y + axis.Tickformatstop` + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + + Returns + ------- + Tickformatstop + """ + super().__init__("tickformatstops") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.yaxis.Tickformatstop +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.yaxis.Tickformatstop`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtickrange", arg, dtickrange) + self._set_property("enabled", arg, enabled) + self._set_property("name", arg, name) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("value", arg, value) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/_title.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/_title.py new file mode 100644 index 0000000..296c622 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/_title.py @@ -0,0 +1,104 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Title(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.yaxis" + _path_str = "layout.scene.yaxis.title" + _valid_props = {"font", "text"} + + @property + def font(self): + """ + Sets this axis' title font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.yaxis.title.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.scene.yaxis.title.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def text(self): + """ + Sets the title of this axis. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets this axis' title font. + text + Sets the title of this axis. + """ + + def __init__(self, arg=None, font=None, text=None, **kwargs): + """ + Construct a new Title object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.yaxis.Title` + font + Sets this axis' title font. + text + Sets the title of this axis. + + Returns + ------- + Title + """ + super().__init__("title") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.yaxis.Title +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.yaxis.Title`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("text", arg, text) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/title/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/title/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/title/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/title/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/title/_font.py new file mode 100644 index 0000000..81c436c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/yaxis/title/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.yaxis.title" + _path_str = "layout.scene.yaxis.title.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets this axis' title font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.scene.y + axis.title.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.yaxis.title.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.yaxis.title.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/__init__.py new file mode 100644 index 0000000..d58e980 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/__init__.py @@ -0,0 +1,22 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._autorangeoptions import Autorangeoptions + from ._tickfont import Tickfont + from ._tickformatstop import Tickformatstop + from ._title import Title + from . import title +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".title"], + [ + "._autorangeoptions.Autorangeoptions", + "._tickfont.Tickfont", + "._tickformatstop.Tickformatstop", + "._title.Title", + ], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/_autorangeoptions.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/_autorangeoptions.py new file mode 100644 index 0000000..ca4a8db --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/_autorangeoptions.py @@ -0,0 +1,216 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Autorangeoptions(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.zaxis" + _path_str = "layout.scene.zaxis.autorangeoptions" + _valid_props = { + "clipmax", + "clipmin", + "include", + "includesrc", + "maxallowed", + "minallowed", + } + + @property + def clipmax(self): + """ + Clip autorange maximum if it goes beyond this value. Has no + effect when `autorangeoptions.maxallowed` is provided. + + The 'clipmax' property accepts values of any type + + Returns + ------- + Any + """ + return self["clipmax"] + + @clipmax.setter + def clipmax(self, val): + self["clipmax"] = val + + @property + def clipmin(self): + """ + Clip autorange minimum if it goes beyond this value. Has no + effect when `autorangeoptions.minallowed` is provided. + + The 'clipmin' property accepts values of any type + + Returns + ------- + Any + """ + return self["clipmin"] + + @clipmin.setter + def clipmin(self, val): + self["clipmin"] = val + + @property + def include(self): + """ + Ensure this value is included in autorange. + + The 'include' property accepts values of any type + + Returns + ------- + Any|numpy.ndarray + """ + return self["include"] + + @include.setter + def include(self, val): + self["include"] = val + + @property + def includesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `include`. + + The 'includesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["includesrc"] + + @includesrc.setter + def includesrc(self, val): + self["includesrc"] = val + + @property + def maxallowed(self): + """ + Use this value exactly as autorange maximum. + + The 'maxallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["maxallowed"] + + @maxallowed.setter + def maxallowed(self, val): + self["maxallowed"] = val + + @property + def minallowed(self): + """ + Use this value exactly as autorange minimum. + + The 'minallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["minallowed"] + + @minallowed.setter + def minallowed(self, val): + self["minallowed"] = val + + @property + def _prop_descriptions(self): + return """\ + clipmax + Clip autorange maximum if it goes beyond this value. + Has no effect when `autorangeoptions.maxallowed` is + provided. + clipmin + Clip autorange minimum if it goes beyond this value. + Has no effect when `autorangeoptions.minallowed` is + provided. + include + Ensure this value is included in autorange. + includesrc + Sets the source reference on Chart Studio Cloud for + `include`. + maxallowed + Use this value exactly as autorange maximum. + minallowed + Use this value exactly as autorange minimum. + """ + + def __init__( + self, + arg=None, + clipmax=None, + clipmin=None, + include=None, + includesrc=None, + maxallowed=None, + minallowed=None, + **kwargs, + ): + """ + Construct a new Autorangeoptions object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.scene.z + axis.Autorangeoptions` + clipmax + Clip autorange maximum if it goes beyond this value. + Has no effect when `autorangeoptions.maxallowed` is + provided. + clipmin + Clip autorange minimum if it goes beyond this value. + Has no effect when `autorangeoptions.minallowed` is + provided. + include + Ensure this value is included in autorange. + includesrc + Sets the source reference on Chart Studio Cloud for + `include`. + maxallowed + Use this value exactly as autorange maximum. + minallowed + Use this value exactly as autorange minimum. + + Returns + ------- + Autorangeoptions + """ + super().__init__("autorangeoptions") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.zaxis.Autorangeoptions +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.zaxis.Autorangeoptions`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("clipmax", arg, clipmax) + self._set_property("clipmin", arg, clipmin) + self._set_property("include", arg, include) + self._set_property("includesrc", arg, includesrc) + self._set_property("maxallowed", arg, maxallowed) + self._set_property("minallowed", arg, minallowed) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/_tickfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/_tickfont.py new file mode 100644 index 0000000..7146405 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/_tickfont.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.zaxis" + _path_str = "layout.scene.zaxis.tickfont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Tickfont object + + Sets the tick font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.zaxis.Tickfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Tickfont + """ + super().__init__("tickfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.zaxis.Tickfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.zaxis.Tickfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/_tickformatstop.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/_tickformatstop.py new file mode 100644 index 0000000..1d6cc95 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/_tickformatstop.py @@ -0,0 +1,241 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickformatstop(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.zaxis" + _path_str = "layout.scene.zaxis.tickformatstop" + _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} + + @property + def dtickrange(self): + """ + range [*min*, *max*], where "min", "max" - dtick values which + describe some zoom level, it is possible to omit "min" or "max" + value by passing "null" + + The 'dtickrange' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'dtickrange[0]' property accepts values of any type + (1) The 'dtickrange[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["dtickrange"] + + @dtickrange.setter + def dtickrange(self, val): + self["dtickrange"] = val + + @property + def enabled(self): + """ + Determines whether or not this stop is used. If `false`, this + stop is ignored even within its `dtickrange`. + + The 'enabled' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["enabled"] + + @enabled.setter + def enabled(self, val): + self["enabled"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def value(self): + """ + string - dtickformat for described zoom level, the same as + "tickformat" + + The 'value' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["value"] + + @value.setter + def value(self, val): + self["value"] = val + + @property + def _prop_descriptions(self): + return """\ + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + """ + + def __init__( + self, + arg=None, + dtickrange=None, + enabled=None, + name=None, + templateitemname=None, + value=None, + **kwargs, + ): + """ + Construct a new Tickformatstop object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.scene.z + axis.Tickformatstop` + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + + Returns + ------- + Tickformatstop + """ + super().__init__("tickformatstops") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.zaxis.Tickformatstop +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.zaxis.Tickformatstop`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtickrange", arg, dtickrange) + self._set_property("enabled", arg, enabled) + self._set_property("name", arg, name) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("value", arg, value) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/_title.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/_title.py new file mode 100644 index 0000000..ae7e476 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/_title.py @@ -0,0 +1,104 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Title(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.zaxis" + _path_str = "layout.scene.zaxis.title" + _valid_props = {"font", "text"} + + @property + def font(self): + """ + Sets this axis' title font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.scene.zaxis.title.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.scene.zaxis.title.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def text(self): + """ + Sets the title of this axis. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets this axis' title font. + text + Sets the title of this axis. + """ + + def __init__(self, arg=None, font=None, text=None, **kwargs): + """ + Construct a new Title object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.scene.zaxis.Title` + font + Sets this axis' title font. + text + Sets the title of this axis. + + Returns + ------- + Title + """ + super().__init__("title") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.zaxis.Title +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.zaxis.Title`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("text", arg, text) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/title/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/title/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/title/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/title/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/title/_font.py new file mode 100644 index 0000000..54972c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/scene/zaxis/title/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.scene.zaxis.title" + _path_str = "layout.scene.zaxis.title.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets this axis' title font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.scene.z + axis.title.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.scene.zaxis.title.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.scene.zaxis.title.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/selection/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/selection/__init__.py new file mode 100644 index 0000000..33e42c0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/selection/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._line import Line +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._line.Line"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/selection/_line.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/selection/_line.py new file mode 100644 index 0000000..aeecc17 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/selection/_line.py @@ -0,0 +1,139 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Line(_BaseLayoutHierarchyType): + _parent_path_str = "layout.selection" + _path_str = "layout.selection.line" + _valid_props = {"color", "dash", "width"} + + @property + def color(self): + """ + Sets the line color. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def dash(self): + """ + 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"). + + The 'dash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["dash"] + + @dash.setter + def dash(self, val): + self["dash"] = val + + @property + def width(self): + """ + Sets the line width (in px). + + The 'width' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["width"] + + @width.setter + def width(self, val): + self["width"] = val + + @property + def _prop_descriptions(self): + return """\ + color + Sets the line color. + dash + 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"). + width + Sets the line width (in px). + """ + + def __init__(self, arg=None, color=None, dash=None, width=None, **kwargs): + """ + Construct a new Line object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.selection.Line` + color + Sets the line color. + dash + 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"). + width + Sets the line width (in px). + + Returns + ------- + Line + """ + super().__init__("line") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.selection.Line +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.selection.Line`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("dash", arg, dash) + self._set_property("width", arg, width) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/__init__.py new file mode 100644 index 0000000..9192b99 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/__init__.py @@ -0,0 +1,17 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._label import Label + from ._legendgrouptitle import Legendgrouptitle + from ._line import Line + from . import label + from . import legendgrouptitle +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".label", ".legendgrouptitle"], + ["._label.Label", "._legendgrouptitle.Legendgrouptitle", "._line.Line"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/_label.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/_label.py new file mode 100644 index 0000000..81028c6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/_label.py @@ -0,0 +1,396 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Label(_BaseLayoutHierarchyType): + _parent_path_str = "layout.shape" + _path_str = "layout.shape.label" + _valid_props = { + "font", + "padding", + "text", + "textangle", + "textposition", + "texttemplate", + "xanchor", + "yanchor", + } + + @property + def font(self): + """ + Sets the shape label text font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.shape.label.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.shape.label.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def padding(self): + """ + Sets padding (in px) between edge of label and edge of shape. + + The 'padding' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["padding"] + + @padding.setter + def padding(self, val): + self["padding"] = val + + @property + def text(self): + """ + Sets the text to display with shape. It is also used for legend + item if `name` is not provided. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def textangle(self): + """ + Sets the angle at which the label text is drawn with respect to + the horizontal. For lines, angle "auto" is the same angle as + the line. For all other shapes, angle "auto" is horizontal. + + The 'textangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["textangle"] + + @textangle.setter + def textangle(self, val): + self["textangle"] = val + + @property + def textposition(self): + """ + Sets the position of the label text relative to the shape. + Supported values for rectangles, circles and paths are *top + left*, *top center*, *top right*, *middle left*, *middle + center*, *middle right*, *bottom left*, *bottom center*, and + *bottom right*. Supported values for lines are "start", + "middle", and "end". Default: *middle center* for rectangles, + circles, and paths; "middle" for lines. + + The 'textposition' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top left', 'top center', 'top right', 'middle left', + 'middle center', 'middle right', 'bottom left', 'bottom + center', 'bottom right', 'start', 'middle', 'end'] + + Returns + ------- + Any + """ + return self["textposition"] + + @textposition.setter + def textposition(self, val): + self["textposition"] = val + + @property + def texttemplate(self): + """ + Template string used for rendering the shape's label. Note that + this will override `text`. Variables are inserted using + %{variable}, for example "x0: %{x0}". Numbers are formatted + using d3-format's syntax %{variable:d3-format}, for example + "Price: %{x0:$.2f}". See + https://github.com/d3/d3-format/tree/v1.4.5#d3-format for + details on the formatting syntax. Dates are formatted using + d3-time-format's syntax %{variable|d3-time-format}, for example + "Day: %{x0|%m %b %Y}". See https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format for details on the date + formatting syntax. A single multiplication or division + operation may be applied to numeric variables, and combined + with d3 number formatting, for example "Length in cm: + %{x0*2.54}", "%{slope*60:.1f} meters per second." For log axes, + variable values are given in log units. For date axes, x/y + coordinate variables and center variables use datetimes, while + all other variable values use values in ms. Finally, the + template string has access to variables `x0`, `x1`, `y0`, `y1`, + `slope`, `dx`, `dy`, `width`, `height`, `length`, `xcenter` and + `ycenter`. + + The 'texttemplate' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["texttemplate"] + + @texttemplate.setter + def texttemplate(self, val): + self["texttemplate"] = val + + @property + def xanchor(self): + """ + Sets the label's horizontal position anchor This anchor binds + the specified `textposition` to the "left", "center" or "right" + of the label text. For example, if `textposition` is set to + *top right* and `xanchor` to "right" then the right-most + portion of the label text lines up with the right-most edge of + the shape. + + The 'xanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'left', 'center', 'right'] + + Returns + ------- + Any + """ + return self["xanchor"] + + @xanchor.setter + def xanchor(self, val): + self["xanchor"] = val + + @property + def yanchor(self): + """ + Sets the label's vertical position anchor This anchor binds the + specified `textposition` to the "top", "middle" or "bottom" of + the label text. For example, if `textposition` is set to *top + right* and `yanchor` to "top" then the top-most portion of the + label text lines up with the top-most edge of the shape. + + The 'yanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["yanchor"] + + @yanchor.setter + def yanchor(self, val): + self["yanchor"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets the shape label text font. + padding + Sets padding (in px) between edge of label and edge of + shape. + text + Sets the text to display with shape. It is also used + for legend item if `name` is not provided. + textangle + Sets the angle at which the label text is drawn with + respect to the horizontal. For lines, angle "auto" is + the same angle as the line. For all other shapes, angle + "auto" is horizontal. + textposition + Sets the position of the label text relative to the + shape. Supported values for rectangles, circles and + paths are *top left*, *top center*, *top right*, + *middle left*, *middle center*, *middle right*, *bottom + left*, *bottom center*, and *bottom right*. Supported + values for lines are "start", "middle", and "end". + Default: *middle center* for rectangles, circles, and + paths; "middle" for lines. + texttemplate + Template string used for rendering the shape's label. + Note that this will override `text`. Variables are + inserted using %{variable}, for example "x0: %{x0}". + Numbers are formatted using d3-format's syntax + %{variable:d3-format}, for example "Price: %{x0:$.2f}". + See + https://github.com/d3/d3-format/tree/v1.4.5#d3-format + for details on the formatting syntax. Dates are + formatted using d3-time-format's syntax + %{variable|d3-time-format}, for example "Day: %{x0|%m + %b %Y}". See https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format for details on the + date formatting syntax. A single multiplication or + division operation may be applied to numeric variables, + and combined with d3 number formatting, for example + "Length in cm: %{x0*2.54}", "%{slope*60:.1f} meters per + second." For log axes, variable values are given in log + units. For date axes, x/y coordinate variables and + center variables use datetimes, while all other + variable values use values in ms. Finally, the template + string has access to variables `x0`, `x1`, `y0`, `y1`, + `slope`, `dx`, `dy`, `width`, `height`, `length`, + `xcenter` and `ycenter`. + xanchor + Sets the label's horizontal position anchor This anchor + binds the specified `textposition` to the "left", + "center" or "right" of the label text. For example, if + `textposition` is set to *top right* and `xanchor` to + "right" then the right-most portion of the label text + lines up with the right-most edge of the shape. + yanchor + Sets the label's vertical position anchor This anchor + binds the specified `textposition` to the "top", + "middle" or "bottom" of the label text. For example, if + `textposition` is set to *top right* and `yanchor` to + "top" then the top-most portion of the label text lines + up with the top-most edge of the shape. + """ + + def __init__( + self, + arg=None, + font=None, + padding=None, + text=None, + textangle=None, + textposition=None, + texttemplate=None, + xanchor=None, + yanchor=None, + **kwargs, + ): + """ + Construct a new Label object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.shape.Label` + font + Sets the shape label text font. + padding + Sets padding (in px) between edge of label and edge of + shape. + text + Sets the text to display with shape. It is also used + for legend item if `name` is not provided. + textangle + Sets the angle at which the label text is drawn with + respect to the horizontal. For lines, angle "auto" is + the same angle as the line. For all other shapes, angle + "auto" is horizontal. + textposition + Sets the position of the label text relative to the + shape. Supported values for rectangles, circles and + paths are *top left*, *top center*, *top right*, + *middle left*, *middle center*, *middle right*, *bottom + left*, *bottom center*, and *bottom right*. Supported + values for lines are "start", "middle", and "end". + Default: *middle center* for rectangles, circles, and + paths; "middle" for lines. + texttemplate + Template string used for rendering the shape's label. + Note that this will override `text`. Variables are + inserted using %{variable}, for example "x0: %{x0}". + Numbers are formatted using d3-format's syntax + %{variable:d3-format}, for example "Price: %{x0:$.2f}". + See + https://github.com/d3/d3-format/tree/v1.4.5#d3-format + for details on the formatting syntax. Dates are + formatted using d3-time-format's syntax + %{variable|d3-time-format}, for example "Day: %{x0|%m + %b %Y}". See https://github.com/d3/d3-time- + format/tree/v2.2.3#locale_format for details on the + date formatting syntax. A single multiplication or + division operation may be applied to numeric variables, + and combined with d3 number formatting, for example + "Length in cm: %{x0*2.54}", "%{slope*60:.1f} meters per + second." For log axes, variable values are given in log + units. For date axes, x/y coordinate variables and + center variables use datetimes, while all other + variable values use values in ms. Finally, the template + string has access to variables `x0`, `x1`, `y0`, `y1`, + `slope`, `dx`, `dy`, `width`, `height`, `length`, + `xcenter` and `ycenter`. + xanchor + Sets the label's horizontal position anchor This anchor + binds the specified `textposition` to the "left", + "center" or "right" of the label text. For example, if + `textposition` is set to *top right* and `xanchor` to + "right" then the right-most portion of the label text + lines up with the right-most edge of the shape. + yanchor + Sets the label's vertical position anchor This anchor + binds the specified `textposition` to the "top", + "middle" or "bottom" of the label text. For example, if + `textposition` is set to *top right* and `yanchor` to + "top" then the top-most portion of the label text lines + up with the top-most edge of the shape. + + Returns + ------- + Label + """ + super().__init__("label") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.shape.Label +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.shape.Label`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("padding", arg, padding) + self._set_property("text", arg, text) + self._set_property("textangle", arg, textangle) + self._set_property("textposition", arg, textposition) + self._set_property("texttemplate", arg, texttemplate) + self._set_property("xanchor", arg, xanchor) + self._set_property("yanchor", arg, yanchor) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/_legendgrouptitle.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/_legendgrouptitle.py new file mode 100644 index 0000000..898c1fb --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/_legendgrouptitle.py @@ -0,0 +1,104 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Legendgrouptitle(_BaseLayoutHierarchyType): + _parent_path_str = "layout.shape" + _path_str = "layout.shape.legendgrouptitle" + _valid_props = {"font", "text"} + + @property + def font(self): + """ + Sets this legend group's title font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.shape.legendgrouptitle.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.shape.legendgrouptitle.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def text(self): + """ + Sets the title of the legend group. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets this legend group's title font. + text + Sets the title of the legend group. + """ + + def __init__(self, arg=None, font=None, text=None, **kwargs): + """ + Construct a new Legendgrouptitle object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.shape.L + egendgrouptitle` + font + Sets this legend group's title font. + text + Sets the title of the legend group. + + Returns + ------- + Legendgrouptitle + """ + super().__init__("legendgrouptitle") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.shape.Legendgrouptitle +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.shape.Legendgrouptitle`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("text", arg, text) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/_line.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/_line.py new file mode 100644 index 0000000..b59b472 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/_line.py @@ -0,0 +1,139 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Line(_BaseLayoutHierarchyType): + _parent_path_str = "layout.shape" + _path_str = "layout.shape.line" + _valid_props = {"color", "dash", "width"} + + @property + def color(self): + """ + Sets the line color. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def dash(self): + """ + 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"). + + The 'dash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["dash"] + + @dash.setter + def dash(self, val): + self["dash"] = val + + @property + def width(self): + """ + Sets the line width (in px). + + The 'width' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["width"] + + @width.setter + def width(self, val): + self["width"] = val + + @property + def _prop_descriptions(self): + return """\ + color + Sets the line color. + dash + 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"). + width + Sets the line width (in px). + """ + + def __init__(self, arg=None, color=None, dash=None, width=None, **kwargs): + """ + Construct a new Line object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.shape.Line` + color + Sets the line color. + dash + 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"). + width + Sets the line width (in px). + + Returns + ------- + Line + """ + super().__init__("line") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.shape.Line +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.shape.Line`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("dash", arg, dash) + self._set_property("width", arg, width) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/label/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/label/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/label/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/label/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/label/_font.py new file mode 100644 index 0000000..d80142d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/label/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.shape.label" + _path_str = "layout.shape.label.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the shape label text font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.shape.label.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.shape.label.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.shape.label.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/legendgrouptitle/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/legendgrouptitle/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/legendgrouptitle/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/legendgrouptitle/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/legendgrouptitle/_font.py new file mode 100644 index 0000000..c547c64 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/shape/legendgrouptitle/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.shape.legendgrouptitle" + _path_str = "layout.shape.legendgrouptitle.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets this legend group's title font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.shape.l + egendgrouptitle.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.shape.legendgrouptitle.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.shape.legendgrouptitle.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/__init__.py new file mode 100644 index 0000000..071bb99 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/__init__.py @@ -0,0 +1,24 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._currentvalue import Currentvalue + from ._font import Font + from ._pad import Pad + from ._step import Step + from ._transition import Transition + from . import currentvalue +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".currentvalue"], + [ + "._currentvalue.Currentvalue", + "._font.Font", + "._pad.Pad", + "._step.Step", + "._transition.Transition", + ], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_currentvalue.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_currentvalue.py new file mode 100644 index 0000000..d25d72b --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_currentvalue.py @@ -0,0 +1,220 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Currentvalue(_BaseLayoutHierarchyType): + _parent_path_str = "layout.slider" + _path_str = "layout.slider.currentvalue" + _valid_props = {"font", "offset", "prefix", "suffix", "visible", "xanchor"} + + @property + def font(self): + """ + Sets the font of the current value label text. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.slider.currentvalue.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.slider.currentvalue.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def offset(self): + """ + The amount of space, in pixels, between the current value label + and the slider. + + The 'offset' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["offset"] + + @offset.setter + def offset(self, val): + self["offset"] = val + + @property + def prefix(self): + """ + When currentvalue.visible is true, this sets the prefix of the + label. + + The 'prefix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["prefix"] + + @prefix.setter + def prefix(self, val): + self["prefix"] = val + + @property + def suffix(self): + """ + When currentvalue.visible is true, this sets the suffix of the + label. + + The 'suffix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["suffix"] + + @suffix.setter + def suffix(self, val): + self["suffix"] = val + + @property + def visible(self): + """ + Shows the currently-selected value above the slider. + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def xanchor(self): + """ + The alignment of the value readout relative to the length of + the slider. + + The 'xanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['left', 'center', 'right'] + + Returns + ------- + Any + """ + return self["xanchor"] + + @xanchor.setter + def xanchor(self, val): + self["xanchor"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets the font of the current value label text. + offset + The amount of space, in pixels, between the current + value label and the slider. + prefix + When currentvalue.visible is true, this sets the prefix + of the label. + suffix + When currentvalue.visible is true, this sets the suffix + of the label. + visible + Shows the currently-selected value above the slider. + xanchor + The alignment of the value readout relative to the + length of the slider. + """ + + def __init__( + self, + arg=None, + font=None, + offset=None, + prefix=None, + suffix=None, + visible=None, + xanchor=None, + **kwargs, + ): + """ + Construct a new Currentvalue object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.slider.Currentvalue` + font + Sets the font of the current value label text. + offset + The amount of space, in pixels, between the current + value label and the slider. + prefix + When currentvalue.visible is true, this sets the prefix + of the label. + suffix + When currentvalue.visible is true, this sets the suffix + of the label. + visible + Shows the currently-selected value above the slider. + xanchor + The alignment of the value readout relative to the + length of the slider. + + Returns + ------- + Currentvalue + """ + super().__init__("currentvalue") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.slider.Currentvalue +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.slider.Currentvalue`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("offset", arg, offset) + self._set_property("prefix", arg, prefix) + self._set_property("suffix", arg, suffix) + self._set_property("visible", arg, visible) + self._set_property("xanchor", arg, xanchor) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_font.py new file mode 100644 index 0000000..4141210 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.slider" + _path_str = "layout.slider.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the font of the slider step labels. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.slider.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.slider.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.slider.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_pad.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_pad.py new file mode 100644 index 0000000..dfee202 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_pad.py @@ -0,0 +1,159 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Pad(_BaseLayoutHierarchyType): + _parent_path_str = "layout.slider" + _path_str = "layout.slider.pad" + _valid_props = {"b", "l", "r", "t"} + + @property + def b(self): + """ + The amount of padding (in px) along the bottom of the + component. + + The 'b' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["b"] + + @b.setter + def b(self, val): + self["b"] = val + + @property + def l(self): + """ + The amount of padding (in px) on the left side of the + component. + + The 'l' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["l"] + + @l.setter + def l(self, val): + self["l"] = val + + @property + def r(self): + """ + The amount of padding (in px) on the right side of the + component. + + The 'r' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["r"] + + @r.setter + def r(self, val): + self["r"] = val + + @property + def t(self): + """ + The amount of padding (in px) along the top of the component. + + The 't' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["t"] + + @t.setter + def t(self, val): + self["t"] = val + + @property + def _prop_descriptions(self): + return """\ + b + The amount of padding (in px) along the bottom of the + component. + l + The amount of padding (in px) on the left side of the + component. + r + The amount of padding (in px) on the right side of the + component. + t + The amount of padding (in px) along the top of the + component. + """ + + def __init__(self, arg=None, b=None, l=None, r=None, t=None, **kwargs): + """ + Construct a new Pad object + + Set the padding of the slider component along each side. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.slider.Pad` + b + The amount of padding (in px) along the bottom of the + component. + l + The amount of padding (in px) on the left side of the + component. + r + The amount of padding (in px) on the right side of the + component. + t + The amount of padding (in px) along the top of the + component. + + Returns + ------- + Pad + """ + super().__init__("pad") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.slider.Pad +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.slider.Pad`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("b", arg, b) + self._set_property("l", arg, l) + self._set_property("r", arg, r) + self._set_property("t", arg, t) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_step.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_step.py new file mode 100644 index 0000000..bcc3d92 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_step.py @@ -0,0 +1,354 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Step(_BaseLayoutHierarchyType): + _parent_path_str = "layout.slider" + _path_str = "layout.slider.step" + _valid_props = { + "args", + "execute", + "label", + "method", + "name", + "templateitemname", + "value", + "visible", + } + + @property + def args(self): + """ + Sets the arguments values to be passed to the Plotly method set + in `method` on slide. + + The 'args' property is an info array that may be specified as: + + * a list or tuple of up to 3 elements where: + (0) The 'args[0]' property accepts values of any type + (1) The 'args[1]' property accepts values of any type + (2) The 'args[2]' property accepts values of any type + + Returns + ------- + list + """ + return self["args"] + + @args.setter + def args(self, val): + self["args"] = val + + @property + def execute(self): + """ + When true, the API method is executed. When false, all other + behaviors are the same and command execution is skipped. This + may be useful when hooking into, for example, the + `plotly_sliderchange` method and executing the API command + manually without losing the benefit of the slider automatically + binding to the state of the plot through the specification of + `method` and `args`. + + The 'execute' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["execute"] + + @execute.setter + def execute(self, val): + self["execute"] = val + + @property + def label(self): + """ + Sets the text label to appear on the slider + + The 'label' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["label"] + + @label.setter + def label(self, val): + self["label"] = val + + @property + def method(self): + """ + Sets the Plotly method to be called when the slider value is + changed. If the `skip` method is used, the API slider will + function as normal but will perform no API calls and will not + bind automatically to state updates. This may be used to create + a component interface and attach to slider events manually via + JavaScript. + + The 'method' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['restyle', 'relayout', 'animate', 'update', 'skip'] + + Returns + ------- + Any + """ + return self["method"] + + @method.setter + def method(self, val): + self["method"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def value(self): + """ + Sets the value of the slider step, used to refer to the step + programatically. Defaults to the slider label if not provided. + + The 'value' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["value"] + + @value.setter + def value(self, val): + self["value"] = val + + @property + def visible(self): + """ + Determines whether or not this step is included in the slider. + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def _prop_descriptions(self): + return """\ + args + Sets the arguments values to be passed to the Plotly + method set in `method` on slide. + execute + When true, the API method is executed. When false, all + other behaviors are the same and command execution is + skipped. This may be useful when hooking into, for + example, the `plotly_sliderchange` method and executing + the API command manually without losing the benefit of + the slider automatically binding to the state of the + plot through the specification of `method` and `args`. + label + Sets the text label to appear on the slider + method + Sets the Plotly method to be called when the slider + value is changed. If the `skip` method is used, the API + slider will function as normal but will perform no API + calls and will not bind automatically to state updates. + This may be used to create a component interface and + attach to slider events manually via JavaScript. + 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. + 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`. + value + Sets the value of the slider step, used to refer to the + step programatically. Defaults to the slider label if + not provided. + visible + Determines whether or not this step is included in the + slider. + """ + + def __init__( + self, + arg=None, + args=None, + execute=None, + label=None, + method=None, + name=None, + templateitemname=None, + value=None, + visible=None, + **kwargs, + ): + """ + Construct a new Step object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.slider.Step` + args + Sets the arguments values to be passed to the Plotly + method set in `method` on slide. + execute + When true, the API method is executed. When false, all + other behaviors are the same and command execution is + skipped. This may be useful when hooking into, for + example, the `plotly_sliderchange` method and executing + the API command manually without losing the benefit of + the slider automatically binding to the state of the + plot through the specification of `method` and `args`. + label + Sets the text label to appear on the slider + method + Sets the Plotly method to be called when the slider + value is changed. If the `skip` method is used, the API + slider will function as normal but will perform no API + calls and will not bind automatically to state updates. + This may be used to create a component interface and + attach to slider events manually via JavaScript. + 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. + 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`. + value + Sets the value of the slider step, used to refer to the + step programatically. Defaults to the slider label if + not provided. + visible + Determines whether or not this step is included in the + slider. + + Returns + ------- + Step + """ + super().__init__("steps") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.slider.Step +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.slider.Step`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("args", arg, args) + self._set_property("execute", arg, execute) + self._set_property("label", arg, label) + self._set_property("method", arg, method) + self._set_property("name", arg, name) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("value", arg, value) + self._set_property("visible", arg, visible) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_transition.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_transition.py new file mode 100644 index 0000000..7fbc3aa --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/_transition.py @@ -0,0 +1,109 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Transition(_BaseLayoutHierarchyType): + _parent_path_str = "layout.slider" + _path_str = "layout.slider.transition" + _valid_props = {"duration", "easing"} + + @property + def duration(self): + """ + Sets the duration of the slider transition + + The 'duration' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["duration"] + + @duration.setter + def duration(self, val): + self["duration"] = val + + @property + def easing(self): + """ + Sets the easing function of the slider transition + + The 'easing' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['linear', 'quad', 'cubic', 'sin', 'exp', 'circle', + 'elastic', 'back', 'bounce', 'linear-in', 'quad-in', + 'cubic-in', 'sin-in', 'exp-in', 'circle-in', 'elastic-in', + 'back-in', 'bounce-in', 'linear-out', 'quad-out', + 'cubic-out', 'sin-out', 'exp-out', 'circle-out', + 'elastic-out', 'back-out', 'bounce-out', 'linear-in-out', + 'quad-in-out', 'cubic-in-out', 'sin-in-out', 'exp-in-out', + 'circle-in-out', 'elastic-in-out', 'back-in-out', + 'bounce-in-out'] + + Returns + ------- + Any + """ + return self["easing"] + + @easing.setter + def easing(self, val): + self["easing"] = val + + @property + def _prop_descriptions(self): + return """\ + duration + Sets the duration of the slider transition + easing + Sets the easing function of the slider transition + """ + + def __init__(self, arg=None, duration=None, easing=None, **kwargs): + """ + Construct a new Transition object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.slider.Transition` + duration + Sets the duration of the slider transition + easing + Sets the easing function of the slider transition + + Returns + ------- + Transition + """ + super().__init__("transition") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.slider.Transition +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.slider.Transition`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("duration", arg, duration) + self._set_property("easing", arg, easing) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/currentvalue/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/currentvalue/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/currentvalue/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/currentvalue/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/currentvalue/_font.py new file mode 100644 index 0000000..60743f4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/slider/currentvalue/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.slider.currentvalue" + _path_str = "layout.slider.currentvalue.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the font of the current value label text. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.slider. + currentvalue.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.slider.currentvalue.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.slider.currentvalue.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/__init__.py new file mode 100644 index 0000000..f809fe8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/__init__.py @@ -0,0 +1,17 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._domain import Domain + from ._imaginaryaxis import Imaginaryaxis + from ._realaxis import Realaxis + from . import imaginaryaxis + from . import realaxis +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".imaginaryaxis", ".realaxis"], + ["._domain.Domain", "._imaginaryaxis.Imaginaryaxis", "._realaxis.Realaxis"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/_domain.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/_domain.py new file mode 100644 index 0000000..bbfd610 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/_domain.py @@ -0,0 +1,170 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Domain(_BaseLayoutHierarchyType): + _parent_path_str = "layout.smith" + _path_str = "layout.smith.domain" + _valid_props = {"column", "row", "x", "y"} + + @property + def column(self): + """ + If there is a layout grid, use the domain for this column in + the grid for this smith subplot . + + The 'column' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["column"] + + @column.setter + def column(self, val): + self["column"] = val + + @property + def row(self): + """ + If there is a layout grid, use the domain for this row in the + grid for this smith subplot . + + The 'row' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["row"] + + @row.setter + def row(self, val): + self["row"] = val + + @property + def x(self): + """ + Sets the horizontal domain of this smith subplot (in plot + fraction). + + The 'x' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'x[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'x[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def y(self): + """ + Sets the vertical domain of this smith subplot (in plot + fraction). + + The 'y' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'y[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'y[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def _prop_descriptions(self): + return """\ + column + If there is a layout grid, use the domain for this + column in the grid for this smith subplot . + row + If there is a layout grid, use the domain for this row + in the grid for this smith subplot . + x + Sets the horizontal domain of this smith subplot (in + plot fraction). + y + Sets the vertical domain of this smith subplot (in plot + fraction). + """ + + def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): + """ + Construct a new Domain object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.smith.Domain` + column + If there is a layout grid, use the domain for this + column in the grid for this smith subplot . + row + If there is a layout grid, use the domain for this row + in the grid for this smith subplot . + x + Sets the horizontal domain of this smith subplot (in + plot fraction). + y + Sets the vertical domain of this smith subplot (in plot + fraction). + + Returns + ------- + Domain + """ + super().__init__("domain") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.smith.Domain +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.smith.Domain`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("column", arg, column) + self._set_property("row", arg, row) + self._set_property("x", arg, x) + self._set_property("y", arg, y) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/_imaginaryaxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/_imaginaryaxis.py new file mode 100644 index 0000000..85ae07a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/_imaginaryaxis.py @@ -0,0 +1,865 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Imaginaryaxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout.smith" + _path_str = "layout.smith.imaginaryaxis" + _valid_props = { + "color", + "gridcolor", + "griddash", + "gridwidth", + "hoverformat", + "labelalias", + "layer", + "linecolor", + "linewidth", + "showgrid", + "showline", + "showticklabels", + "showtickprefix", + "showticksuffix", + "tickcolor", + "tickfont", + "tickformat", + "ticklen", + "tickprefix", + "ticks", + "ticksuffix", + "tickvals", + "tickvalssrc", + "tickwidth", + "visible", + } + + @property + def color(self): + """ + 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. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def gridcolor(self): + """ + Sets the color of the grid lines. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def griddash(self): + """ + 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"). + + The 'griddash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["griddash"] + + @griddash.setter + def griddash(self, val): + self["griddash"] = val + + @property + def gridwidth(self): + """ + Sets the width (in px) of the grid lines. + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def hoverformat(self): + """ + Sets the hover text formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'hoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["hoverformat"] + + @hoverformat.setter + def hoverformat(self, val): + self["hoverformat"] = val + + @property + def labelalias(self): + """ + 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. + + The 'labelalias' property accepts values of any type + + Returns + ------- + Any + """ + return self["labelalias"] + + @labelalias.setter + def labelalias(self, val): + self["labelalias"] = val + + @property + def layer(self): + """ + 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. + + The 'layer' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['above traces', 'below traces'] + + Returns + ------- + Any + """ + return self["layer"] + + @layer.setter + def layer(self, val): + self["layer"] = val + + @property + def linecolor(self): + """ + Sets the axis line color. + + The 'linecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["linecolor"] + + @linecolor.setter + def linecolor(self, val): + self["linecolor"] = val + + @property + def linewidth(self): + """ + Sets the width (in px) of the axis line. + + The 'linewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["linewidth"] + + @linewidth.setter + def linewidth(self, val): + self["linewidth"] = val + + @property + def showgrid(self): + """ + Determines whether or not grid lines are drawn. If True, the + grid lines are drawn at every tick mark. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def showline(self): + """ + Determines whether or not a line bounding this axis is drawn. + + The 'showline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showline"] + + @showline.setter + def showline(self, val): + self["showline"] = val + + @property + def showticklabels(self): + """ + Determines whether or not the tick labels are drawn. + + The 'showticklabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showticklabels"] + + @showticklabels.setter + def showticklabels(self, val): + self["showticklabels"] = val + + @property + def showtickprefix(self): + """ + 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. + + The 'showtickprefix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showtickprefix"] + + @showtickprefix.setter + def showtickprefix(self, val): + self["showtickprefix"] = val + + @property + def showticksuffix(self): + """ + Same as `showtickprefix` but for tick suffixes. + + The 'showticksuffix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showticksuffix"] + + @showticksuffix.setter + def showticksuffix(self, val): + self["showticksuffix"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def tickfont(self): + """ + Sets the tick font. + + The 'tickfont' property is an instance of Tickfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.smith.imaginaryaxis.Tickfont` + - A dict of string/value properties that will be passed + to the Tickfont constructor + + Returns + ------- + plotly.graph_objs.layout.smith.imaginaryaxis.Tickfont + """ + return self["tickfont"] + + @tickfont.setter + def tickfont(self, val): + self["tickfont"] = val + + @property + def tickformat(self): + """ + Sets the tick label formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'tickformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickformat"] + + @tickformat.setter + def tickformat(self, val): + self["tickformat"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickprefix(self): + """ + Sets a tick label prefix. + + The 'tickprefix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickprefix"] + + @tickprefix.setter + def tickprefix(self, val): + self["tickprefix"] = val + + @property + def ticks(self): + """ + 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. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def ticksuffix(self): + """ + Sets a tick label suffix. + + The 'ticksuffix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["ticksuffix"] + + @ticksuffix.setter + def ticksuffix(self, val): + self["ticksuffix"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. Defaults to + `realaxis.tickvals` plus the same as negatives and zero. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @property + def visible(self): + """ + 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 + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def _prop_descriptions(self): + return """\ + 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. + 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: + https://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" + 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. + 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. + 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. + 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: + https://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" + ticklen + Sets the tick length (in px). + 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. + ticksuffix + Sets a tick label suffix. + tickvals + Sets the values at which ticks on this axis appear. + Defaults to `realaxis.tickvals` plus the same as + negatives and zero. + tickvalssrc + Sets the source reference on Chart Studio Cloud for + `tickvals`. + tickwidth + Sets the tick width (in px). + 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 + """ + + def __init__( + self, + arg=None, + color=None, + gridcolor=None, + griddash=None, + gridwidth=None, + hoverformat=None, + labelalias=None, + layer=None, + linecolor=None, + linewidth=None, + showgrid=None, + showline=None, + showticklabels=None, + showtickprefix=None, + showticksuffix=None, + tickcolor=None, + tickfont=None, + tickformat=None, + ticklen=None, + tickprefix=None, + ticks=None, + ticksuffix=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + visible=None, + **kwargs, + ): + """ + Construct a new Imaginaryaxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.smith.Imaginaryaxis` + 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. + 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: + https://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" + 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. + 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. + 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. + 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: + https://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" + ticklen + Sets the tick length (in px). + 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. + ticksuffix + Sets a tick label suffix. + tickvals + Sets the values at which ticks on this axis appear. + Defaults to `realaxis.tickvals` plus the same as + negatives and zero. + tickvalssrc + Sets the source reference on Chart Studio Cloud for + `tickvals`. + tickwidth + Sets the tick width (in px). + 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 + + Returns + ------- + Imaginaryaxis + """ + super().__init__("imaginaryaxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.smith.Imaginaryaxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.smith.Imaginaryaxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("griddash", arg, griddash) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("hoverformat", arg, hoverformat) + self._set_property("labelalias", arg, labelalias) + self._set_property("layer", arg, layer) + self._set_property("linecolor", arg, linecolor) + self._set_property("linewidth", arg, linewidth) + self._set_property("showgrid", arg, showgrid) + self._set_property("showline", arg, showline) + self._set_property("showticklabels", arg, showticklabels) + self._set_property("showtickprefix", arg, showtickprefix) + self._set_property("showticksuffix", arg, showticksuffix) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("tickfont", arg, tickfont) + self._set_property("tickformat", arg, tickformat) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickprefix", arg, tickprefix) + self._set_property("ticks", arg, ticks) + self._set_property("ticksuffix", arg, ticksuffix) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._set_property("visible", arg, visible) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/_realaxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/_realaxis.py new file mode 100644 index 0000000..7a3bf0e --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/_realaxis.py @@ -0,0 +1,922 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Realaxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout.smith" + _path_str = "layout.smith.realaxis" + _valid_props = { + "color", + "gridcolor", + "griddash", + "gridwidth", + "hoverformat", + "labelalias", + "layer", + "linecolor", + "linewidth", + "showgrid", + "showline", + "showticklabels", + "showtickprefix", + "showticksuffix", + "side", + "tickangle", + "tickcolor", + "tickfont", + "tickformat", + "ticklen", + "tickprefix", + "ticks", + "ticksuffix", + "tickvals", + "tickvalssrc", + "tickwidth", + "visible", + } + + @property + def color(self): + """ + 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. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def gridcolor(self): + """ + Sets the color of the grid lines. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def griddash(self): + """ + 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"). + + The 'griddash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["griddash"] + + @griddash.setter + def griddash(self, val): + self["griddash"] = val + + @property + def gridwidth(self): + """ + Sets the width (in px) of the grid lines. + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def hoverformat(self): + """ + Sets the hover text formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'hoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["hoverformat"] + + @hoverformat.setter + def hoverformat(self, val): + self["hoverformat"] = val + + @property + def labelalias(self): + """ + 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. + + The 'labelalias' property accepts values of any type + + Returns + ------- + Any + """ + return self["labelalias"] + + @labelalias.setter + def labelalias(self, val): + self["labelalias"] = val + + @property + def layer(self): + """ + 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. + + The 'layer' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['above traces', 'below traces'] + + Returns + ------- + Any + """ + return self["layer"] + + @layer.setter + def layer(self, val): + self["layer"] = val + + @property + def linecolor(self): + """ + Sets the axis line color. + + The 'linecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["linecolor"] + + @linecolor.setter + def linecolor(self, val): + self["linecolor"] = val + + @property + def linewidth(self): + """ + Sets the width (in px) of the axis line. + + The 'linewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["linewidth"] + + @linewidth.setter + def linewidth(self, val): + self["linewidth"] = val + + @property + def showgrid(self): + """ + Determines whether or not grid lines are drawn. If True, the + grid lines are drawn at every tick mark. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def showline(self): + """ + Determines whether or not a line bounding this axis is drawn. + + The 'showline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showline"] + + @showline.setter + def showline(self, val): + self["showline"] = val + + @property + def showticklabels(self): + """ + Determines whether or not the tick labels are drawn. + + The 'showticklabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showticklabels"] + + @showticklabels.setter + def showticklabels(self, val): + self["showticklabels"] = val + + @property + def showtickprefix(self): + """ + 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. + + The 'showtickprefix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showtickprefix"] + + @showtickprefix.setter + def showtickprefix(self, val): + self["showtickprefix"] = val + + @property + def showticksuffix(self): + """ + Same as `showtickprefix` but for tick suffixes. + + The 'showticksuffix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showticksuffix"] + + @showticksuffix.setter + def showticksuffix(self, val): + self["showticksuffix"] = val + + @property + def side(self): + """ + Determines on which side of real axis line the tick and tick + labels appear. + + The 'side' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top', 'bottom'] + + Returns + ------- + Any + """ + return self["side"] + + @side.setter + def side(self, val): + self["side"] = val + + @property + def tickangle(self): + """ + Sets the angle of the tick labels with respect to the + horizontal. For example, a `tickangle` of -90 draws the tick + labels vertically. + + The 'tickangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["tickangle"] + + @tickangle.setter + def tickangle(self, val): + self["tickangle"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def tickfont(self): + """ + Sets the tick font. + + The 'tickfont' property is an instance of Tickfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.smith.realaxis.Tickfont` + - A dict of string/value properties that will be passed + to the Tickfont constructor + + Returns + ------- + plotly.graph_objs.layout.smith.realaxis.Tickfont + """ + return self["tickfont"] + + @tickfont.setter + def tickfont(self, val): + self["tickfont"] = val + + @property + def tickformat(self): + """ + Sets the tick label formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'tickformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickformat"] + + @tickformat.setter + def tickformat(self, val): + self["tickformat"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickprefix(self): + """ + Sets a tick label prefix. + + The 'tickprefix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickprefix"] + + @tickprefix.setter + def tickprefix(self, val): + self["tickprefix"] = val + + @property + def ticks(self): + """ + Determines whether ticks are drawn or not. If "", this axis' + ticks are not drawn. If "top" ("bottom"), this axis' are drawn + above (below) the axis line. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['top', 'bottom', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def ticksuffix(self): + """ + Sets a tick label suffix. + + The 'ticksuffix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["ticksuffix"] + + @ticksuffix.setter + def ticksuffix(self, val): + self["ticksuffix"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @property + def visible(self): + """ + 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 + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def _prop_descriptions(self): + return """\ + 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. + 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: + https://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" + 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. + 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. + 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 on which side of real axis line the tick and + tick labels appear. + 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: + https://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" + ticklen + Sets the tick length (in px). + tickprefix + Sets a tick label prefix. + ticks + Determines whether ticks are drawn or not. If "", this + axis' ticks are not drawn. If "top" ("bottom"), this + axis' are drawn above (below) the axis line. + ticksuffix + Sets a tick label suffix. + tickvals + Sets the values at which ticks on this axis appear. + tickvalssrc + Sets the source reference on Chart Studio Cloud for + `tickvals`. + tickwidth + Sets the tick width (in px). + 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 + """ + + def __init__( + self, + arg=None, + color=None, + gridcolor=None, + griddash=None, + gridwidth=None, + hoverformat=None, + labelalias=None, + layer=None, + linecolor=None, + linewidth=None, + showgrid=None, + showline=None, + showticklabels=None, + showtickprefix=None, + showticksuffix=None, + side=None, + tickangle=None, + tickcolor=None, + tickfont=None, + tickformat=None, + ticklen=None, + tickprefix=None, + ticks=None, + ticksuffix=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + visible=None, + **kwargs, + ): + """ + Construct a new Realaxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.smith.Realaxis` + 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. + 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: + https://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" + 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. + 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. + 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 on which side of real axis line the tick and + tick labels appear. + 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: + https://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" + ticklen + Sets the tick length (in px). + tickprefix + Sets a tick label prefix. + ticks + Determines whether ticks are drawn or not. If "", this + axis' ticks are not drawn. If "top" ("bottom"), this + axis' are drawn above (below) the axis line. + ticksuffix + Sets a tick label suffix. + tickvals + Sets the values at which ticks on this axis appear. + tickvalssrc + Sets the source reference on Chart Studio Cloud for + `tickvals`. + tickwidth + Sets the tick width (in px). + 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 + + Returns + ------- + Realaxis + """ + super().__init__("realaxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.smith.Realaxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.smith.Realaxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("griddash", arg, griddash) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("hoverformat", arg, hoverformat) + self._set_property("labelalias", arg, labelalias) + self._set_property("layer", arg, layer) + self._set_property("linecolor", arg, linecolor) + self._set_property("linewidth", arg, linewidth) + self._set_property("showgrid", arg, showgrid) + self._set_property("showline", arg, showline) + self._set_property("showticklabels", arg, showticklabels) + self._set_property("showtickprefix", arg, showtickprefix) + self._set_property("showticksuffix", arg, showticksuffix) + self._set_property("side", arg, side) + self._set_property("tickangle", arg, tickangle) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("tickfont", arg, tickfont) + self._set_property("tickformat", arg, tickformat) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickprefix", arg, tickprefix) + self._set_property("ticks", arg, ticks) + self._set_property("ticksuffix", arg, ticksuffix) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._set_property("visible", arg, visible) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/imaginaryaxis/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/imaginaryaxis/__init__.py new file mode 100644 index 0000000..c372856 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/imaginaryaxis/__init__.py @@ -0,0 +1,11 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._tickfont import Tickfont +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [], ["._tickfont.Tickfont"] + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/imaginaryaxis/_tickfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/imaginaryaxis/_tickfont.py new file mode 100644 index 0000000..6ecb552 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/imaginaryaxis/_tickfont.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.smith.imaginaryaxis" + _path_str = "layout.smith.imaginaryaxis.tickfont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Tickfont object + + Sets the tick font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.smith.i + maginaryaxis.Tickfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Tickfont + """ + super().__init__("tickfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.smith.imaginaryaxis.Tickfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.smith.imaginaryaxis.Tickfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/realaxis/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/realaxis/__init__.py new file mode 100644 index 0000000..c372856 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/realaxis/__init__.py @@ -0,0 +1,11 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._tickfont import Tickfont +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [], ["._tickfont.Tickfont"] + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/realaxis/_tickfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/realaxis/_tickfont.py new file mode 100644 index 0000000..63d8713 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/smith/realaxis/_tickfont.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.smith.realaxis" + _path_str = "layout.smith.realaxis.tickfont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Tickfont object + + Sets the tick font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.smith.r + ealaxis.Tickfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Tickfont + """ + super().__init__("tickfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.smith.realaxis.Tickfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.smith.realaxis.Tickfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/__init__.py new file mode 100644 index 0000000..388a6b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/__init__.py @@ -0,0 +1,13 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._data import Data + from ._layout import Layout + from . import data +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [".data"], ["._data.Data", "._layout.Layout"] + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/_data.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/_data.py new file mode 100644 index 0000000..ef3b5f6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/_data.py @@ -0,0 +1,1435 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Data(_BaseLayoutHierarchyType): + _parent_path_str = "layout.template" + _path_str = "layout.template.data" + _valid_props = { + "bar", + "barpolar", + "box", + "candlestick", + "carpet", + "choropleth", + "choroplethmap", + "choroplethmapbox", + "cone", + "contour", + "contourcarpet", + "densitymap", + "densitymapbox", + "funnel", + "funnelarea", + "heatmap", + "histogram", + "histogram2d", + "histogram2dcontour", + "icicle", + "image", + "indicator", + "isosurface", + "mesh3d", + "ohlc", + "parcats", + "parcoords", + "pie", + "sankey", + "scatter", + "scatter3d", + "scattercarpet", + "scattergeo", + "scattergl", + "scattermap", + "scattermapbox", + "scatterpolar", + "scatterpolargl", + "scattersmith", + "scatterternary", + "splom", + "streamtube", + "sunburst", + "surface", + "table", + "treemap", + "violin", + "volume", + "waterfall", + } + + @property + def barpolar(self): + """ + The 'barpolar' property is a tuple of instances of + Barpolar that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Barpolar + - A list or tuple of dicts of string/value properties that + will be passed to the Barpolar constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Barpolar] + """ + return self["barpolar"] + + @barpolar.setter + def barpolar(self, val): + self["barpolar"] = val + + @property + def bar(self): + """ + The 'bar' property is a tuple of instances of + Bar that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Bar + - A list or tuple of dicts of string/value properties that + will be passed to the Bar constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Bar] + """ + return self["bar"] + + @bar.setter + def bar(self, val): + self["bar"] = val + + @property + def box(self): + """ + The 'box' property is a tuple of instances of + Box that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Box + - A list or tuple of dicts of string/value properties that + will be passed to the Box constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Box] + """ + return self["box"] + + @box.setter + def box(self, val): + self["box"] = val + + @property + def candlestick(self): + """ + The 'candlestick' property is a tuple of instances of + Candlestick that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Candlestick + - A list or tuple of dicts of string/value properties that + will be passed to the Candlestick constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Candlestick] + """ + return self["candlestick"] + + @candlestick.setter + def candlestick(self, val): + self["candlestick"] = val + + @property + def carpet(self): + """ + The 'carpet' property is a tuple of instances of + Carpet that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Carpet + - A list or tuple of dicts of string/value properties that + will be passed to the Carpet constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Carpet] + """ + return self["carpet"] + + @carpet.setter + def carpet(self, val): + self["carpet"] = val + + @property + def choroplethmapbox(self): + """ + The 'choroplethmapbox' property is a tuple of instances of + Choroplethmapbox that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Choroplethmapbox + - A list or tuple of dicts of string/value properties that + will be passed to the Choroplethmapbox constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Choroplethmapbox] + """ + return self["choroplethmapbox"] + + @choroplethmapbox.setter + def choroplethmapbox(self, val): + self["choroplethmapbox"] = val + + @property + def choroplethmap(self): + """ + The 'choroplethmap' property is a tuple of instances of + Choroplethmap that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Choroplethmap + - A list or tuple of dicts of string/value properties that + will be passed to the Choroplethmap constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Choroplethmap] + """ + return self["choroplethmap"] + + @choroplethmap.setter + def choroplethmap(self, val): + self["choroplethmap"] = val + + @property + def choropleth(self): + """ + The 'choropleth' property is a tuple of instances of + Choropleth that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Choropleth + - A list or tuple of dicts of string/value properties that + will be passed to the Choropleth constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Choropleth] + """ + return self["choropleth"] + + @choropleth.setter + def choropleth(self, val): + self["choropleth"] = val + + @property + def cone(self): + """ + The 'cone' property is a tuple of instances of + Cone that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Cone + - A list or tuple of dicts of string/value properties that + will be passed to the Cone constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Cone] + """ + return self["cone"] + + @cone.setter + def cone(self, val): + self["cone"] = val + + @property + def contourcarpet(self): + """ + The 'contourcarpet' property is a tuple of instances of + Contourcarpet that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Contourcarpet + - A list or tuple of dicts of string/value properties that + will be passed to the Contourcarpet constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Contourcarpet] + """ + return self["contourcarpet"] + + @contourcarpet.setter + def contourcarpet(self, val): + self["contourcarpet"] = val + + @property + def contour(self): + """ + The 'contour' property is a tuple of instances of + Contour that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Contour + - A list or tuple of dicts of string/value properties that + will be passed to the Contour constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Contour] + """ + return self["contour"] + + @contour.setter + def contour(self, val): + self["contour"] = val + + @property + def densitymapbox(self): + """ + The 'densitymapbox' property is a tuple of instances of + Densitymapbox that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Densitymapbox + - A list or tuple of dicts of string/value properties that + will be passed to the Densitymapbox constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Densitymapbox] + """ + return self["densitymapbox"] + + @densitymapbox.setter + def densitymapbox(self, val): + self["densitymapbox"] = val + + @property + def densitymap(self): + """ + The 'densitymap' property is a tuple of instances of + Densitymap that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Densitymap + - A list or tuple of dicts of string/value properties that + will be passed to the Densitymap constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Densitymap] + """ + return self["densitymap"] + + @densitymap.setter + def densitymap(self, val): + self["densitymap"] = val + + @property + def funnelarea(self): + """ + The 'funnelarea' property is a tuple of instances of + Funnelarea that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Funnelarea + - A list or tuple of dicts of string/value properties that + will be passed to the Funnelarea constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Funnelarea] + """ + return self["funnelarea"] + + @funnelarea.setter + def funnelarea(self, val): + self["funnelarea"] = val + + @property + def funnel(self): + """ + The 'funnel' property is a tuple of instances of + Funnel that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Funnel + - A list or tuple of dicts of string/value properties that + will be passed to the Funnel constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Funnel] + """ + return self["funnel"] + + @funnel.setter + def funnel(self, val): + self["funnel"] = val + + @property + def heatmap(self): + """ + The 'heatmap' property is a tuple of instances of + Heatmap that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Heatmap + - A list or tuple of dicts of string/value properties that + will be passed to the Heatmap constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Heatmap] + """ + return self["heatmap"] + + @heatmap.setter + def heatmap(self, val): + self["heatmap"] = val + + @property + def histogram2dcontour(self): + """ + The 'histogram2dcontour' property is a tuple of instances of + Histogram2dContour that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Histogram2dContour + - A list or tuple of dicts of string/value properties that + will be passed to the Histogram2dContour constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Histogram2dContour] + """ + return self["histogram2dcontour"] + + @histogram2dcontour.setter + def histogram2dcontour(self, val): + self["histogram2dcontour"] = val + + @property + def histogram2d(self): + """ + The 'histogram2d' property is a tuple of instances of + Histogram2d that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Histogram2d + - A list or tuple of dicts of string/value properties that + will be passed to the Histogram2d constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Histogram2d] + """ + return self["histogram2d"] + + @histogram2d.setter + def histogram2d(self, val): + self["histogram2d"] = val + + @property + def histogram(self): + """ + The 'histogram' property is a tuple of instances of + Histogram that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Histogram + - A list or tuple of dicts of string/value properties that + will be passed to the Histogram constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Histogram] + """ + return self["histogram"] + + @histogram.setter + def histogram(self, val): + self["histogram"] = val + + @property + def icicle(self): + """ + The 'icicle' property is a tuple of instances of + Icicle that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Icicle + - A list or tuple of dicts of string/value properties that + will be passed to the Icicle constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Icicle] + """ + return self["icicle"] + + @icicle.setter + def icicle(self, val): + self["icicle"] = val + + @property + def image(self): + """ + The 'image' property is a tuple of instances of + Image that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Image + - A list or tuple of dicts of string/value properties that + will be passed to the Image constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Image] + """ + return self["image"] + + @image.setter + def image(self, val): + self["image"] = val + + @property + def indicator(self): + """ + The 'indicator' property is a tuple of instances of + Indicator that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Indicator + - A list or tuple of dicts of string/value properties that + will be passed to the Indicator constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Indicator] + """ + return self["indicator"] + + @indicator.setter + def indicator(self, val): + self["indicator"] = val + + @property + def isosurface(self): + """ + The 'isosurface' property is a tuple of instances of + Isosurface that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Isosurface + - A list or tuple of dicts of string/value properties that + will be passed to the Isosurface constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Isosurface] + """ + return self["isosurface"] + + @isosurface.setter + def isosurface(self, val): + self["isosurface"] = val + + @property + def mesh3d(self): + """ + The 'mesh3d' property is a tuple of instances of + Mesh3d that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Mesh3d + - A list or tuple of dicts of string/value properties that + will be passed to the Mesh3d constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Mesh3d] + """ + return self["mesh3d"] + + @mesh3d.setter + def mesh3d(self, val): + self["mesh3d"] = val + + @property + def ohlc(self): + """ + The 'ohlc' property is a tuple of instances of + Ohlc that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Ohlc + - A list or tuple of dicts of string/value properties that + will be passed to the Ohlc constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Ohlc] + """ + return self["ohlc"] + + @ohlc.setter + def ohlc(self, val): + self["ohlc"] = val + + @property + def parcats(self): + """ + The 'parcats' property is a tuple of instances of + Parcats that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Parcats + - A list or tuple of dicts of string/value properties that + will be passed to the Parcats constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Parcats] + """ + return self["parcats"] + + @parcats.setter + def parcats(self, val): + self["parcats"] = val + + @property + def parcoords(self): + """ + The 'parcoords' property is a tuple of instances of + Parcoords that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Parcoords + - A list or tuple of dicts of string/value properties that + will be passed to the Parcoords constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Parcoords] + """ + return self["parcoords"] + + @parcoords.setter + def parcoords(self, val): + self["parcoords"] = val + + @property + def pie(self): + """ + The 'pie' property is a tuple of instances of + Pie that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Pie + - A list or tuple of dicts of string/value properties that + will be passed to the Pie constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Pie] + """ + return self["pie"] + + @pie.setter + def pie(self, val): + self["pie"] = val + + @property + def sankey(self): + """ + The 'sankey' property is a tuple of instances of + Sankey that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Sankey + - A list or tuple of dicts of string/value properties that + will be passed to the Sankey constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Sankey] + """ + return self["sankey"] + + @sankey.setter + def sankey(self, val): + self["sankey"] = val + + @property + def scatter3d(self): + """ + The 'scatter3d' property is a tuple of instances of + Scatter3d that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Scatter3d + - A list or tuple of dicts of string/value properties that + will be passed to the Scatter3d constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Scatter3d] + """ + return self["scatter3d"] + + @scatter3d.setter + def scatter3d(self, val): + self["scatter3d"] = val + + @property + def scattercarpet(self): + """ + The 'scattercarpet' property is a tuple of instances of + Scattercarpet that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Scattercarpet + - A list or tuple of dicts of string/value properties that + will be passed to the Scattercarpet constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Scattercarpet] + """ + return self["scattercarpet"] + + @scattercarpet.setter + def scattercarpet(self, val): + self["scattercarpet"] = val + + @property + def scattergeo(self): + """ + The 'scattergeo' property is a tuple of instances of + Scattergeo that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Scattergeo + - A list or tuple of dicts of string/value properties that + will be passed to the Scattergeo constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Scattergeo] + """ + return self["scattergeo"] + + @scattergeo.setter + def scattergeo(self, val): + self["scattergeo"] = val + + @property + def scattergl(self): + """ + The 'scattergl' property is a tuple of instances of + Scattergl that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Scattergl + - A list or tuple of dicts of string/value properties that + will be passed to the Scattergl constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Scattergl] + """ + return self["scattergl"] + + @scattergl.setter + def scattergl(self, val): + self["scattergl"] = val + + @property + def scattermapbox(self): + """ + The 'scattermapbox' property is a tuple of instances of + Scattermapbox that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Scattermapbox + - A list or tuple of dicts of string/value properties that + will be passed to the Scattermapbox constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Scattermapbox] + """ + return self["scattermapbox"] + + @scattermapbox.setter + def scattermapbox(self, val): + self["scattermapbox"] = val + + @property + def scattermap(self): + """ + The 'scattermap' property is a tuple of instances of + Scattermap that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Scattermap + - A list or tuple of dicts of string/value properties that + will be passed to the Scattermap constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Scattermap] + """ + return self["scattermap"] + + @scattermap.setter + def scattermap(self, val): + self["scattermap"] = val + + @property + def scatterpolargl(self): + """ + The 'scatterpolargl' property is a tuple of instances of + Scatterpolargl that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Scatterpolargl + - A list or tuple of dicts of string/value properties that + will be passed to the Scatterpolargl constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Scatterpolargl] + """ + return self["scatterpolargl"] + + @scatterpolargl.setter + def scatterpolargl(self, val): + self["scatterpolargl"] = val + + @property + def scatterpolar(self): + """ + The 'scatterpolar' property is a tuple of instances of + Scatterpolar that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Scatterpolar + - A list or tuple of dicts of string/value properties that + will be passed to the Scatterpolar constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Scatterpolar] + """ + return self["scatterpolar"] + + @scatterpolar.setter + def scatterpolar(self, val): + self["scatterpolar"] = val + + @property + def scatter(self): + """ + The 'scatter' property is a tuple of instances of + Scatter that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Scatter + - A list or tuple of dicts of string/value properties that + will be passed to the Scatter constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Scatter] + """ + return self["scatter"] + + @scatter.setter + def scatter(self, val): + self["scatter"] = val + + @property + def scattersmith(self): + """ + The 'scattersmith' property is a tuple of instances of + Scattersmith that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Scattersmith + - A list or tuple of dicts of string/value properties that + will be passed to the Scattersmith constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Scattersmith] + """ + return self["scattersmith"] + + @scattersmith.setter + def scattersmith(self, val): + self["scattersmith"] = val + + @property + def scatterternary(self): + """ + The 'scatterternary' property is a tuple of instances of + Scatterternary that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Scatterternary + - A list or tuple of dicts of string/value properties that + will be passed to the Scatterternary constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Scatterternary] + """ + return self["scatterternary"] + + @scatterternary.setter + def scatterternary(self, val): + self["scatterternary"] = val + + @property + def splom(self): + """ + The 'splom' property is a tuple of instances of + Splom that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Splom + - A list or tuple of dicts of string/value properties that + will be passed to the Splom constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Splom] + """ + return self["splom"] + + @splom.setter + def splom(self, val): + self["splom"] = val + + @property + def streamtube(self): + """ + The 'streamtube' property is a tuple of instances of + Streamtube that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Streamtube + - A list or tuple of dicts of string/value properties that + will be passed to the Streamtube constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Streamtube] + """ + return self["streamtube"] + + @streamtube.setter + def streamtube(self, val): + self["streamtube"] = val + + @property + def sunburst(self): + """ + The 'sunburst' property is a tuple of instances of + Sunburst that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Sunburst + - A list or tuple of dicts of string/value properties that + will be passed to the Sunburst constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Sunburst] + """ + return self["sunburst"] + + @sunburst.setter + def sunburst(self, val): + self["sunburst"] = val + + @property + def surface(self): + """ + The 'surface' property is a tuple of instances of + Surface that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Surface + - A list or tuple of dicts of string/value properties that + will be passed to the Surface constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Surface] + """ + return self["surface"] + + @surface.setter + def surface(self, val): + self["surface"] = val + + @property + def table(self): + """ + The 'table' property is a tuple of instances of + Table that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Table + - A list or tuple of dicts of string/value properties that + will be passed to the Table constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Table] + """ + return self["table"] + + @table.setter + def table(self, val): + self["table"] = val + + @property + def treemap(self): + """ + The 'treemap' property is a tuple of instances of + Treemap that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Treemap + - A list or tuple of dicts of string/value properties that + will be passed to the Treemap constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Treemap] + """ + return self["treemap"] + + @treemap.setter + def treemap(self, val): + self["treemap"] = val + + @property + def violin(self): + """ + The 'violin' property is a tuple of instances of + Violin that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Violin + - A list or tuple of dicts of string/value properties that + will be passed to the Violin constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Violin] + """ + return self["violin"] + + @violin.setter + def violin(self, val): + self["violin"] = val + + @property + def volume(self): + """ + The 'volume' property is a tuple of instances of + Volume that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Volume + - A list or tuple of dicts of string/value properties that + will be passed to the Volume constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Volume] + """ + return self["volume"] + + @volume.setter + def volume(self, val): + self["volume"] = val + + @property + def waterfall(self): + """ + The 'waterfall' property is a tuple of instances of + Waterfall that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.template.data.Waterfall + - A list or tuple of dicts of string/value properties that + will be passed to the Waterfall constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.template.data.Waterfall] + """ + return self["waterfall"] + + @waterfall.setter + def waterfall(self, val): + self["waterfall"] = val + + @property + def _prop_descriptions(self): + return """\ + barpolar + A tuple of :class:`plotly.graph_objects.Barpolar` + instances or dicts with compatible properties + bar + A tuple of :class:`plotly.graph_objects.Bar` instances + or dicts with compatible properties + box + A tuple of :class:`plotly.graph_objects.Box` instances + or dicts with compatible properties + candlestick + A tuple of :class:`plotly.graph_objects.Candlestick` + instances or dicts with compatible properties + carpet + A tuple of :class:`plotly.graph_objects.Carpet` + instances or dicts with compatible properties + choroplethmapbox + A tuple of + :class:`plotly.graph_objects.Choroplethmapbox` + instances or dicts with compatible properties + choroplethmap + A tuple of :class:`plotly.graph_objects.Choroplethmap` + instances or dicts with compatible properties + choropleth + A tuple of :class:`plotly.graph_objects.Choropleth` + instances or dicts with compatible properties + cone + A tuple of :class:`plotly.graph_objects.Cone` instances + or dicts with compatible properties + contourcarpet + A tuple of :class:`plotly.graph_objects.Contourcarpet` + instances or dicts with compatible properties + contour + A tuple of :class:`plotly.graph_objects.Contour` + instances or dicts with compatible properties + densitymapbox + A tuple of :class:`plotly.graph_objects.Densitymapbox` + instances or dicts with compatible properties + densitymap + A tuple of :class:`plotly.graph_objects.Densitymap` + instances or dicts with compatible properties + funnelarea + A tuple of :class:`plotly.graph_objects.Funnelarea` + instances or dicts with compatible properties + funnel + A tuple of :class:`plotly.graph_objects.Funnel` + instances or dicts with compatible properties + heatmap + A tuple of :class:`plotly.graph_objects.Heatmap` + instances or dicts with compatible properties + histogram2dcontour + A tuple of + :class:`plotly.graph_objects.Histogram2dContour` + instances or dicts with compatible properties + histogram2d + A tuple of :class:`plotly.graph_objects.Histogram2d` + instances or dicts with compatible properties + histogram + A tuple of :class:`plotly.graph_objects.Histogram` + instances or dicts with compatible properties + icicle + A tuple of :class:`plotly.graph_objects.Icicle` + instances or dicts with compatible properties + image + A tuple of :class:`plotly.graph_objects.Image` + instances or dicts with compatible properties + indicator + A tuple of :class:`plotly.graph_objects.Indicator` + instances or dicts with compatible properties + isosurface + A tuple of :class:`plotly.graph_objects.Isosurface` + instances or dicts with compatible properties + mesh3d + A tuple of :class:`plotly.graph_objects.Mesh3d` + instances or dicts with compatible properties + ohlc + A tuple of :class:`plotly.graph_objects.Ohlc` instances + or dicts with compatible properties + parcats + A tuple of :class:`plotly.graph_objects.Parcats` + instances or dicts with compatible properties + parcoords + A tuple of :class:`plotly.graph_objects.Parcoords` + instances or dicts with compatible properties + pie + A tuple of :class:`plotly.graph_objects.Pie` instances + or dicts with compatible properties + sankey + A tuple of :class:`plotly.graph_objects.Sankey` + instances or dicts with compatible properties + scatter3d + A tuple of :class:`plotly.graph_objects.Scatter3d` + instances or dicts with compatible properties + scattercarpet + A tuple of :class:`plotly.graph_objects.Scattercarpet` + instances or dicts with compatible properties + scattergeo + A tuple of :class:`plotly.graph_objects.Scattergeo` + instances or dicts with compatible properties + scattergl + A tuple of :class:`plotly.graph_objects.Scattergl` + instances or dicts with compatible properties + scattermapbox + A tuple of :class:`plotly.graph_objects.Scattermapbox` + instances or dicts with compatible properties + scattermap + A tuple of :class:`plotly.graph_objects.Scattermap` + instances or dicts with compatible properties + scatterpolargl + A tuple of :class:`plotly.graph_objects.Scatterpolargl` + instances or dicts with compatible properties + scatterpolar + A tuple of :class:`plotly.graph_objects.Scatterpolar` + instances or dicts with compatible properties + scatter + A tuple of :class:`plotly.graph_objects.Scatter` + instances or dicts with compatible properties + scattersmith + A tuple of :class:`plotly.graph_objects.Scattersmith` + instances or dicts with compatible properties + scatterternary + A tuple of :class:`plotly.graph_objects.Scatterternary` + instances or dicts with compatible properties + splom + A tuple of :class:`plotly.graph_objects.Splom` + instances or dicts with compatible properties + streamtube + A tuple of :class:`plotly.graph_objects.Streamtube` + instances or dicts with compatible properties + sunburst + A tuple of :class:`plotly.graph_objects.Sunburst` + instances or dicts with compatible properties + surface + A tuple of :class:`plotly.graph_objects.Surface` + instances or dicts with compatible properties + table + A tuple of :class:`plotly.graph_objects.Table` + instances or dicts with compatible properties + treemap + A tuple of :class:`plotly.graph_objects.Treemap` + instances or dicts with compatible properties + violin + A tuple of :class:`plotly.graph_objects.Violin` + instances or dicts with compatible properties + volume + A tuple of :class:`plotly.graph_objects.Volume` + instances or dicts with compatible properties + waterfall + A tuple of :class:`plotly.graph_objects.Waterfall` + instances or dicts with compatible properties + """ + + def __init__( + self, + arg=None, + barpolar=None, + bar=None, + box=None, + candlestick=None, + carpet=None, + choroplethmapbox=None, + choroplethmap=None, + choropleth=None, + cone=None, + contourcarpet=None, + contour=None, + densitymapbox=None, + densitymap=None, + funnelarea=None, + funnel=None, + heatmap=None, + histogram2dcontour=None, + histogram2d=None, + histogram=None, + icicle=None, + image=None, + indicator=None, + isosurface=None, + mesh3d=None, + ohlc=None, + parcats=None, + parcoords=None, + pie=None, + sankey=None, + scatter3d=None, + scattercarpet=None, + scattergeo=None, + scattergl=None, + scattermapbox=None, + scattermap=None, + scatterpolargl=None, + scatterpolar=None, + scatter=None, + scattersmith=None, + scatterternary=None, + splom=None, + streamtube=None, + sunburst=None, + surface=None, + table=None, + treemap=None, + violin=None, + volume=None, + waterfall=None, + **kwargs, + ): + """ + Construct a new Data object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.template.Data` + barpolar + A tuple of :class:`plotly.graph_objects.Barpolar` + instances or dicts with compatible properties + bar + A tuple of :class:`plotly.graph_objects.Bar` instances + or dicts with compatible properties + box + A tuple of :class:`plotly.graph_objects.Box` instances + or dicts with compatible properties + candlestick + A tuple of :class:`plotly.graph_objects.Candlestick` + instances or dicts with compatible properties + carpet + A tuple of :class:`plotly.graph_objects.Carpet` + instances or dicts with compatible properties + choroplethmapbox + A tuple of + :class:`plotly.graph_objects.Choroplethmapbox` + instances or dicts with compatible properties + choroplethmap + A tuple of :class:`plotly.graph_objects.Choroplethmap` + instances or dicts with compatible properties + choropleth + A tuple of :class:`plotly.graph_objects.Choropleth` + instances or dicts with compatible properties + cone + A tuple of :class:`plotly.graph_objects.Cone` instances + or dicts with compatible properties + contourcarpet + A tuple of :class:`plotly.graph_objects.Contourcarpet` + instances or dicts with compatible properties + contour + A tuple of :class:`plotly.graph_objects.Contour` + instances or dicts with compatible properties + densitymapbox + A tuple of :class:`plotly.graph_objects.Densitymapbox` + instances or dicts with compatible properties + densitymap + A tuple of :class:`plotly.graph_objects.Densitymap` + instances or dicts with compatible properties + funnelarea + A tuple of :class:`plotly.graph_objects.Funnelarea` + instances or dicts with compatible properties + funnel + A tuple of :class:`plotly.graph_objects.Funnel` + instances or dicts with compatible properties + heatmap + A tuple of :class:`plotly.graph_objects.Heatmap` + instances or dicts with compatible properties + histogram2dcontour + A tuple of + :class:`plotly.graph_objects.Histogram2dContour` + instances or dicts with compatible properties + histogram2d + A tuple of :class:`plotly.graph_objects.Histogram2d` + instances or dicts with compatible properties + histogram + A tuple of :class:`plotly.graph_objects.Histogram` + instances or dicts with compatible properties + icicle + A tuple of :class:`plotly.graph_objects.Icicle` + instances or dicts with compatible properties + image + A tuple of :class:`plotly.graph_objects.Image` + instances or dicts with compatible properties + indicator + A tuple of :class:`plotly.graph_objects.Indicator` + instances or dicts with compatible properties + isosurface + A tuple of :class:`plotly.graph_objects.Isosurface` + instances or dicts with compatible properties + mesh3d + A tuple of :class:`plotly.graph_objects.Mesh3d` + instances or dicts with compatible properties + ohlc + A tuple of :class:`plotly.graph_objects.Ohlc` instances + or dicts with compatible properties + parcats + A tuple of :class:`plotly.graph_objects.Parcats` + instances or dicts with compatible properties + parcoords + A tuple of :class:`plotly.graph_objects.Parcoords` + instances or dicts with compatible properties + pie + A tuple of :class:`plotly.graph_objects.Pie` instances + or dicts with compatible properties + sankey + A tuple of :class:`plotly.graph_objects.Sankey` + instances or dicts with compatible properties + scatter3d + A tuple of :class:`plotly.graph_objects.Scatter3d` + instances or dicts with compatible properties + scattercarpet + A tuple of :class:`plotly.graph_objects.Scattercarpet` + instances or dicts with compatible properties + scattergeo + A tuple of :class:`plotly.graph_objects.Scattergeo` + instances or dicts with compatible properties + scattergl + A tuple of :class:`plotly.graph_objects.Scattergl` + instances or dicts with compatible properties + scattermapbox + A tuple of :class:`plotly.graph_objects.Scattermapbox` + instances or dicts with compatible properties + scattermap + A tuple of :class:`plotly.graph_objects.Scattermap` + instances or dicts with compatible properties + scatterpolargl + A tuple of :class:`plotly.graph_objects.Scatterpolargl` + instances or dicts with compatible properties + scatterpolar + A tuple of :class:`plotly.graph_objects.Scatterpolar` + instances or dicts with compatible properties + scatter + A tuple of :class:`plotly.graph_objects.Scatter` + instances or dicts with compatible properties + scattersmith + A tuple of :class:`plotly.graph_objects.Scattersmith` + instances or dicts with compatible properties + scatterternary + A tuple of :class:`plotly.graph_objects.Scatterternary` + instances or dicts with compatible properties + splom + A tuple of :class:`plotly.graph_objects.Splom` + instances or dicts with compatible properties + streamtube + A tuple of :class:`plotly.graph_objects.Streamtube` + instances or dicts with compatible properties + sunburst + A tuple of :class:`plotly.graph_objects.Sunburst` + instances or dicts with compatible properties + surface + A tuple of :class:`plotly.graph_objects.Surface` + instances or dicts with compatible properties + table + A tuple of :class:`plotly.graph_objects.Table` + instances or dicts with compatible properties + treemap + A tuple of :class:`plotly.graph_objects.Treemap` + instances or dicts with compatible properties + violin + A tuple of :class:`plotly.graph_objects.Violin` + instances or dicts with compatible properties + volume + A tuple of :class:`plotly.graph_objects.Volume` + instances or dicts with compatible properties + waterfall + A tuple of :class:`plotly.graph_objects.Waterfall` + instances or dicts with compatible properties + + Returns + ------- + Data + """ + super().__init__("data") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.template.Data +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.template.Data`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("barpolar", arg, barpolar) + self._set_property("bar", arg, bar) + self._set_property("box", arg, box) + self._set_property("candlestick", arg, candlestick) + self._set_property("carpet", arg, carpet) + self._set_property("choroplethmapbox", arg, choroplethmapbox) + self._set_property("choroplethmap", arg, choroplethmap) + self._set_property("choropleth", arg, choropleth) + self._set_property("cone", arg, cone) + self._set_property("contourcarpet", arg, contourcarpet) + self._set_property("contour", arg, contour) + self._set_property("densitymapbox", arg, densitymapbox) + self._set_property("densitymap", arg, densitymap) + self._set_property("funnelarea", arg, funnelarea) + self._set_property("funnel", arg, funnel) + self._set_property("heatmap", arg, heatmap) + self._set_property("histogram2dcontour", arg, histogram2dcontour) + self._set_property("histogram2d", arg, histogram2d) + self._set_property("histogram", arg, histogram) + self._set_property("icicle", arg, icicle) + self._set_property("image", arg, image) + self._set_property("indicator", arg, indicator) + self._set_property("isosurface", arg, isosurface) + self._set_property("mesh3d", arg, mesh3d) + self._set_property("ohlc", arg, ohlc) + self._set_property("parcats", arg, parcats) + self._set_property("parcoords", arg, parcoords) + self._set_property("pie", arg, pie) + self._set_property("sankey", arg, sankey) + self._set_property("scatter3d", arg, scatter3d) + self._set_property("scattercarpet", arg, scattercarpet) + self._set_property("scattergeo", arg, scattergeo) + self._set_property("scattergl", arg, scattergl) + self._set_property("scattermapbox", arg, scattermapbox) + self._set_property("scattermap", arg, scattermap) + self._set_property("scatterpolargl", arg, scatterpolargl) + self._set_property("scatterpolar", arg, scatterpolar) + self._set_property("scatter", arg, scatter) + self._set_property("scattersmith", arg, scattersmith) + self._set_property("scatterternary", arg, scatterternary) + self._set_property("splom", arg, splom) + self._set_property("streamtube", arg, streamtube) + self._set_property("sunburst", arg, sunburst) + self._set_property("surface", arg, surface) + self._set_property("table", arg, table) + self._set_property("treemap", arg, treemap) + self._set_property("violin", arg, violin) + self._set_property("volume", arg, volume) + self._set_property("waterfall", arg, waterfall) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/_layout.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/_layout.py new file mode 100644 index 0000000..058b60b --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/_layout.py @@ -0,0 +1 @@ +from plotly.graph_objs import Layout diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/__init__.py new file mode 100644 index 0000000..1ce619d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/__init__.py @@ -0,0 +1,111 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._bar import Bar + from ._barpolar import Barpolar + from ._box import Box + from ._candlestick import Candlestick + from ._carpet import Carpet + from ._choropleth import Choropleth + from ._choroplethmap import Choroplethmap + from ._choroplethmapbox import Choroplethmapbox + from ._cone import Cone + from ._contour import Contour + from ._contourcarpet import Contourcarpet + from ._densitymap import Densitymap + from ._densitymapbox import Densitymapbox + from ._funnel import Funnel + from ._funnelarea import Funnelarea + from ._heatmap import Heatmap + from ._histogram import Histogram + from ._histogram2d import Histogram2d + from ._histogram2dcontour import Histogram2dContour + from ._icicle import Icicle + from ._image import Image + from ._indicator import Indicator + from ._isosurface import Isosurface + from ._mesh3d import Mesh3d + from ._ohlc import Ohlc + from ._parcats import Parcats + from ._parcoords import Parcoords + from ._pie import Pie + from ._sankey import Sankey + from ._scatter import Scatter + from ._scatter3d import Scatter3d + from ._scattercarpet import Scattercarpet + from ._scattergeo import Scattergeo + from ._scattergl import Scattergl + from ._scattermap import Scattermap + from ._scattermapbox import Scattermapbox + from ._scatterpolar import Scatterpolar + from ._scatterpolargl import Scatterpolargl + from ._scattersmith import Scattersmith + from ._scatterternary import Scatterternary + from ._splom import Splom + from ._streamtube import Streamtube + from ._sunburst import Sunburst + from ._surface import Surface + from ._table import Table + from ._treemap import Treemap + from ._violin import Violin + from ._volume import Volume + from ._waterfall import Waterfall +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [], + [ + "._bar.Bar", + "._barpolar.Barpolar", + "._box.Box", + "._candlestick.Candlestick", + "._carpet.Carpet", + "._choropleth.Choropleth", + "._choroplethmap.Choroplethmap", + "._choroplethmapbox.Choroplethmapbox", + "._cone.Cone", + "._contour.Contour", + "._contourcarpet.Contourcarpet", + "._densitymap.Densitymap", + "._densitymapbox.Densitymapbox", + "._funnel.Funnel", + "._funnelarea.Funnelarea", + "._heatmap.Heatmap", + "._histogram.Histogram", + "._histogram2d.Histogram2d", + "._histogram2dcontour.Histogram2dContour", + "._icicle.Icicle", + "._image.Image", + "._indicator.Indicator", + "._isosurface.Isosurface", + "._mesh3d.Mesh3d", + "._ohlc.Ohlc", + "._parcats.Parcats", + "._parcoords.Parcoords", + "._pie.Pie", + "._sankey.Sankey", + "._scatter.Scatter", + "._scatter3d.Scatter3d", + "._scattercarpet.Scattercarpet", + "._scattergeo.Scattergeo", + "._scattergl.Scattergl", + "._scattermap.Scattermap", + "._scattermapbox.Scattermapbox", + "._scatterpolar.Scatterpolar", + "._scatterpolargl.Scatterpolargl", + "._scattersmith.Scattersmith", + "._scatterternary.Scatterternary", + "._splom.Splom", + "._streamtube.Streamtube", + "._sunburst.Sunburst", + "._surface.Surface", + "._table.Table", + "._treemap.Treemap", + "._violin.Violin", + "._volume.Volume", + "._waterfall.Waterfall", + ], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_bar.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_bar.py new file mode 100644 index 0000000..5a800e6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_bar.py @@ -0,0 +1 @@ +from plotly.graph_objs import Bar diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_barpolar.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_barpolar.py new file mode 100644 index 0000000..18abed8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_barpolar.py @@ -0,0 +1 @@ +from plotly.graph_objs import Barpolar diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_box.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_box.py new file mode 100644 index 0000000..ffdd1d9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_box.py @@ -0,0 +1 @@ +from plotly.graph_objs import Box diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_candlestick.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_candlestick.py new file mode 100644 index 0000000..5d11b44 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_candlestick.py @@ -0,0 +1 @@ +from plotly.graph_objs import Candlestick diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_carpet.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_carpet.py new file mode 100644 index 0000000..b923d73 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_carpet.py @@ -0,0 +1 @@ +from plotly.graph_objs import Carpet diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_choropleth.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_choropleth.py new file mode 100644 index 0000000..733e127 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_choropleth.py @@ -0,0 +1 @@ +from plotly.graph_objs import Choropleth diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_choroplethmap.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_choroplethmap.py new file mode 100644 index 0000000..855102a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_choroplethmap.py @@ -0,0 +1 @@ +from plotly.graph_objs import Choroplethmap diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_choroplethmapbox.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_choroplethmapbox.py new file mode 100644 index 0000000..220b935 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_choroplethmapbox.py @@ -0,0 +1 @@ +from plotly.graph_objs import Choroplethmapbox diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_cone.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_cone.py new file mode 100644 index 0000000..7a28452 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_cone.py @@ -0,0 +1 @@ +from plotly.graph_objs import Cone diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_contour.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_contour.py new file mode 100644 index 0000000..e474909 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_contour.py @@ -0,0 +1 @@ +from plotly.graph_objs import Contour diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_contourcarpet.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_contourcarpet.py new file mode 100644 index 0000000..6240faf --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_contourcarpet.py @@ -0,0 +1 @@ +from plotly.graph_objs import Contourcarpet diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_densitymap.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_densitymap.py new file mode 100644 index 0000000..c73e108 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_densitymap.py @@ -0,0 +1 @@ +from plotly.graph_objs import Densitymap diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_densitymapbox.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_densitymapbox.py new file mode 100644 index 0000000..d655b21 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_densitymapbox.py @@ -0,0 +1 @@ +from plotly.graph_objs import Densitymapbox diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_funnel.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_funnel.py new file mode 100644 index 0000000..70e2ba7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_funnel.py @@ -0,0 +1 @@ +from plotly.graph_objs import Funnel diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_funnelarea.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_funnelarea.py new file mode 100644 index 0000000..242d0fc --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_funnelarea.py @@ -0,0 +1 @@ +from plotly.graph_objs import Funnelarea diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_heatmap.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_heatmap.py new file mode 100644 index 0000000..6098ee8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_heatmap.py @@ -0,0 +1 @@ +from plotly.graph_objs import Heatmap diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_histogram.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_histogram.py new file mode 100644 index 0000000..7ba4c6d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_histogram.py @@ -0,0 +1 @@ +from plotly.graph_objs import Histogram diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_histogram2d.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_histogram2d.py new file mode 100644 index 0000000..710f7f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_histogram2d.py @@ -0,0 +1 @@ +from plotly.graph_objs import Histogram2d diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_histogram2dcontour.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_histogram2dcontour.py new file mode 100644 index 0000000..94af41a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_histogram2dcontour.py @@ -0,0 +1 @@ +from plotly.graph_objs import Histogram2dContour diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_icicle.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_icicle.py new file mode 100644 index 0000000..6749cbe --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_icicle.py @@ -0,0 +1 @@ +from plotly.graph_objs import Icicle diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_image.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_image.py new file mode 100644 index 0000000..828920a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_image.py @@ -0,0 +1 @@ +from plotly.graph_objs import Image diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_indicator.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_indicator.py new file mode 100644 index 0000000..a5a488f --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_indicator.py @@ -0,0 +1 @@ +from plotly.graph_objs import Indicator diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_isosurface.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_isosurface.py new file mode 100644 index 0000000..5a7885a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_isosurface.py @@ -0,0 +1 @@ +from plotly.graph_objs import Isosurface diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_mesh3d.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_mesh3d.py new file mode 100644 index 0000000..2172a23 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_mesh3d.py @@ -0,0 +1 @@ +from plotly.graph_objs import Mesh3d diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_ohlc.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_ohlc.py new file mode 100644 index 0000000..d3f8574 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_ohlc.py @@ -0,0 +1 @@ +from plotly.graph_objs import Ohlc diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_parcats.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_parcats.py new file mode 100644 index 0000000..9b0290b --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_parcats.py @@ -0,0 +1 @@ +from plotly.graph_objs import Parcats diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_parcoords.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_parcoords.py new file mode 100644 index 0000000..ccf5629 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_parcoords.py @@ -0,0 +1 @@ +from plotly.graph_objs import Parcoords diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_pie.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_pie.py new file mode 100644 index 0000000..0625fd2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_pie.py @@ -0,0 +1 @@ +from plotly.graph_objs import Pie diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_sankey.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_sankey.py new file mode 100644 index 0000000..b572f65 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_sankey.py @@ -0,0 +1 @@ +from plotly.graph_objs import Sankey diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatter.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatter.py new file mode 100644 index 0000000..afcfab3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatter.py @@ -0,0 +1 @@ +from plotly.graph_objs import Scatter diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatter3d.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatter3d.py new file mode 100644 index 0000000..9314622 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatter3d.py @@ -0,0 +1 @@ +from plotly.graph_objs import Scatter3d diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattercarpet.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattercarpet.py new file mode 100644 index 0000000..26d87ca --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattercarpet.py @@ -0,0 +1 @@ +from plotly.graph_objs import Scattercarpet diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattergeo.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattergeo.py new file mode 100644 index 0000000..34308e1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattergeo.py @@ -0,0 +1 @@ +from plotly.graph_objs import Scattergeo diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattergl.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattergl.py new file mode 100644 index 0000000..30bd371 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattergl.py @@ -0,0 +1 @@ +from plotly.graph_objs import Scattergl diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattermap.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattermap.py new file mode 100644 index 0000000..5a494e2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattermap.py @@ -0,0 +1 @@ +from plotly.graph_objs import Scattermap diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattermapbox.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattermapbox.py new file mode 100644 index 0000000..6c3333a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattermapbox.py @@ -0,0 +1 @@ +from plotly.graph_objs import Scattermapbox diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatterpolar.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatterpolar.py new file mode 100644 index 0000000..e1417b2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatterpolar.py @@ -0,0 +1 @@ +from plotly.graph_objs import Scatterpolar diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatterpolargl.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatterpolargl.py new file mode 100644 index 0000000..60b023a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatterpolargl.py @@ -0,0 +1 @@ +from plotly.graph_objs import Scatterpolargl diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattersmith.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattersmith.py new file mode 100644 index 0000000..e2dcf41 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scattersmith.py @@ -0,0 +1 @@ +from plotly.graph_objs import Scattersmith diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatterternary.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatterternary.py new file mode 100644 index 0000000..2221ead --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_scatterternary.py @@ -0,0 +1 @@ +from plotly.graph_objs import Scatterternary diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_splom.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_splom.py new file mode 100644 index 0000000..0909cdf --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_splom.py @@ -0,0 +1 @@ +from plotly.graph_objs import Splom diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_streamtube.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_streamtube.py new file mode 100644 index 0000000..8b23c31 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_streamtube.py @@ -0,0 +1 @@ +from plotly.graph_objs import Streamtube diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_sunburst.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_sunburst.py new file mode 100644 index 0000000..1b9511c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_sunburst.py @@ -0,0 +1 @@ +from plotly.graph_objs import Sunburst diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_surface.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_surface.py new file mode 100644 index 0000000..cfaa55d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_surface.py @@ -0,0 +1 @@ +from plotly.graph_objs import Surface diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_table.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_table.py new file mode 100644 index 0000000..2b6d4ad --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_table.py @@ -0,0 +1 @@ +from plotly.graph_objs import Table diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_treemap.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_treemap.py new file mode 100644 index 0000000..5c648e7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_treemap.py @@ -0,0 +1 @@ +from plotly.graph_objs import Treemap diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_violin.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_violin.py new file mode 100644 index 0000000..23221b6 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_violin.py @@ -0,0 +1 @@ +from plotly.graph_objs import Violin diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_volume.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_volume.py new file mode 100644 index 0000000..1128580 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_volume.py @@ -0,0 +1 @@ +from plotly.graph_objs import Volume diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_waterfall.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_waterfall.py new file mode 100644 index 0000000..c45e785 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/template/data/_waterfall.py @@ -0,0 +1 @@ +from plotly.graph_objs import Waterfall diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/__init__.py new file mode 100644 index 0000000..a9ba0ff --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/__init__.py @@ -0,0 +1,19 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._aaxis import Aaxis + from ._baxis import Baxis + from ._caxis import Caxis + from ._domain import Domain + from . import aaxis + from . import baxis + from . import caxis +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".aaxis", ".baxis", ".caxis"], + ["._aaxis.Aaxis", "._baxis.Baxis", "._caxis.Caxis", "._domain.Domain"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/_aaxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/_aaxis.py new file mode 100644 index 0000000..636e68a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/_aaxis.py @@ -0,0 +1,1474 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Aaxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary" + _path_str = "layout.ternary.aaxis" + _valid_props = { + "color", + "dtick", + "exponentformat", + "gridcolor", + "griddash", + "gridwidth", + "hoverformat", + "labelalias", + "layer", + "linecolor", + "linewidth", + "min", + "minexponent", + "nticks", + "separatethousands", + "showexponent", + "showgrid", + "showline", + "showticklabels", + "showtickprefix", + "showticksuffix", + "tick0", + "tickangle", + "tickcolor", + "tickfont", + "tickformat", + "tickformatstopdefaults", + "tickformatstops", + "ticklabelstep", + "ticklen", + "tickmode", + "tickprefix", + "ticks", + "ticksuffix", + "ticktext", + "ticktextsrc", + "tickvals", + "tickvalssrc", + "tickwidth", + "title", + "uirevision", + } + + @property + def color(self): + """ + 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. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def dtick(self): + """ + 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<f>", 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<n>" 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" + + The 'dtick' property accepts values of any type + + Returns + ------- + Any + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def exponentformat(self): + """ + 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. + + The 'exponentformat' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['none', 'e', 'E', 'power', 'SI', 'B'] + + Returns + ------- + Any + """ + return self["exponentformat"] + + @exponentformat.setter + def exponentformat(self, val): + self["exponentformat"] = val + + @property + def gridcolor(self): + """ + Sets the color of the grid lines. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def griddash(self): + """ + 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"). + + The 'griddash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["griddash"] + + @griddash.setter + def griddash(self, val): + self["griddash"] = val + + @property + def gridwidth(self): + """ + Sets the width (in px) of the grid lines. + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def hoverformat(self): + """ + Sets the hover text formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'hoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["hoverformat"] + + @hoverformat.setter + def hoverformat(self, val): + self["hoverformat"] = val + + @property + def labelalias(self): + """ + 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. + + The 'labelalias' property accepts values of any type + + Returns + ------- + Any + """ + return self["labelalias"] + + @labelalias.setter + def labelalias(self, val): + self["labelalias"] = val + + @property + def layer(self): + """ + 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. + + The 'layer' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['above traces', 'below traces'] + + Returns + ------- + Any + """ + return self["layer"] + + @layer.setter + def layer(self, val): + self["layer"] = val + + @property + def linecolor(self): + """ + Sets the axis line color. + + The 'linecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["linecolor"] + + @linecolor.setter + def linecolor(self, val): + self["linecolor"] = val + + @property + def linewidth(self): + """ + Sets the width (in px) of the axis line. + + The 'linewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["linewidth"] + + @linewidth.setter + def linewidth(self, val): + self["linewidth"] = val + + @property + def min(self): + """ + The minimum value visible on this axis. The maximum is + determined by the sum minus the minimum values of the other two + axes. The full view corresponds to all the minima set to zero. + + The 'min' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["min"] + + @min.setter + def min(self, val): + self["min"] = val + + @property + def minexponent(self): + """ + Hide SI prefix for 10^n if |n| is below this number. This only + has an effect when `tickformat` is "SI" or "B". + + The 'minexponent' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["minexponent"] + + @minexponent.setter + def minexponent(self, val): + self["minexponent"] = val + + @property + def nticks(self): + """ + 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". + + The 'nticks' 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["nticks"] + + @nticks.setter + def nticks(self, val): + self["nticks"] = val + + @property + def separatethousands(self): + """ + If "true", even 4-digit integers are separated + + The 'separatethousands' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["separatethousands"] + + @separatethousands.setter + def separatethousands(self, val): + self["separatethousands"] = val + + @property + def showexponent(self): + """ + 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. + + The 'showexponent' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showexponent"] + + @showexponent.setter + def showexponent(self, val): + self["showexponent"] = val + + @property + def showgrid(self): + """ + Determines whether or not grid lines are drawn. If True, the + grid lines are drawn at every tick mark. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def showline(self): + """ + Determines whether or not a line bounding this axis is drawn. + + The 'showline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showline"] + + @showline.setter + def showline(self, val): + self["showline"] = val + + @property + def showticklabels(self): + """ + Determines whether or not the tick labels are drawn. + + The 'showticklabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showticklabels"] + + @showticklabels.setter + def showticklabels(self, val): + self["showticklabels"] = val + + @property + def showtickprefix(self): + """ + 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. + + The 'showtickprefix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showtickprefix"] + + @showtickprefix.setter + def showtickprefix(self, val): + self["showtickprefix"] = val + + @property + def showticksuffix(self): + """ + Same as `showtickprefix` but for tick suffixes. + + The 'showticksuffix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showticksuffix"] + + @showticksuffix.setter + def showticksuffix(self, val): + self["showticksuffix"] = val + + @property + def tick0(self): + """ + 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<f>* (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. + + The 'tick0' property accepts values of any type + + Returns + ------- + Any + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def tickangle(self): + """ + Sets the angle of the tick labels with respect to the + horizontal. For example, a `tickangle` of -90 draws the tick + labels vertically. + + The 'tickangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["tickangle"] + + @tickangle.setter + def tickangle(self, val): + self["tickangle"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def tickfont(self): + """ + Sets the tick font. + + The 'tickfont' property is an instance of Tickfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.ternary.aaxis.Tickfont` + - A dict of string/value properties that will be passed + to the Tickfont constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.aaxis.Tickfont + """ + return self["tickfont"] + + @tickfont.setter + def tickfont(self, val): + self["tickfont"] = val + + @property + def tickformat(self): + """ + Sets the tick label formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'tickformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickformat"] + + @tickformat.setter + def tickformat(self, val): + self["tickformat"] = val + + @property + def tickformatstops(self): + """ + The 'tickformatstops' property is a tuple of instances of + Tickformatstop that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.ternary.aaxis.Tickformatstop + - A list or tuple of dicts of string/value properties that + will be passed to the Tickformatstop constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.ternary.aaxis.Tickformatstop] + """ + return self["tickformatstops"] + + @tickformatstops.setter + def tickformatstops(self, val): + self["tickformatstops"] = val + + @property + def tickformatstopdefaults(self): + """ + When used in a template (as + layout.template.layout.ternary.aaxis.tickformatstopdefaults), + sets the default property values to use for elements of + layout.ternary.aaxis.tickformatstops + + The 'tickformatstopdefaults' property is an instance of Tickformatstop + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.ternary.aaxis.Tickformatstop` + - A dict of string/value properties that will be passed + to the Tickformatstop constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.aaxis.Tickformatstop + """ + return self["tickformatstopdefaults"] + + @tickformatstopdefaults.setter + def tickformatstopdefaults(self, val): + self["tickformatstopdefaults"] = val + + @property + def ticklabelstep(self): + """ + 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". + + The 'ticklabelstep' 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["ticklabelstep"] + + @ticklabelstep.setter + def ticklabelstep(self, val): + self["ticklabelstep"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickmode(self): + """ + 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). + + The 'tickmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'linear', 'array'] + + Returns + ------- + Any + """ + return self["tickmode"] + + @tickmode.setter + def tickmode(self, val): + self["tickmode"] = val + + @property + def tickprefix(self): + """ + Sets a tick label prefix. + + The 'tickprefix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickprefix"] + + @tickprefix.setter + def tickprefix(self, val): + self["tickprefix"] = val + + @property + def ticks(self): + """ + 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. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def ticksuffix(self): + """ + Sets a tick label suffix. + + The 'ticksuffix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["ticksuffix"] + + @ticksuffix.setter + def ticksuffix(self, val): + self["ticksuffix"] = val + + @property + def ticktext(self): + """ + Sets the text displayed at the ticks position via `tickvals`. + Only has an effect if `tickmode` is set to "array". Used with + `tickvals`. + + The 'ticktext' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["ticktext"] + + @ticktext.setter + def ticktext(self, val): + self["ticktext"] = val + + @property + def ticktextsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `ticktext`. + + The 'ticktextsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticktextsrc"] + + @ticktextsrc.setter + def ticktextsrc(self, val): + self["ticktextsrc"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. Only has an + effect if `tickmode` is set to "array". Used with `ticktext`. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @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.ternary.aaxis.Title` + - A dict of string/value properties that will be passed + to the Title constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.aaxis.Title + """ + return self["title"] + + @title.setter + def title(self, val): + self["title"] = val + + @property + def uirevision(self): + """ + Controls persistence of user-driven changes in axis `min`, and + `title` if in `editable: true` configuration. Defaults to + `ternary<N>.uirevision`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @property + def _prop_descriptions(self): + return """\ + 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. + 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<f>", 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<n>" 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. + 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: + https://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" + 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. + min + The minimum value visible on this axis. The maximum is + determined by the sum minus the minimum values of the + other two axes. The full view corresponds to all the + minima set to zero. + minexponent + Hide SI prefix for 10^n if |n| is below this number. + This only has an effect when `tickformat` is "SI" or + "B". + 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". + separatethousands + If "true", even 4-digit integers are separated + 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. + 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. + 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<f>* (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: + https://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.ternary. + aaxis.Tickformatstop` instances or dicts with + compatible properties + tickformatstopdefaults + When used in a template (as layout.template.layout.tern + ary.aaxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.ternary.aaxis.tickformatstops + 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). + 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. + 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.ternary.aaxis.Title + ` instance or dict with compatible properties + uirevision + Controls persistence of user-driven changes in axis + `min`, and `title` if in `editable: true` + configuration. Defaults to `ternary<N>.uirevision`. + """ + + def __init__( + self, + arg=None, + color=None, + dtick=None, + exponentformat=None, + gridcolor=None, + griddash=None, + gridwidth=None, + hoverformat=None, + labelalias=None, + layer=None, + linecolor=None, + linewidth=None, + min=None, + minexponent=None, + nticks=None, + separatethousands=None, + showexponent=None, + showgrid=None, + showline=None, + showticklabels=None, + showtickprefix=None, + showticksuffix=None, + tick0=None, + tickangle=None, + tickcolor=None, + tickfont=None, + tickformat=None, + tickformatstops=None, + tickformatstopdefaults=None, + ticklabelstep=None, + ticklen=None, + tickmode=None, + tickprefix=None, + ticks=None, + ticksuffix=None, + ticktext=None, + ticktextsrc=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + title=None, + uirevision=None, + **kwargs, + ): + """ + Construct a new Aaxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.ternary.Aaxis` + 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. + 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<f>", 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<n>" 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. + 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: + https://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" + 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. + min + The minimum value visible on this axis. The maximum is + determined by the sum minus the minimum values of the + other two axes. The full view corresponds to all the + minima set to zero. + minexponent + Hide SI prefix for 10^n if |n| is below this number. + This only has an effect when `tickformat` is "SI" or + "B". + 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". + separatethousands + If "true", even 4-digit integers are separated + 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. + 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. + 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<f>* (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: + https://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.ternary. + aaxis.Tickformatstop` instances or dicts with + compatible properties + tickformatstopdefaults + When used in a template (as layout.template.layout.tern + ary.aaxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.ternary.aaxis.tickformatstops + 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). + 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. + 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.ternary.aaxis.Title + ` instance or dict with compatible properties + uirevision + Controls persistence of user-driven changes in axis + `min`, and `title` if in `editable: true` + configuration. Defaults to `ternary<N>.uirevision`. + + Returns + ------- + Aaxis + """ + super().__init__("aaxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.Aaxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.Aaxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("dtick", arg, dtick) + self._set_property("exponentformat", arg, exponentformat) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("griddash", arg, griddash) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("hoverformat", arg, hoverformat) + self._set_property("labelalias", arg, labelalias) + self._set_property("layer", arg, layer) + self._set_property("linecolor", arg, linecolor) + self._set_property("linewidth", arg, linewidth) + self._set_property("min", arg, min) + self._set_property("minexponent", arg, minexponent) + self._set_property("nticks", arg, nticks) + self._set_property("separatethousands", arg, separatethousands) + self._set_property("showexponent", arg, showexponent) + self._set_property("showgrid", arg, showgrid) + self._set_property("showline", arg, showline) + self._set_property("showticklabels", arg, showticklabels) + self._set_property("showtickprefix", arg, showtickprefix) + self._set_property("showticksuffix", arg, showticksuffix) + self._set_property("tick0", arg, tick0) + self._set_property("tickangle", arg, tickangle) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("tickfont", arg, tickfont) + self._set_property("tickformat", arg, tickformat) + self._set_property("tickformatstops", arg, tickformatstops) + self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) + self._set_property("ticklabelstep", arg, ticklabelstep) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickmode", arg, tickmode) + self._set_property("tickprefix", arg, tickprefix) + self._set_property("ticks", arg, ticks) + self._set_property("ticksuffix", arg, ticksuffix) + self._set_property("ticktext", arg, ticktext) + self._set_property("ticktextsrc", arg, ticktextsrc) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._set_property("title", arg, title) + self._set_property("uirevision", arg, uirevision) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/_baxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/_baxis.py new file mode 100644 index 0000000..c660431 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/_baxis.py @@ -0,0 +1,1474 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Baxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary" + _path_str = "layout.ternary.baxis" + _valid_props = { + "color", + "dtick", + "exponentformat", + "gridcolor", + "griddash", + "gridwidth", + "hoverformat", + "labelalias", + "layer", + "linecolor", + "linewidth", + "min", + "minexponent", + "nticks", + "separatethousands", + "showexponent", + "showgrid", + "showline", + "showticklabels", + "showtickprefix", + "showticksuffix", + "tick0", + "tickangle", + "tickcolor", + "tickfont", + "tickformat", + "tickformatstopdefaults", + "tickformatstops", + "ticklabelstep", + "ticklen", + "tickmode", + "tickprefix", + "ticks", + "ticksuffix", + "ticktext", + "ticktextsrc", + "tickvals", + "tickvalssrc", + "tickwidth", + "title", + "uirevision", + } + + @property + def color(self): + """ + 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. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def dtick(self): + """ + 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<f>", 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<n>" 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" + + The 'dtick' property accepts values of any type + + Returns + ------- + Any + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def exponentformat(self): + """ + 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. + + The 'exponentformat' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['none', 'e', 'E', 'power', 'SI', 'B'] + + Returns + ------- + Any + """ + return self["exponentformat"] + + @exponentformat.setter + def exponentformat(self, val): + self["exponentformat"] = val + + @property + def gridcolor(self): + """ + Sets the color of the grid lines. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def griddash(self): + """ + 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"). + + The 'griddash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["griddash"] + + @griddash.setter + def griddash(self, val): + self["griddash"] = val + + @property + def gridwidth(self): + """ + Sets the width (in px) of the grid lines. + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def hoverformat(self): + """ + Sets the hover text formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'hoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["hoverformat"] + + @hoverformat.setter + def hoverformat(self, val): + self["hoverformat"] = val + + @property + def labelalias(self): + """ + 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. + + The 'labelalias' property accepts values of any type + + Returns + ------- + Any + """ + return self["labelalias"] + + @labelalias.setter + def labelalias(self, val): + self["labelalias"] = val + + @property + def layer(self): + """ + 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. + + The 'layer' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['above traces', 'below traces'] + + Returns + ------- + Any + """ + return self["layer"] + + @layer.setter + def layer(self, val): + self["layer"] = val + + @property + def linecolor(self): + """ + Sets the axis line color. + + The 'linecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["linecolor"] + + @linecolor.setter + def linecolor(self, val): + self["linecolor"] = val + + @property + def linewidth(self): + """ + Sets the width (in px) of the axis line. + + The 'linewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["linewidth"] + + @linewidth.setter + def linewidth(self, val): + self["linewidth"] = val + + @property + def min(self): + """ + The minimum value visible on this axis. The maximum is + determined by the sum minus the minimum values of the other two + axes. The full view corresponds to all the minima set to zero. + + The 'min' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["min"] + + @min.setter + def min(self, val): + self["min"] = val + + @property + def minexponent(self): + """ + Hide SI prefix for 10^n if |n| is below this number. This only + has an effect when `tickformat` is "SI" or "B". + + The 'minexponent' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["minexponent"] + + @minexponent.setter + def minexponent(self, val): + self["minexponent"] = val + + @property + def nticks(self): + """ + 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". + + The 'nticks' 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["nticks"] + + @nticks.setter + def nticks(self, val): + self["nticks"] = val + + @property + def separatethousands(self): + """ + If "true", even 4-digit integers are separated + + The 'separatethousands' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["separatethousands"] + + @separatethousands.setter + def separatethousands(self, val): + self["separatethousands"] = val + + @property + def showexponent(self): + """ + 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. + + The 'showexponent' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showexponent"] + + @showexponent.setter + def showexponent(self, val): + self["showexponent"] = val + + @property + def showgrid(self): + """ + Determines whether or not grid lines are drawn. If True, the + grid lines are drawn at every tick mark. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def showline(self): + """ + Determines whether or not a line bounding this axis is drawn. + + The 'showline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showline"] + + @showline.setter + def showline(self, val): + self["showline"] = val + + @property + def showticklabels(self): + """ + Determines whether or not the tick labels are drawn. + + The 'showticklabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showticklabels"] + + @showticklabels.setter + def showticklabels(self, val): + self["showticklabels"] = val + + @property + def showtickprefix(self): + """ + 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. + + The 'showtickprefix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showtickprefix"] + + @showtickprefix.setter + def showtickprefix(self, val): + self["showtickprefix"] = val + + @property + def showticksuffix(self): + """ + Same as `showtickprefix` but for tick suffixes. + + The 'showticksuffix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showticksuffix"] + + @showticksuffix.setter + def showticksuffix(self, val): + self["showticksuffix"] = val + + @property + def tick0(self): + """ + 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<f>* (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. + + The 'tick0' property accepts values of any type + + Returns + ------- + Any + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def tickangle(self): + """ + Sets the angle of the tick labels with respect to the + horizontal. For example, a `tickangle` of -90 draws the tick + labels vertically. + + The 'tickangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["tickangle"] + + @tickangle.setter + def tickangle(self, val): + self["tickangle"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def tickfont(self): + """ + Sets the tick font. + + The 'tickfont' property is an instance of Tickfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.ternary.baxis.Tickfont` + - A dict of string/value properties that will be passed + to the Tickfont constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.baxis.Tickfont + """ + return self["tickfont"] + + @tickfont.setter + def tickfont(self, val): + self["tickfont"] = val + + @property + def tickformat(self): + """ + Sets the tick label formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'tickformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickformat"] + + @tickformat.setter + def tickformat(self, val): + self["tickformat"] = val + + @property + def tickformatstops(self): + """ + The 'tickformatstops' property is a tuple of instances of + Tickformatstop that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.ternary.baxis.Tickformatstop + - A list or tuple of dicts of string/value properties that + will be passed to the Tickformatstop constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.ternary.baxis.Tickformatstop] + """ + return self["tickformatstops"] + + @tickformatstops.setter + def tickformatstops(self, val): + self["tickformatstops"] = val + + @property + def tickformatstopdefaults(self): + """ + When used in a template (as + layout.template.layout.ternary.baxis.tickformatstopdefaults), + sets the default property values to use for elements of + layout.ternary.baxis.tickformatstops + + The 'tickformatstopdefaults' property is an instance of Tickformatstop + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.ternary.baxis.Tickformatstop` + - A dict of string/value properties that will be passed + to the Tickformatstop constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.baxis.Tickformatstop + """ + return self["tickformatstopdefaults"] + + @tickformatstopdefaults.setter + def tickformatstopdefaults(self, val): + self["tickformatstopdefaults"] = val + + @property + def ticklabelstep(self): + """ + 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". + + The 'ticklabelstep' 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["ticklabelstep"] + + @ticklabelstep.setter + def ticklabelstep(self, val): + self["ticklabelstep"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickmode(self): + """ + 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). + + The 'tickmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'linear', 'array'] + + Returns + ------- + Any + """ + return self["tickmode"] + + @tickmode.setter + def tickmode(self, val): + self["tickmode"] = val + + @property + def tickprefix(self): + """ + Sets a tick label prefix. + + The 'tickprefix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickprefix"] + + @tickprefix.setter + def tickprefix(self, val): + self["tickprefix"] = val + + @property + def ticks(self): + """ + 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. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def ticksuffix(self): + """ + Sets a tick label suffix. + + The 'ticksuffix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["ticksuffix"] + + @ticksuffix.setter + def ticksuffix(self, val): + self["ticksuffix"] = val + + @property + def ticktext(self): + """ + Sets the text displayed at the ticks position via `tickvals`. + Only has an effect if `tickmode` is set to "array". Used with + `tickvals`. + + The 'ticktext' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["ticktext"] + + @ticktext.setter + def ticktext(self, val): + self["ticktext"] = val + + @property + def ticktextsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `ticktext`. + + The 'ticktextsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticktextsrc"] + + @ticktextsrc.setter + def ticktextsrc(self, val): + self["ticktextsrc"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. Only has an + effect if `tickmode` is set to "array". Used with `ticktext`. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @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.ternary.baxis.Title` + - A dict of string/value properties that will be passed + to the Title constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.baxis.Title + """ + return self["title"] + + @title.setter + def title(self, val): + self["title"] = val + + @property + def uirevision(self): + """ + Controls persistence of user-driven changes in axis `min`, and + `title` if in `editable: true` configuration. Defaults to + `ternary<N>.uirevision`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @property + def _prop_descriptions(self): + return """\ + 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. + 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<f>", 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<n>" 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. + 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: + https://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" + 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. + min + The minimum value visible on this axis. The maximum is + determined by the sum minus the minimum values of the + other two axes. The full view corresponds to all the + minima set to zero. + minexponent + Hide SI prefix for 10^n if |n| is below this number. + This only has an effect when `tickformat` is "SI" or + "B". + 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". + separatethousands + If "true", even 4-digit integers are separated + 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. + 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. + 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<f>* (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: + https://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.ternary. + baxis.Tickformatstop` instances or dicts with + compatible properties + tickformatstopdefaults + When used in a template (as layout.template.layout.tern + ary.baxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.ternary.baxis.tickformatstops + 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). + 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. + 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.ternary.baxis.Title + ` instance or dict with compatible properties + uirevision + Controls persistence of user-driven changes in axis + `min`, and `title` if in `editable: true` + configuration. Defaults to `ternary<N>.uirevision`. + """ + + def __init__( + self, + arg=None, + color=None, + dtick=None, + exponentformat=None, + gridcolor=None, + griddash=None, + gridwidth=None, + hoverformat=None, + labelalias=None, + layer=None, + linecolor=None, + linewidth=None, + min=None, + minexponent=None, + nticks=None, + separatethousands=None, + showexponent=None, + showgrid=None, + showline=None, + showticklabels=None, + showtickprefix=None, + showticksuffix=None, + tick0=None, + tickangle=None, + tickcolor=None, + tickfont=None, + tickformat=None, + tickformatstops=None, + tickformatstopdefaults=None, + ticklabelstep=None, + ticklen=None, + tickmode=None, + tickprefix=None, + ticks=None, + ticksuffix=None, + ticktext=None, + ticktextsrc=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + title=None, + uirevision=None, + **kwargs, + ): + """ + Construct a new Baxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.ternary.Baxis` + 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. + 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<f>", 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<n>" 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. + 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: + https://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" + 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. + min + The minimum value visible on this axis. The maximum is + determined by the sum minus the minimum values of the + other two axes. The full view corresponds to all the + minima set to zero. + minexponent + Hide SI prefix for 10^n if |n| is below this number. + This only has an effect when `tickformat` is "SI" or + "B". + 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". + separatethousands + If "true", even 4-digit integers are separated + 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. + 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. + 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<f>* (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: + https://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.ternary. + baxis.Tickformatstop` instances or dicts with + compatible properties + tickformatstopdefaults + When used in a template (as layout.template.layout.tern + ary.baxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.ternary.baxis.tickformatstops + 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). + 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. + 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.ternary.baxis.Title + ` instance or dict with compatible properties + uirevision + Controls persistence of user-driven changes in axis + `min`, and `title` if in `editable: true` + configuration. Defaults to `ternary<N>.uirevision`. + + Returns + ------- + Baxis + """ + super().__init__("baxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.Baxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.Baxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("dtick", arg, dtick) + self._set_property("exponentformat", arg, exponentformat) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("griddash", arg, griddash) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("hoverformat", arg, hoverformat) + self._set_property("labelalias", arg, labelalias) + self._set_property("layer", arg, layer) + self._set_property("linecolor", arg, linecolor) + self._set_property("linewidth", arg, linewidth) + self._set_property("min", arg, min) + self._set_property("minexponent", arg, minexponent) + self._set_property("nticks", arg, nticks) + self._set_property("separatethousands", arg, separatethousands) + self._set_property("showexponent", arg, showexponent) + self._set_property("showgrid", arg, showgrid) + self._set_property("showline", arg, showline) + self._set_property("showticklabels", arg, showticklabels) + self._set_property("showtickprefix", arg, showtickprefix) + self._set_property("showticksuffix", arg, showticksuffix) + self._set_property("tick0", arg, tick0) + self._set_property("tickangle", arg, tickangle) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("tickfont", arg, tickfont) + self._set_property("tickformat", arg, tickformat) + self._set_property("tickformatstops", arg, tickformatstops) + self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) + self._set_property("ticklabelstep", arg, ticklabelstep) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickmode", arg, tickmode) + self._set_property("tickprefix", arg, tickprefix) + self._set_property("ticks", arg, ticks) + self._set_property("ticksuffix", arg, ticksuffix) + self._set_property("ticktext", arg, ticktext) + self._set_property("ticktextsrc", arg, ticktextsrc) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._set_property("title", arg, title) + self._set_property("uirevision", arg, uirevision) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/_caxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/_caxis.py new file mode 100644 index 0000000..486cf47 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/_caxis.py @@ -0,0 +1,1474 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Caxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary" + _path_str = "layout.ternary.caxis" + _valid_props = { + "color", + "dtick", + "exponentformat", + "gridcolor", + "griddash", + "gridwidth", + "hoverformat", + "labelalias", + "layer", + "linecolor", + "linewidth", + "min", + "minexponent", + "nticks", + "separatethousands", + "showexponent", + "showgrid", + "showline", + "showticklabels", + "showtickprefix", + "showticksuffix", + "tick0", + "tickangle", + "tickcolor", + "tickfont", + "tickformat", + "tickformatstopdefaults", + "tickformatstops", + "ticklabelstep", + "ticklen", + "tickmode", + "tickprefix", + "ticks", + "ticksuffix", + "ticktext", + "ticktextsrc", + "tickvals", + "tickvalssrc", + "tickwidth", + "title", + "uirevision", + } + + @property + def color(self): + """ + 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. + + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def dtick(self): + """ + 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<f>", 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<n>" 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" + + The 'dtick' property accepts values of any type + + Returns + ------- + Any + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def exponentformat(self): + """ + 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. + + The 'exponentformat' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['none', 'e', 'E', 'power', 'SI', 'B'] + + Returns + ------- + Any + """ + return self["exponentformat"] + + @exponentformat.setter + def exponentformat(self, val): + self["exponentformat"] = val + + @property + def gridcolor(self): + """ + Sets the color of the grid lines. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def griddash(self): + """ + 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"). + + The 'griddash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["griddash"] + + @griddash.setter + def griddash(self, val): + self["griddash"] = val + + @property + def gridwidth(self): + """ + Sets the width (in px) of the grid lines. + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def hoverformat(self): + """ + Sets the hover text formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'hoverformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["hoverformat"] + + @hoverformat.setter + def hoverformat(self, val): + self["hoverformat"] = val + + @property + def labelalias(self): + """ + 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. + + The 'labelalias' property accepts values of any type + + Returns + ------- + Any + """ + return self["labelalias"] + + @labelalias.setter + def labelalias(self, val): + self["labelalias"] = val + + @property + def layer(self): + """ + 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. + + The 'layer' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['above traces', 'below traces'] + + Returns + ------- + Any + """ + return self["layer"] + + @layer.setter + def layer(self, val): + self["layer"] = val + + @property + def linecolor(self): + """ + Sets the axis line color. + + The 'linecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["linecolor"] + + @linecolor.setter + def linecolor(self, val): + self["linecolor"] = val + + @property + def linewidth(self): + """ + Sets the width (in px) of the axis line. + + The 'linewidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["linewidth"] + + @linewidth.setter + def linewidth(self, val): + self["linewidth"] = val + + @property + def min(self): + """ + The minimum value visible on this axis. The maximum is + determined by the sum minus the minimum values of the other two + axes. The full view corresponds to all the minima set to zero. + + The 'min' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["min"] + + @min.setter + def min(self, val): + self["min"] = val + + @property + def minexponent(self): + """ + Hide SI prefix for 10^n if |n| is below this number. This only + has an effect when `tickformat` is "SI" or "B". + + The 'minexponent' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["minexponent"] + + @minexponent.setter + def minexponent(self, val): + self["minexponent"] = val + + @property + def nticks(self): + """ + 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". + + The 'nticks' 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["nticks"] + + @nticks.setter + def nticks(self, val): + self["nticks"] = val + + @property + def separatethousands(self): + """ + If "true", even 4-digit integers are separated + + The 'separatethousands' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["separatethousands"] + + @separatethousands.setter + def separatethousands(self, val): + self["separatethousands"] = val + + @property + def showexponent(self): + """ + 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. + + The 'showexponent' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showexponent"] + + @showexponent.setter + def showexponent(self, val): + self["showexponent"] = val + + @property + def showgrid(self): + """ + Determines whether or not grid lines are drawn. If True, the + grid lines are drawn at every tick mark. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def showline(self): + """ + Determines whether or not a line bounding this axis is drawn. + + The 'showline' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showline"] + + @showline.setter + def showline(self, val): + self["showline"] = val + + @property + def showticklabels(self): + """ + Determines whether or not the tick labels are drawn. + + The 'showticklabels' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showticklabels"] + + @showticklabels.setter + def showticklabels(self, val): + self["showticklabels"] = val + + @property + def showtickprefix(self): + """ + 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. + + The 'showtickprefix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showtickprefix"] + + @showtickprefix.setter + def showtickprefix(self, val): + self["showtickprefix"] = val + + @property + def showticksuffix(self): + """ + Same as `showtickprefix` but for tick suffixes. + + The 'showticksuffix' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['all', 'first', 'last', 'none'] + + Returns + ------- + Any + """ + return self["showticksuffix"] + + @showticksuffix.setter + def showticksuffix(self, val): + self["showticksuffix"] = val + + @property + def tick0(self): + """ + 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<f>* (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. + + The 'tick0' property accepts values of any type + + Returns + ------- + Any + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def tickangle(self): + """ + Sets the angle of the tick labels with respect to the + horizontal. For example, a `tickangle` of -90 draws the tick + labels vertically. + + The 'tickangle' property is a angle (in degrees) that may be + specified as a number between -180 and 180. + Numeric values outside this range are converted to the equivalent value + (e.g. 270 is converted to -90). + + Returns + ------- + int|float + """ + return self["tickangle"] + + @tickangle.setter + def tickangle(self, val): + self["tickangle"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def tickfont(self): + """ + Sets the tick font. + + The 'tickfont' property is an instance of Tickfont + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.ternary.caxis.Tickfont` + - A dict of string/value properties that will be passed + to the Tickfont constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.caxis.Tickfont + """ + return self["tickfont"] + + @tickfont.setter + def tickfont(self, val): + self["tickfont"] = val + + @property + def tickformat(self): + """ + Sets the tick label formatting rule using d3 formatting mini- + languages which are very similar to those in Python. For + numbers, see: + https://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" + + The 'tickformat' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickformat"] + + @tickformat.setter + def tickformat(self, val): + self["tickformat"] = val + + @property + def tickformatstops(self): + """ + The 'tickformatstops' property is a tuple of instances of + Tickformatstop that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.ternary.caxis.Tickformatstop + - A list or tuple of dicts of string/value properties that + will be passed to the Tickformatstop constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.ternary.caxis.Tickformatstop] + """ + return self["tickformatstops"] + + @tickformatstops.setter + def tickformatstops(self, val): + self["tickformatstops"] = val + + @property + def tickformatstopdefaults(self): + """ + When used in a template (as + layout.template.layout.ternary.caxis.tickformatstopdefaults), + sets the default property values to use for elements of + layout.ternary.caxis.tickformatstops + + The 'tickformatstopdefaults' property is an instance of Tickformatstop + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.ternary.caxis.Tickformatstop` + - A dict of string/value properties that will be passed + to the Tickformatstop constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.caxis.Tickformatstop + """ + return self["tickformatstopdefaults"] + + @tickformatstopdefaults.setter + def tickformatstopdefaults(self, val): + self["tickformatstopdefaults"] = val + + @property + def ticklabelstep(self): + """ + 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". + + The 'ticklabelstep' 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["ticklabelstep"] + + @ticklabelstep.setter + def ticklabelstep(self, val): + self["ticklabelstep"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickmode(self): + """ + 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). + + The 'tickmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'linear', 'array'] + + Returns + ------- + Any + """ + return self["tickmode"] + + @tickmode.setter + def tickmode(self, val): + self["tickmode"] = val + + @property + def tickprefix(self): + """ + Sets a tick label prefix. + + The 'tickprefix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["tickprefix"] + + @tickprefix.setter + def tickprefix(self, val): + self["tickprefix"] = val + + @property + def ticks(self): + """ + 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. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def ticksuffix(self): + """ + Sets a tick label suffix. + + The 'ticksuffix' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["ticksuffix"] + + @ticksuffix.setter + def ticksuffix(self, val): + self["ticksuffix"] = val + + @property + def ticktext(self): + """ + Sets the text displayed at the ticks position via `tickvals`. + Only has an effect if `tickmode` is set to "array". Used with + `tickvals`. + + The 'ticktext' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["ticktext"] + + @ticktext.setter + def ticktext(self, val): + self["ticktext"] = val + + @property + def ticktextsrc(self): + """ + Sets the source reference on Chart Studio Cloud for `ticktext`. + + The 'ticktextsrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["ticktextsrc"] + + @ticktextsrc.setter + def ticktextsrc(self, val): + self["ticktextsrc"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. Only has an + effect if `tickmode` is set to "array". Used with `ticktext`. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @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.ternary.caxis.Title` + - A dict of string/value properties that will be passed + to the Title constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.caxis.Title + """ + return self["title"] + + @title.setter + def title(self, val): + self["title"] = val + + @property + def uirevision(self): + """ + Controls persistence of user-driven changes in axis `min`, and + `title` if in `editable: true` configuration. Defaults to + `ternary<N>.uirevision`. + + The 'uirevision' property accepts values of any type + + Returns + ------- + Any + """ + return self["uirevision"] + + @uirevision.setter + def uirevision(self, val): + self["uirevision"] = val + + @property + def _prop_descriptions(self): + return """\ + 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. + 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<f>", 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<n>" 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. + 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: + https://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" + 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. + min + The minimum value visible on this axis. The maximum is + determined by the sum minus the minimum values of the + other two axes. The full view corresponds to all the + minima set to zero. + minexponent + Hide SI prefix for 10^n if |n| is below this number. + This only has an effect when `tickformat` is "SI" or + "B". + 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". + separatethousands + If "true", even 4-digit integers are separated + 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. + 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. + 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<f>* (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: + https://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.ternary. + caxis.Tickformatstop` instances or dicts with + compatible properties + tickformatstopdefaults + When used in a template (as layout.template.layout.tern + ary.caxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.ternary.caxis.tickformatstops + 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). + 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. + 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.ternary.caxis.Title + ` instance or dict with compatible properties + uirevision + Controls persistence of user-driven changes in axis + `min`, and `title` if in `editable: true` + configuration. Defaults to `ternary<N>.uirevision`. + """ + + def __init__( + self, + arg=None, + color=None, + dtick=None, + exponentformat=None, + gridcolor=None, + griddash=None, + gridwidth=None, + hoverformat=None, + labelalias=None, + layer=None, + linecolor=None, + linewidth=None, + min=None, + minexponent=None, + nticks=None, + separatethousands=None, + showexponent=None, + showgrid=None, + showline=None, + showticklabels=None, + showtickprefix=None, + showticksuffix=None, + tick0=None, + tickangle=None, + tickcolor=None, + tickfont=None, + tickformat=None, + tickformatstops=None, + tickformatstopdefaults=None, + ticklabelstep=None, + ticklen=None, + tickmode=None, + tickprefix=None, + ticks=None, + ticksuffix=None, + ticktext=None, + ticktextsrc=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + title=None, + uirevision=None, + **kwargs, + ): + """ + Construct a new Caxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.ternary.Caxis` + 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. + 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<f>", 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<n>" 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. + 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: + https://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" + 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. + min + The minimum value visible on this axis. The maximum is + determined by the sum minus the minimum values of the + other two axes. The full view corresponds to all the + minima set to zero. + minexponent + Hide SI prefix for 10^n if |n| is below this number. + This only has an effect when `tickformat` is "SI" or + "B". + 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". + separatethousands + If "true", even 4-digit integers are separated + 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. + 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. + 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<f>* (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: + https://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.ternary. + caxis.Tickformatstop` instances or dicts with + compatible properties + tickformatstopdefaults + When used in a template (as layout.template.layout.tern + ary.caxis.tickformatstopdefaults), sets the default + property values to use for elements of + layout.ternary.caxis.tickformatstops + 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). + 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. + 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.ternary.caxis.Title + ` instance or dict with compatible properties + uirevision + Controls persistence of user-driven changes in axis + `min`, and `title` if in `editable: true` + configuration. Defaults to `ternary<N>.uirevision`. + + Returns + ------- + Caxis + """ + super().__init__("caxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.Caxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.Caxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("dtick", arg, dtick) + self._set_property("exponentformat", arg, exponentformat) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("griddash", arg, griddash) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("hoverformat", arg, hoverformat) + self._set_property("labelalias", arg, labelalias) + self._set_property("layer", arg, layer) + self._set_property("linecolor", arg, linecolor) + self._set_property("linewidth", arg, linewidth) + self._set_property("min", arg, min) + self._set_property("minexponent", arg, minexponent) + self._set_property("nticks", arg, nticks) + self._set_property("separatethousands", arg, separatethousands) + self._set_property("showexponent", arg, showexponent) + self._set_property("showgrid", arg, showgrid) + self._set_property("showline", arg, showline) + self._set_property("showticklabels", arg, showticklabels) + self._set_property("showtickprefix", arg, showtickprefix) + self._set_property("showticksuffix", arg, showticksuffix) + self._set_property("tick0", arg, tick0) + self._set_property("tickangle", arg, tickangle) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("tickfont", arg, tickfont) + self._set_property("tickformat", arg, tickformat) + self._set_property("tickformatstops", arg, tickformatstops) + self._set_property("tickformatstopdefaults", arg, tickformatstopdefaults) + self._set_property("ticklabelstep", arg, ticklabelstep) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickmode", arg, tickmode) + self._set_property("tickprefix", arg, tickprefix) + self._set_property("ticks", arg, ticks) + self._set_property("ticksuffix", arg, ticksuffix) + self._set_property("ticktext", arg, ticktext) + self._set_property("ticktextsrc", arg, ticktextsrc) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._set_property("title", arg, title) + self._set_property("uirevision", arg, uirevision) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/_domain.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/_domain.py new file mode 100644 index 0000000..ce72c0d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/_domain.py @@ -0,0 +1,170 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Domain(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary" + _path_str = "layout.ternary.domain" + _valid_props = {"column", "row", "x", "y"} + + @property + def column(self): + """ + If there is a layout grid, use the domain for this column in + the grid for this ternary subplot . + + The 'column' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["column"] + + @column.setter + def column(self, val): + self["column"] = val + + @property + def row(self): + """ + If there is a layout grid, use the domain for this row in the + grid for this ternary subplot . + + The 'row' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["row"] + + @row.setter + def row(self, val): + self["row"] = val + + @property + def x(self): + """ + Sets the horizontal domain of this ternary subplot (in plot + fraction). + + The 'x' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'x[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'x[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def y(self): + """ + Sets the vertical domain of this ternary subplot (in plot + fraction). + + The 'y' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'y[0]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + (1) The 'y[1]' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + list + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def _prop_descriptions(self): + return """\ + column + If there is a layout grid, use the domain for this + column in the grid for this ternary subplot . + row + If there is a layout grid, use the domain for this row + in the grid for this ternary subplot . + x + Sets the horizontal domain of this ternary subplot (in + plot fraction). + y + Sets the vertical domain of this ternary subplot (in + plot fraction). + """ + + def __init__(self, arg=None, column=None, row=None, x=None, y=None, **kwargs): + """ + Construct a new Domain object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.ternary.Domain` + column + If there is a layout grid, use the domain for this + column in the grid for this ternary subplot . + row + If there is a layout grid, use the domain for this row + in the grid for this ternary subplot . + x + Sets the horizontal domain of this ternary subplot (in + plot fraction). + y + Sets the vertical domain of this ternary subplot (in + plot fraction). + + Returns + ------- + Domain + """ + super().__init__("domain") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.Domain +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.Domain`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("column", arg, column) + self._set_property("row", arg, row) + self._set_property("x", arg, x) + self._set_property("y", arg, y) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/__init__.py new file mode 100644 index 0000000..4690d3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/__init__.py @@ -0,0 +1,16 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._tickfont import Tickfont + from ._tickformatstop import Tickformatstop + from ._title import Title + from . import title +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".title"], + ["._tickfont.Tickfont", "._tickformatstop.Tickformatstop", "._title.Title"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/_tickfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/_tickfont.py new file mode 100644 index 0000000..2da6f8a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/_tickfont.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary.aaxis" + _path_str = "layout.ternary.aaxis.tickfont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Tickfont object + + Sets the tick font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.ternary + .aaxis.Tickfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Tickfont + """ + super().__init__("tickfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.aaxis.Tickfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.aaxis.Tickfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/_tickformatstop.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/_tickformatstop.py new file mode 100644 index 0000000..e58ffb3 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/_tickformatstop.py @@ -0,0 +1,241 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickformatstop(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary.aaxis" + _path_str = "layout.ternary.aaxis.tickformatstop" + _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} + + @property + def dtickrange(self): + """ + range [*min*, *max*], where "min", "max" - dtick values which + describe some zoom level, it is possible to omit "min" or "max" + value by passing "null" + + The 'dtickrange' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'dtickrange[0]' property accepts values of any type + (1) The 'dtickrange[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["dtickrange"] + + @dtickrange.setter + def dtickrange(self, val): + self["dtickrange"] = val + + @property + def enabled(self): + """ + Determines whether or not this stop is used. If `false`, this + stop is ignored even within its `dtickrange`. + + The 'enabled' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["enabled"] + + @enabled.setter + def enabled(self, val): + self["enabled"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def value(self): + """ + string - dtickformat for described zoom level, the same as + "tickformat" + + The 'value' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["value"] + + @value.setter + def value(self, val): + self["value"] = val + + @property + def _prop_descriptions(self): + return """\ + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + """ + + def __init__( + self, + arg=None, + dtickrange=None, + enabled=None, + name=None, + templateitemname=None, + value=None, + **kwargs, + ): + """ + Construct a new Tickformatstop object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.ternary + .aaxis.Tickformatstop` + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + + Returns + ------- + Tickformatstop + """ + super().__init__("tickformatstops") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.aaxis.Tickformatstop +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.aaxis.Tickformatstop`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtickrange", arg, dtickrange) + self._set_property("enabled", arg, enabled) + self._set_property("name", arg, name) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("value", arg, value) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/_title.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/_title.py new file mode 100644 index 0000000..3e143c2 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/_title.py @@ -0,0 +1,104 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Title(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary.aaxis" + _path_str = "layout.ternary.aaxis.title" + _valid_props = {"font", "text"} + + @property + def font(self): + """ + Sets this axis' title font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.ternary.aaxis.title.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.aaxis.title.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def text(self): + """ + Sets the title of this axis. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets this axis' title font. + text + Sets the title of this axis. + """ + + def __init__(self, arg=None, font=None, text=None, **kwargs): + """ + Construct a new Title object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.ternary.aaxis.Title` + font + Sets this axis' title font. + text + Sets the title of this axis. + + Returns + ------- + Title + """ + super().__init__("title") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.aaxis.Title +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.aaxis.Title`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("text", arg, text) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/title/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/title/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/title/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/title/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/title/_font.py new file mode 100644 index 0000000..2f486ce --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/aaxis/title/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary.aaxis.title" + _path_str = "layout.ternary.aaxis.title.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets this axis' title font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.ternary + .aaxis.title.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.aaxis.title.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.aaxis.title.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/__init__.py new file mode 100644 index 0000000..4690d3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/__init__.py @@ -0,0 +1,16 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._tickfont import Tickfont + from ._tickformatstop import Tickformatstop + from ._title import Title + from . import title +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".title"], + ["._tickfont.Tickfont", "._tickformatstop.Tickformatstop", "._title.Title"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/_tickfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/_tickfont.py new file mode 100644 index 0000000..33d4488 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/_tickfont.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary.baxis" + _path_str = "layout.ternary.baxis.tickfont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Tickfont object + + Sets the tick font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.ternary + .baxis.Tickfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Tickfont + """ + super().__init__("tickfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.baxis.Tickfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.baxis.Tickfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/_tickformatstop.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/_tickformatstop.py new file mode 100644 index 0000000..7c934f9 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/_tickformatstop.py @@ -0,0 +1,241 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickformatstop(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary.baxis" + _path_str = "layout.ternary.baxis.tickformatstop" + _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} + + @property + def dtickrange(self): + """ + range [*min*, *max*], where "min", "max" - dtick values which + describe some zoom level, it is possible to omit "min" or "max" + value by passing "null" + + The 'dtickrange' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'dtickrange[0]' property accepts values of any type + (1) The 'dtickrange[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["dtickrange"] + + @dtickrange.setter + def dtickrange(self, val): + self["dtickrange"] = val + + @property + def enabled(self): + """ + Determines whether or not this stop is used. If `false`, this + stop is ignored even within its `dtickrange`. + + The 'enabled' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["enabled"] + + @enabled.setter + def enabled(self, val): + self["enabled"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def value(self): + """ + string - dtickformat for described zoom level, the same as + "tickformat" + + The 'value' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["value"] + + @value.setter + def value(self, val): + self["value"] = val + + @property + def _prop_descriptions(self): + return """\ + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + """ + + def __init__( + self, + arg=None, + dtickrange=None, + enabled=None, + name=None, + templateitemname=None, + value=None, + **kwargs, + ): + """ + Construct a new Tickformatstop object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.ternary + .baxis.Tickformatstop` + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + + Returns + ------- + Tickformatstop + """ + super().__init__("tickformatstops") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.baxis.Tickformatstop +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.baxis.Tickformatstop`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtickrange", arg, dtickrange) + self._set_property("enabled", arg, enabled) + self._set_property("name", arg, name) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("value", arg, value) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/_title.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/_title.py new file mode 100644 index 0000000..e41f7fa --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/_title.py @@ -0,0 +1,104 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Title(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary.baxis" + _path_str = "layout.ternary.baxis.title" + _valid_props = {"font", "text"} + + @property + def font(self): + """ + Sets this axis' title font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.ternary.baxis.title.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.baxis.title.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def text(self): + """ + Sets the title of this axis. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets this axis' title font. + text + Sets the title of this axis. + """ + + def __init__(self, arg=None, font=None, text=None, **kwargs): + """ + Construct a new Title object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.ternary.baxis.Title` + font + Sets this axis' title font. + text + Sets the title of this axis. + + Returns + ------- + Title + """ + super().__init__("title") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.baxis.Title +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.baxis.Title`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("text", arg, text) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/title/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/title/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/title/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/title/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/title/_font.py new file mode 100644 index 0000000..596e1c7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/baxis/title/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary.baxis.title" + _path_str = "layout.ternary.baxis.title.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets this axis' title font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.ternary + .baxis.title.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.baxis.title.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.baxis.title.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/__init__.py new file mode 100644 index 0000000..4690d3c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/__init__.py @@ -0,0 +1,16 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._tickfont import Tickfont + from ._tickformatstop import Tickformatstop + from ._title import Title + from . import title +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".title"], + ["._tickfont.Tickfont", "._tickformatstop.Tickformatstop", "._title.Title"], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/_tickfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/_tickfont.py new file mode 100644 index 0000000..9e5adba --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/_tickfont.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary.caxis" + _path_str = "layout.ternary.caxis.tickfont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Tickfont object + + Sets the tick font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.ternary + .caxis.Tickfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Tickfont + """ + super().__init__("tickfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.caxis.Tickfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.caxis.Tickfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/_tickformatstop.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/_tickformatstop.py new file mode 100644 index 0000000..a0baf4d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/_tickformatstop.py @@ -0,0 +1,241 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickformatstop(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary.caxis" + _path_str = "layout.ternary.caxis.tickformatstop" + _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} + + @property + def dtickrange(self): + """ + range [*min*, *max*], where "min", "max" - dtick values which + describe some zoom level, it is possible to omit "min" or "max" + value by passing "null" + + The 'dtickrange' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'dtickrange[0]' property accepts values of any type + (1) The 'dtickrange[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["dtickrange"] + + @dtickrange.setter + def dtickrange(self, val): + self["dtickrange"] = val + + @property + def enabled(self): + """ + Determines whether or not this stop is used. If `false`, this + stop is ignored even within its `dtickrange`. + + The 'enabled' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["enabled"] + + @enabled.setter + def enabled(self, val): + self["enabled"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def value(self): + """ + string - dtickformat for described zoom level, the same as + "tickformat" + + The 'value' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["value"] + + @value.setter + def value(self, val): + self["value"] = val + + @property + def _prop_descriptions(self): + return """\ + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + """ + + def __init__( + self, + arg=None, + dtickrange=None, + enabled=None, + name=None, + templateitemname=None, + value=None, + **kwargs, + ): + """ + Construct a new Tickformatstop object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.ternary + .caxis.Tickformatstop` + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + + Returns + ------- + Tickformatstop + """ + super().__init__("tickformatstops") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.caxis.Tickformatstop +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.caxis.Tickformatstop`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtickrange", arg, dtickrange) + self._set_property("enabled", arg, enabled) + self._set_property("name", arg, name) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("value", arg, value) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/_title.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/_title.py new file mode 100644 index 0000000..cdb9446 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/_title.py @@ -0,0 +1,104 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Title(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary.caxis" + _path_str = "layout.ternary.caxis.title" + _valid_props = {"font", "text"} + + @property + def font(self): + """ + Sets this axis' title font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.ternary.caxis.title.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.ternary.caxis.title.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def text(self): + """ + Sets the title of this axis. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets this axis' title font. + text + Sets the title of this axis. + """ + + def __init__(self, arg=None, font=None, text=None, **kwargs): + """ + Construct a new Title object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.ternary.caxis.Title` + font + Sets this axis' title font. + text + Sets the title of this axis. + + Returns + ------- + Title + """ + super().__init__("title") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.caxis.Title +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.caxis.Title`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("text", arg, text) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/title/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/title/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/title/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/title/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/title/_font.py new file mode 100644 index 0000000..c4868a7 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/ternary/caxis/title/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.ternary.caxis.title" + _path_str = "layout.ternary.caxis.title.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets this axis' title font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.ternary + .caxis.title.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.ternary.caxis.title.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.ternary.caxis.title.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/__init__.py new file mode 100644 index 0000000..11f90e0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/__init__.py @@ -0,0 +1,14 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font + from ._pad import Pad + from ._subtitle import Subtitle + from . import subtitle +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [".subtitle"], ["._font.Font", "._pad.Pad", "._subtitle.Subtitle"] + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/_font.py new file mode 100644 index 0000000..969f70e --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.title" + _path_str = "layout.title.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the title font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.title.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.title.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.title.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/_pad.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/_pad.py new file mode 100644 index 0000000..c70910c --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/_pad.py @@ -0,0 +1,164 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Pad(_BaseLayoutHierarchyType): + _parent_path_str = "layout.title" + _path_str = "layout.title.pad" + _valid_props = {"b", "l", "r", "t"} + + @property + def b(self): + """ + The amount of padding (in px) along the bottom of the + component. + + The 'b' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["b"] + + @b.setter + def b(self, val): + self["b"] = val + + @property + def l(self): + """ + The amount of padding (in px) on the left side of the + component. + + The 'l' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["l"] + + @l.setter + def l(self, val): + self["l"] = val + + @property + def r(self): + """ + The amount of padding (in px) on the right side of the + component. + + The 'r' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["r"] + + @r.setter + def r(self, val): + self["r"] = val + + @property + def t(self): + """ + The amount of padding (in px) along the top of the component. + + The 't' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["t"] + + @t.setter + def t(self, val): + self["t"] = val + + @property + def _prop_descriptions(self): + return """\ + b + The amount of padding (in px) along the bottom of the + component. + l + The amount of padding (in px) on the left side of the + component. + r + The amount of padding (in px) on the right side of the + component. + t + The amount of padding (in px) along the top of the + component. + """ + + def __init__(self, arg=None, b=None, l=None, r=None, t=None, **kwargs): + """ + Construct a new Pad object + + 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". + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.title.Pad` + b + The amount of padding (in px) along the bottom of the + component. + l + The amount of padding (in px) on the left side of the + component. + r + The amount of padding (in px) on the right side of the + component. + t + The amount of padding (in px) along the top of the + component. + + Returns + ------- + Pad + """ + super().__init__("pad") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.title.Pad +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.title.Pad`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("b", arg, b) + self._set_property("l", arg, l) + self._set_property("r", arg, r) + self._set_property("t", arg, t) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/_subtitle.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/_subtitle.py new file mode 100644 index 0000000..fb36d65 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/_subtitle.py @@ -0,0 +1,104 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Subtitle(_BaseLayoutHierarchyType): + _parent_path_str = "layout.title" + _path_str = "layout.title.subtitle" + _valid_props = {"font", "text"} + + @property + def font(self): + """ + Sets the subtitle font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.title.subtitle.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.title.subtitle.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def text(self): + """ + Sets the plot's subtitle. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets the subtitle font. + text + Sets the plot's subtitle. + """ + + def __init__(self, arg=None, font=None, text=None, **kwargs): + """ + Construct a new Subtitle object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.title.Subtitle` + font + Sets the subtitle font. + text + Sets the plot's subtitle. + + Returns + ------- + Subtitle + """ + super().__init__("subtitle") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.title.Subtitle +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.title.Subtitle`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("text", arg, text) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/subtitle/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/subtitle/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/subtitle/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/subtitle/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/subtitle/_font.py new file mode 100644 index 0000000..7e3781a --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/title/subtitle/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.title.subtitle" + _path_str = "layout.title.subtitle.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the subtitle font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.title.subtitle.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.title.subtitle.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.title.subtitle.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/updatemenu/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/updatemenu/__init__.py new file mode 100644 index 0000000..f42482b --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/updatemenu/__init__.py @@ -0,0 +1,13 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._button import Button + from ._font import Font + from ._pad import Pad +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [], ["._button.Button", "._font.Font", "._pad.Pad"] + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/updatemenu/_button.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/updatemenu/_button.py new file mode 100644 index 0000000..2fdb0b4 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/updatemenu/_button.py @@ -0,0 +1,359 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Button(_BaseLayoutHierarchyType): + _parent_path_str = "layout.updatemenu" + _path_str = "layout.updatemenu.button" + _valid_props = { + "args", + "args2", + "execute", + "label", + "method", + "name", + "templateitemname", + "visible", + } + + @property + def args(self): + """ + Sets the arguments values to be passed to the Plotly method set + in `method` on click. + + The 'args' property is an info array that may be specified as: + + * a list or tuple of up to 3 elements where: + (0) The 'args[0]' property accepts values of any type + (1) The 'args[1]' property accepts values of any type + (2) The 'args[2]' property accepts values of any type + + Returns + ------- + list + """ + return self["args"] + + @args.setter + def args(self, val): + self["args"] = val + + @property + def args2(self): + """ + Sets a 2nd set of `args`, these arguments values are passed to + the Plotly method set in `method` when clicking this button + while in the active state. Use this to create toggle buttons. + + The 'args2' property is an info array that may be specified as: + + * a list or tuple of up to 3 elements where: + (0) The 'args2[0]' property accepts values of any type + (1) The 'args2[1]' property accepts values of any type + (2) The 'args2[2]' property accepts values of any type + + Returns + ------- + list + """ + return self["args2"] + + @args2.setter + def args2(self, val): + self["args2"] = val + + @property + def execute(self): + """ + When true, the API method is executed. When false, all other + behaviors are the same and command execution is skipped. This + may be useful when hooking into, for example, the + `plotly_buttonclicked` method and executing the API command + manually without losing the benefit of the updatemenu + automatically binding to the state of the plot through the + specification of `method` and `args`. + + The 'execute' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["execute"] + + @execute.setter + def execute(self, val): + self["execute"] = val + + @property + def label(self): + """ + Sets the text label to appear on the button. + + The 'label' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["label"] + + @label.setter + def label(self, val): + self["label"] = val + + @property + def method(self): + """ + Sets the Plotly method to be called on click. If the `skip` + method is used, the API updatemenu will function as normal but + will perform no API calls and will not bind automatically to + state updates. This may be used to create a component interface + and attach to updatemenu events manually via JavaScript. + + The 'method' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['restyle', 'relayout', 'animate', 'update', 'skip'] + + Returns + ------- + Any + """ + return self["method"] + + @method.setter + def method(self, val): + self["method"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def visible(self): + """ + Determines whether or not this button is visible. + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def _prop_descriptions(self): + return """\ + args + Sets the arguments values to be passed to the Plotly + method set in `method` on click. + args2 + Sets a 2nd set of `args`, these arguments values are + passed to the Plotly method set in `method` when + clicking this button while in the active state. Use + this to create toggle buttons. + execute + When true, the API method is executed. When false, all + other behaviors are the same and command execution is + skipped. This may be useful when hooking into, for + example, the `plotly_buttonclicked` method and + executing the API command manually without losing the + benefit of the updatemenu automatically binding to the + state of the plot through the specification of `method` + and `args`. + label + Sets the text label to appear on the button. + method + Sets the Plotly method to be called on click. If the + `skip` method is used, the API updatemenu will function + as normal but will perform no API calls and will not + bind automatically to state updates. This may be used + to create a component interface and attach to + updatemenu events manually via JavaScript. + 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. + 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 button is visible. + """ + + def __init__( + self, + arg=None, + args=None, + args2=None, + execute=None, + label=None, + method=None, + name=None, + templateitemname=None, + visible=None, + **kwargs, + ): + """ + Construct a new Button object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.updatemenu.Button` + args + Sets the arguments values to be passed to the Plotly + method set in `method` on click. + args2 + Sets a 2nd set of `args`, these arguments values are + passed to the Plotly method set in `method` when + clicking this button while in the active state. Use + this to create toggle buttons. + execute + When true, the API method is executed. When false, all + other behaviors are the same and command execution is + skipped. This may be useful when hooking into, for + example, the `plotly_buttonclicked` method and + executing the API command manually without losing the + benefit of the updatemenu automatically binding to the + state of the plot through the specification of `method` + and `args`. + label + Sets the text label to appear on the button. + method + Sets the Plotly method to be called on click. If the + `skip` method is used, the API updatemenu will function + as normal but will perform no API calls and will not + bind automatically to state updates. This may be used + to create a component interface and attach to + updatemenu events manually via JavaScript. + 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. + 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 button is visible. + + Returns + ------- + Button + """ + super().__init__("buttons") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.updatemenu.Button +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.updatemenu.Button`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("args", arg, args) + self._set_property("args2", arg, args2) + self._set_property("execute", arg, execute) + self._set_property("label", arg, label) + self._set_property("method", arg, method) + self._set_property("name", arg, name) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("visible", arg, visible) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/updatemenu/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/updatemenu/_font.py new file mode 100644 index 0000000..cbab80e --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/updatemenu/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.updatemenu" + _path_str = "layout.updatemenu.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the font of the update menu button text. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.updatemenu.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.updatemenu.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.updatemenu.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/updatemenu/_pad.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/updatemenu/_pad.py new file mode 100644 index 0000000..3a641d8 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/updatemenu/_pad.py @@ -0,0 +1,159 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Pad(_BaseLayoutHierarchyType): + _parent_path_str = "layout.updatemenu" + _path_str = "layout.updatemenu.pad" + _valid_props = {"b", "l", "r", "t"} + + @property + def b(self): + """ + The amount of padding (in px) along the bottom of the + component. + + The 'b' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["b"] + + @b.setter + def b(self, val): + self["b"] = val + + @property + def l(self): + """ + The amount of padding (in px) on the left side of the + component. + + The 'l' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["l"] + + @l.setter + def l(self, val): + self["l"] = val + + @property + def r(self): + """ + The amount of padding (in px) on the right side of the + component. + + The 'r' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["r"] + + @r.setter + def r(self, val): + self["r"] = val + + @property + def t(self): + """ + The amount of padding (in px) along the top of the component. + + The 't' property is a number and may be specified as: + - An int or float + + Returns + ------- + int|float + """ + return self["t"] + + @t.setter + def t(self, val): + self["t"] = val + + @property + def _prop_descriptions(self): + return """\ + b + The amount of padding (in px) along the bottom of the + component. + l + The amount of padding (in px) on the left side of the + component. + r + The amount of padding (in px) on the right side of the + component. + t + The amount of padding (in px) along the top of the + component. + """ + + def __init__(self, arg=None, b=None, l=None, r=None, t=None, **kwargs): + """ + Construct a new Pad object + + Sets the padding around the buttons or dropdown menu. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.updatemenu.Pad` + b + The amount of padding (in px) along the bottom of the + component. + l + The amount of padding (in px) on the left side of the + component. + r + The amount of padding (in px) on the right side of the + component. + t + The amount of padding (in px) along the top of the + component. + + Returns + ------- + Pad + """ + super().__init__("pad") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.updatemenu.Pad +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.updatemenu.Pad`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("b", arg, b) + self._set_property("l", arg, l) + self._set_property("r", arg, r) + self._set_property("t", arg, t) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/__init__.py new file mode 100644 index 0000000..92c3b60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/__init__.py @@ -0,0 +1,32 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._autorangeoptions import Autorangeoptions + from ._minor import Minor + from ._rangebreak import Rangebreak + from ._rangeselector import Rangeselector + from ._rangeslider import Rangeslider + from ._tickfont import Tickfont + from ._tickformatstop import Tickformatstop + from ._title import Title + from . import rangeselector + from . import rangeslider + from . import title +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".rangeselector", ".rangeslider", ".title"], + [ + "._autorangeoptions.Autorangeoptions", + "._minor.Minor", + "._rangebreak.Rangebreak", + "._rangeselector.Rangeselector", + "._rangeslider.Rangeslider", + "._tickfont.Tickfont", + "._tickformatstop.Tickformatstop", + "._title.Title", + ], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_autorangeoptions.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_autorangeoptions.py new file mode 100644 index 0000000..e16114b --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_autorangeoptions.py @@ -0,0 +1,216 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Autorangeoptions(_BaseLayoutHierarchyType): + _parent_path_str = "layout.xaxis" + _path_str = "layout.xaxis.autorangeoptions" + _valid_props = { + "clipmax", + "clipmin", + "include", + "includesrc", + "maxallowed", + "minallowed", + } + + @property + def clipmax(self): + """ + Clip autorange maximum if it goes beyond this value. Has no + effect when `autorangeoptions.maxallowed` is provided. + + The 'clipmax' property accepts values of any type + + Returns + ------- + Any + """ + return self["clipmax"] + + @clipmax.setter + def clipmax(self, val): + self["clipmax"] = val + + @property + def clipmin(self): + """ + Clip autorange minimum if it goes beyond this value. Has no + effect when `autorangeoptions.minallowed` is provided. + + The 'clipmin' property accepts values of any type + + Returns + ------- + Any + """ + return self["clipmin"] + + @clipmin.setter + def clipmin(self, val): + self["clipmin"] = val + + @property + def include(self): + """ + Ensure this value is included in autorange. + + The 'include' property accepts values of any type + + Returns + ------- + Any|numpy.ndarray + """ + return self["include"] + + @include.setter + def include(self, val): + self["include"] = val + + @property + def includesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `include`. + + The 'includesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["includesrc"] + + @includesrc.setter + def includesrc(self, val): + self["includesrc"] = val + + @property + def maxallowed(self): + """ + Use this value exactly as autorange maximum. + + The 'maxallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["maxallowed"] + + @maxallowed.setter + def maxallowed(self, val): + self["maxallowed"] = val + + @property + def minallowed(self): + """ + Use this value exactly as autorange minimum. + + The 'minallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["minallowed"] + + @minallowed.setter + def minallowed(self, val): + self["minallowed"] = val + + @property + def _prop_descriptions(self): + return """\ + clipmax + Clip autorange maximum if it goes beyond this value. + Has no effect when `autorangeoptions.maxallowed` is + provided. + clipmin + Clip autorange minimum if it goes beyond this value. + Has no effect when `autorangeoptions.minallowed` is + provided. + include + Ensure this value is included in autorange. + includesrc + Sets the source reference on Chart Studio Cloud for + `include`. + maxallowed + Use this value exactly as autorange maximum. + minallowed + Use this value exactly as autorange minimum. + """ + + def __init__( + self, + arg=None, + clipmax=None, + clipmin=None, + include=None, + includesrc=None, + maxallowed=None, + minallowed=None, + **kwargs, + ): + """ + Construct a new Autorangeoptions object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.xaxis.A + utorangeoptions` + clipmax + Clip autorange maximum if it goes beyond this value. + Has no effect when `autorangeoptions.maxallowed` is + provided. + clipmin + Clip autorange minimum if it goes beyond this value. + Has no effect when `autorangeoptions.minallowed` is + provided. + include + Ensure this value is included in autorange. + includesrc + Sets the source reference on Chart Studio Cloud for + `include`. + maxallowed + Use this value exactly as autorange maximum. + minallowed + Use this value exactly as autorange minimum. + + Returns + ------- + Autorangeoptions + """ + super().__init__("autorangeoptions") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.xaxis.Autorangeoptions +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.xaxis.Autorangeoptions`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("clipmax", arg, clipmax) + self._set_property("clipmin", arg, clipmin) + self._set_property("include", arg, include) + self._set_property("includesrc", arg, includesrc) + self._set_property("maxallowed", arg, maxallowed) + self._set_property("minallowed", arg, minallowed) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_minor.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_minor.py new file mode 100644 index 0000000..fbe8b72 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_minor.py @@ -0,0 +1,566 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Minor(_BaseLayoutHierarchyType): + _parent_path_str = "layout.xaxis" + _path_str = "layout.xaxis.minor" + _valid_props = { + "dtick", + "gridcolor", + "griddash", + "gridwidth", + "nticks", + "showgrid", + "tick0", + "tickcolor", + "ticklen", + "tickmode", + "ticks", + "tickvals", + "tickvalssrc", + "tickwidth", + } + + @property + def dtick(self): + """ + 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<f>", 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<n>" 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" + + The 'dtick' property accepts values of any type + + Returns + ------- + Any + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def gridcolor(self): + """ + Sets the color of the grid lines. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def griddash(self): + """ + 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"). + + The 'griddash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["griddash"] + + @griddash.setter + def griddash(self, val): + self["griddash"] = val + + @property + def gridwidth(self): + """ + Sets the width (in px) of the grid lines. + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def nticks(self): + """ + 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". + + The 'nticks' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["nticks"] + + @nticks.setter + def nticks(self, val): + self["nticks"] = val + + @property + def showgrid(self): + """ + Determines whether or not grid lines are drawn. If True, the + grid lines are drawn at every tick mark. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def tick0(self): + """ + 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<f>* (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. + + The 'tick0' property accepts values of any type + + Returns + ------- + Any + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickmode(self): + """ + 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). + + The 'tickmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'linear', 'array'] + + Returns + ------- + Any + """ + return self["tickmode"] + + @tickmode.setter + def tickmode(self, val): + self["tickmode"] = val + + @property + def ticks(self): + """ + 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. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. Only has an + effect if `tickmode` is set to "array". Used with `ticktext`. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @property + def _prop_descriptions(self): + return """\ + 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<f>", 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<n>" 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" + 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. + 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". + showgrid + Determines whether or not grid lines are drawn. If + True, the grid lines are drawn at every tick mark. + 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<f>* (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. + tickcolor + Sets the tick color. + 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). + 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. + 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). + """ + + def __init__( + self, + arg=None, + dtick=None, + gridcolor=None, + griddash=None, + gridwidth=None, + nticks=None, + showgrid=None, + tick0=None, + tickcolor=None, + ticklen=None, + tickmode=None, + ticks=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + **kwargs, + ): + """ + Construct a new Minor object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.xaxis.Minor` + 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<f>", 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<n>" 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" + 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. + 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". + showgrid + Determines whether or not grid lines are drawn. If + True, the grid lines are drawn at every tick mark. + 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<f>* (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. + tickcolor + Sets the tick color. + 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). + 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. + 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). + + Returns + ------- + Minor + """ + super().__init__("minor") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.xaxis.Minor +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.xaxis.Minor`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtick", arg, dtick) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("griddash", arg, griddash) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("nticks", arg, nticks) + self._set_property("showgrid", arg, showgrid) + self._set_property("tick0", arg, tick0) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickmode", arg, tickmode) + self._set_property("ticks", arg, ticks) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_rangebreak.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_rangebreak.py new file mode 100644 index 0000000..40246fb --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_rangebreak.py @@ -0,0 +1,330 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Rangebreak(_BaseLayoutHierarchyType): + _parent_path_str = "layout.xaxis" + _path_str = "layout.xaxis.rangebreak" + _valid_props = { + "bounds", + "dvalue", + "enabled", + "name", + "pattern", + "templateitemname", + "values", + } + + @property + def bounds(self): + """ + Sets the lower and upper bounds of this axis rangebreak. Can be + used with `pattern`. + + The 'bounds' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'bounds[0]' property accepts values of any type + (1) The 'bounds[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["bounds"] + + @bounds.setter + def bounds(self, val): + self["bounds"] = val + + @property + def dvalue(self): + """ + Sets the size of each `values` item. The default is one day in + milliseconds. + + The 'dvalue' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["dvalue"] + + @dvalue.setter + def dvalue(self, val): + self["dvalue"] = val + + @property + def enabled(self): + """ + Determines whether this axis rangebreak is enabled or disabled. + Please note that `rangebreaks` only work for "date" axis type. + + The 'enabled' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["enabled"] + + @enabled.setter + def enabled(self, val): + self["enabled"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def pattern(self): + """ + Determines a pattern on the time line that generates breaks. If + *day of week* - days of the week in English e.g. 'Sunday' or + `sun` (matching is case-insensitive and considers only the + first three characters), as well as Sunday-based integers + between 0 and 6. If "hour" - hour (24-hour clock) as decimal + numbers between 0 and 24. for more info. Examples: - { pattern: + 'day of week', bounds: [6, 1] } or simply { bounds: ['sat', + 'mon'] } breaks from Saturday to Monday (i.e. skips the + weekends). - { pattern: 'hour', bounds: [17, 8] } breaks from + 5pm to 8am (i.e. skips non-work hours). + + The 'pattern' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['day of week', 'hour', ''] + + Returns + ------- + Any + """ + return self["pattern"] + + @pattern.setter + def pattern(self, val): + self["pattern"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def values(self): + """ + Sets the coordinate values corresponding to the rangebreaks. An + alternative to `bounds`. Use `dvalue` to set the size of the + values along the axis. + + The 'values' property is an info array that may be specified as: + * a list of elements where: + The 'values[i]' property accepts values of any type + + Returns + ------- + list + """ + return self["values"] + + @values.setter + def values(self, val): + self["values"] = val + + @property + def _prop_descriptions(self): + return """\ + bounds + Sets the lower and upper bounds of this axis + rangebreak. Can be used with `pattern`. + dvalue + Sets the size of each `values` item. The default is one + day in milliseconds. + enabled + Determines whether this axis rangebreak is enabled or + disabled. Please note that `rangebreaks` only work for + "date" axis type. + 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. + pattern + Determines a pattern on the time line that generates + breaks. If *day of week* - days of the week in English + e.g. 'Sunday' or `sun` (matching is case-insensitive + and considers only the first three characters), as well + as Sunday-based integers between 0 and 6. If "hour" - + hour (24-hour clock) as decimal numbers between 0 and + 24. for more info. Examples: - { pattern: 'day of + week', bounds: [6, 1] } or simply { bounds: ['sat', + 'mon'] } breaks from Saturday to Monday (i.e. skips + the weekends). - { pattern: 'hour', bounds: [17, 8] } + breaks from 5pm to 8am (i.e. skips non-work hours). + 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`. + values + Sets the coordinate values corresponding to the + rangebreaks. An alternative to `bounds`. Use `dvalue` + to set the size of the values along the axis. + """ + + def __init__( + self, + arg=None, + bounds=None, + dvalue=None, + enabled=None, + name=None, + pattern=None, + templateitemname=None, + values=None, + **kwargs, + ): + """ + Construct a new Rangebreak object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.xaxis.Rangebreak` + bounds + Sets the lower and upper bounds of this axis + rangebreak. Can be used with `pattern`. + dvalue + Sets the size of each `values` item. The default is one + day in milliseconds. + enabled + Determines whether this axis rangebreak is enabled or + disabled. Please note that `rangebreaks` only work for + "date" axis type. + 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. + pattern + Determines a pattern on the time line that generates + breaks. If *day of week* - days of the week in English + e.g. 'Sunday' or `sun` (matching is case-insensitive + and considers only the first three characters), as well + as Sunday-based integers between 0 and 6. If "hour" - + hour (24-hour clock) as decimal numbers between 0 and + 24. for more info. Examples: - { pattern: 'day of + week', bounds: [6, 1] } or simply { bounds: ['sat', + 'mon'] } breaks from Saturday to Monday (i.e. skips + the weekends). - { pattern: 'hour', bounds: [17, 8] } + breaks from 5pm to 8am (i.e. skips non-work hours). + 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`. + values + Sets the coordinate values corresponding to the + rangebreaks. An alternative to `bounds`. Use `dvalue` + to set the size of the values along the axis. + + Returns + ------- + Rangebreak + """ + super().__init__("rangebreaks") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.xaxis.Rangebreak +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.xaxis.Rangebreak`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("bounds", arg, bounds) + self._set_property("dvalue", arg, dvalue) + self._set_property("enabled", arg, enabled) + self._set_property("name", arg, name) + self._set_property("pattern", arg, pattern) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("values", arg, values) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_rangeselector.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_rangeselector.py new file mode 100644 index 0000000..22404bc --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_rangeselector.py @@ -0,0 +1,427 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Rangeselector(_BaseLayoutHierarchyType): + _parent_path_str = "layout.xaxis" + _path_str = "layout.xaxis.rangeselector" + _valid_props = { + "activecolor", + "bgcolor", + "bordercolor", + "borderwidth", + "buttondefaults", + "buttons", + "font", + "visible", + "x", + "xanchor", + "y", + "yanchor", + } + + @property + def activecolor(self): + """ + Sets the background color of the active range selector button. + + The 'activecolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["activecolor"] + + @activecolor.setter + def activecolor(self, val): + self["activecolor"] = val + + @property + def bgcolor(self): + """ + Sets the background color of the range selector buttons. + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def bordercolor(self): + """ + Sets the color of the border enclosing the range selector. + + The 'bordercolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bordercolor"] + + @bordercolor.setter + def bordercolor(self, val): + self["bordercolor"] = val + + @property + def borderwidth(self): + """ + Sets the width (in px) of the border enclosing the range + selector. + + The 'borderwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["borderwidth"] + + @borderwidth.setter + def borderwidth(self, val): + self["borderwidth"] = val + + @property + def buttons(self): + """ + Sets the specifications for each buttons. By default, a range + selector comes with no buttons. + + The 'buttons' property is a tuple of instances of + Button that may be specified as: + - A list or tuple of instances of plotly.graph_objs.layout.xaxis.rangeselector.Button + - A list or tuple of dicts of string/value properties that + will be passed to the Button constructor + + Returns + ------- + tuple[plotly.graph_objs.layout.xaxis.rangeselector.Button] + """ + return self["buttons"] + + @buttons.setter + def buttons(self, val): + self["buttons"] = val + + @property + def buttondefaults(self): + """ + When used in a template (as + layout.template.layout.xaxis.rangeselector.buttondefaults), + sets the default property values to use for elements of + layout.xaxis.rangeselector.buttons + + The 'buttondefaults' property is an instance of Button + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.xaxis.rangeselector.Button` + - A dict of string/value properties that will be passed + to the Button constructor + + Returns + ------- + plotly.graph_objs.layout.xaxis.rangeselector.Button + """ + return self["buttondefaults"] + + @buttondefaults.setter + def buttondefaults(self, val): + self["buttondefaults"] = val + + @property + def font(self): + """ + Sets the font of the range selector button text. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.xaxis.rangeselector.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.xaxis.rangeselector.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def visible(self): + """ + Determines whether or not this range selector is visible. Note + that range selectors are only available for x axes of `type` + set to or auto-typed to "date". + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def x(self): + """ + Sets the x position (in normalized coordinates) of the range + selector. + + The 'x' property is a number and may be specified as: + - An int or float in the interval [-2, 3] + + Returns + ------- + int|float + """ + return self["x"] + + @x.setter + def x(self, val): + self["x"] = val + + @property + def xanchor(self): + """ + Sets the range selector's horizontal position anchor. This + anchor binds the `x` position to the "left", "center" or + "right" of the range selector. + + The 'xanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'left', 'center', 'right'] + + Returns + ------- + Any + """ + return self["xanchor"] + + @xanchor.setter + def xanchor(self, val): + self["xanchor"] = val + + @property + def y(self): + """ + Sets the y position (in normalized coordinates) of the range + selector. + + The 'y' property is a number and may be specified as: + - An int or float in the interval [-2, 3] + + Returns + ------- + int|float + """ + return self["y"] + + @y.setter + def y(self, val): + self["y"] = val + + @property + def yanchor(self): + """ + Sets the range selector's vertical position anchor This anchor + binds the `y` position to the "top", "middle" or "bottom" of + the range selector. + + The 'yanchor' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'top', 'middle', 'bottom'] + + Returns + ------- + Any + """ + return self["yanchor"] + + @yanchor.setter + def yanchor(self, val): + self["yanchor"] = val + + @property + def _prop_descriptions(self): + return """\ + activecolor + Sets the background color of the active range selector + button. + bgcolor + Sets the background color of the range selector + buttons. + bordercolor + Sets the color of the border enclosing the range + selector. + borderwidth + Sets the width (in px) of the border enclosing the + range selector. + buttons + Sets the specifications for each buttons. By default, a + range selector comes with no buttons. + buttondefaults + When used in a template (as layout.template.layout.xaxi + s.rangeselector.buttondefaults), sets the default + property values to use for elements of + layout.xaxis.rangeselector.buttons + font + Sets the font of the range selector button text. + visible + Determines whether or not this range selector is + visible. Note that range selectors are only available + for x axes of `type` set to or auto-typed to "date". + x + Sets the x position (in normalized coordinates) of the + range selector. + xanchor + Sets the range selector'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 + range selector. + yanchor + Sets the range selector's vertical position anchor This + anchor binds the `y` position to the "top", "middle" or + "bottom" of the range selector. + """ + + def __init__( + self, + arg=None, + activecolor=None, + bgcolor=None, + bordercolor=None, + borderwidth=None, + buttons=None, + buttondefaults=None, + font=None, + visible=None, + x=None, + xanchor=None, + y=None, + yanchor=None, + **kwargs, + ): + """ + Construct a new Rangeselector object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.xaxis.Rangeselector` + activecolor + Sets the background color of the active range selector + button. + bgcolor + Sets the background color of the range selector + buttons. + bordercolor + Sets the color of the border enclosing the range + selector. + borderwidth + Sets the width (in px) of the border enclosing the + range selector. + buttons + Sets the specifications for each buttons. By default, a + range selector comes with no buttons. + buttondefaults + When used in a template (as layout.template.layout.xaxi + s.rangeselector.buttondefaults), sets the default + property values to use for elements of + layout.xaxis.rangeselector.buttons + font + Sets the font of the range selector button text. + visible + Determines whether or not this range selector is + visible. Note that range selectors are only available + for x axes of `type` set to or auto-typed to "date". + x + Sets the x position (in normalized coordinates) of the + range selector. + xanchor + Sets the range selector'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 + range selector. + yanchor + Sets the range selector's vertical position anchor This + anchor binds the `y` position to the "top", "middle" or + "bottom" of the range selector. + + Returns + ------- + Rangeselector + """ + super().__init__("rangeselector") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.xaxis.Rangeselector +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.xaxis.Rangeselector`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("activecolor", arg, activecolor) + self._set_property("bgcolor", arg, bgcolor) + self._set_property("bordercolor", arg, bordercolor) + self._set_property("borderwidth", arg, borderwidth) + self._set_property("buttons", arg, buttons) + self._set_property("buttondefaults", arg, buttondefaults) + self._set_property("font", arg, font) + self._set_property("visible", arg, visible) + self._set_property("x", arg, x) + self._set_property("xanchor", arg, xanchor) + self._set_property("y", arg, y) + self._set_property("yanchor", arg, yanchor) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_rangeslider.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_rangeslider.py new file mode 100644 index 0000000..9d30a4d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_rangeslider.py @@ -0,0 +1,311 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Rangeslider(_BaseLayoutHierarchyType): + _parent_path_str = "layout.xaxis" + _path_str = "layout.xaxis.rangeslider" + _valid_props = { + "autorange", + "bgcolor", + "bordercolor", + "borderwidth", + "range", + "thickness", + "visible", + "yaxis", + } + + @property + def autorange(self): + """ + Determines whether or not the range slider range is computed in + relation to the input data. If `range` is provided, then + `autorange` is set to False. + + The 'autorange' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["autorange"] + + @autorange.setter + def autorange(self, val): + self["autorange"] = val + + @property + def bgcolor(self): + """ + Sets the background color of the range slider. + + The 'bgcolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bgcolor"] + + @bgcolor.setter + def bgcolor(self, val): + self["bgcolor"] = val + + @property + def bordercolor(self): + """ + Sets the border color of the range slider. + + The 'bordercolor' property is a color and may be specified as: + - A hex string (e.g. '#ff0000') + - An rgb/rgba string (e.g. 'rgb(255,0,0)') + - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') + - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') + - A named CSS color: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["bordercolor"] + + @bordercolor.setter + def bordercolor(self, val): + self["bordercolor"] = val + + @property + def borderwidth(self): + """ + Sets the border width of the range slider. + + The 'borderwidth' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["borderwidth"] + + @borderwidth.setter + def borderwidth(self, val): + self["borderwidth"] = val + + @property + def range(self): + """ + Sets the range of the range slider. If not set, defaults to the + full xaxis range. 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. + + The 'range' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'range[0]' property accepts values of any type + (1) The 'range[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["range"] + + @range.setter + def range(self, val): + self["range"] = val + + @property + def thickness(self): + """ + The height of the range slider as a fraction of the total plot + area height. + + The 'thickness' property is a number and may be specified as: + - An int or float in the interval [0, 1] + + Returns + ------- + int|float + """ + return self["thickness"] + + @thickness.setter + def thickness(self, val): + self["thickness"] = val + + @property + def visible(self): + """ + Determines whether or not the range slider will be visible. If + visible, perpendicular axes will be set to `fixedrange` + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @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.xaxis.rangeslider.YAxis` + - A dict of string/value properties that will be passed + to the YAxis constructor + + Returns + ------- + plotly.graph_objs.layout.xaxis.rangeslider.YAxis + """ + return self["yaxis"] + + @yaxis.setter + def yaxis(self, val): + self["yaxis"] = val + + @property + def _prop_descriptions(self): + return """\ + autorange + Determines whether or not the range slider range is + computed in relation to the input data. If `range` is + provided, then `autorange` is set to False. + bgcolor + Sets the background color of the range slider. + bordercolor + Sets the border color of the range slider. + borderwidth + Sets the border width of the range slider. + range + Sets the range of the range slider. If not set, + defaults to the full xaxis range. 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. + thickness + The height of the range slider as a fraction of the + total plot area height. + visible + Determines whether or not the range slider will be + visible. If visible, perpendicular axes will be set to + `fixedrange` + yaxis + :class:`plotly.graph_objects.layout.xaxis.rangeslider.Y + Axis` instance or dict with compatible properties + """ + + def __init__( + self, + arg=None, + autorange=None, + bgcolor=None, + bordercolor=None, + borderwidth=None, + range=None, + thickness=None, + visible=None, + yaxis=None, + **kwargs, + ): + """ + Construct a new Rangeslider object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.xaxis.Rangeslider` + autorange + Determines whether or not the range slider range is + computed in relation to the input data. If `range` is + provided, then `autorange` is set to False. + bgcolor + Sets the background color of the range slider. + bordercolor + Sets the border color of the range slider. + borderwidth + Sets the border width of the range slider. + range + Sets the range of the range slider. If not set, + defaults to the full xaxis range. 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. + thickness + The height of the range slider as a fraction of the + total plot area height. + visible + Determines whether or not the range slider will be + visible. If visible, perpendicular axes will be set to + `fixedrange` + yaxis + :class:`plotly.graph_objects.layout.xaxis.rangeslider.Y + Axis` instance or dict with compatible properties + + Returns + ------- + Rangeslider + """ + super().__init__("rangeslider") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.xaxis.Rangeslider +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.xaxis.Rangeslider`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("autorange", arg, autorange) + self._set_property("bgcolor", arg, bgcolor) + self._set_property("bordercolor", arg, bordercolor) + self._set_property("borderwidth", arg, borderwidth) + self._set_property("range", arg, range) + self._set_property("thickness", arg, thickness) + self._set_property("visible", arg, visible) + self._set_property("yaxis", arg, yaxis) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_tickfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_tickfont.py new file mode 100644 index 0000000..3df643e --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_tickfont.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.xaxis" + _path_str = "layout.xaxis.tickfont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Tickfont object + + Sets the tick font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.xaxis.Tickfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Tickfont + """ + super().__init__("tickfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.xaxis.Tickfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.xaxis.Tickfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_tickformatstop.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_tickformatstop.py new file mode 100644 index 0000000..6941096 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_tickformatstop.py @@ -0,0 +1,241 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickformatstop(_BaseLayoutHierarchyType): + _parent_path_str = "layout.xaxis" + _path_str = "layout.xaxis.tickformatstop" + _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} + + @property + def dtickrange(self): + """ + range [*min*, *max*], where "min", "max" - dtick values which + describe some zoom level, it is possible to omit "min" or "max" + value by passing "null" + + The 'dtickrange' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'dtickrange[0]' property accepts values of any type + (1) The 'dtickrange[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["dtickrange"] + + @dtickrange.setter + def dtickrange(self, val): + self["dtickrange"] = val + + @property + def enabled(self): + """ + Determines whether or not this stop is used. If `false`, this + stop is ignored even within its `dtickrange`. + + The 'enabled' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["enabled"] + + @enabled.setter + def enabled(self, val): + self["enabled"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def value(self): + """ + string - dtickformat for described zoom level, the same as + "tickformat" + + The 'value' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["value"] + + @value.setter + def value(self, val): + self["value"] = val + + @property + def _prop_descriptions(self): + return """\ + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + """ + + def __init__( + self, + arg=None, + dtickrange=None, + enabled=None, + name=None, + templateitemname=None, + value=None, + **kwargs, + ): + """ + Construct a new Tickformatstop object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.xaxis.Tickformatstop` + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + + Returns + ------- + Tickformatstop + """ + super().__init__("tickformatstops") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.xaxis.Tickformatstop +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.xaxis.Tickformatstop`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtickrange", arg, dtickrange) + self._set_property("enabled", arg, enabled) + self._set_property("name", arg, name) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("value", arg, value) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_title.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_title.py new file mode 100644 index 0000000..a517a22 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/_title.py @@ -0,0 +1,150 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Title(_BaseLayoutHierarchyType): + _parent_path_str = "layout.xaxis" + _path_str = "layout.xaxis.title" + _valid_props = {"font", "standoff", "text"} + + @property + def font(self): + """ + Sets this axis' title font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.xaxis.title.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.xaxis.title.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def standoff(self): + """ + Sets the standoff distance (in px) between the axis labels and + the title text The default value is a function of the axis tick + labels, the title `font.size` and the axis `linewidth`. Note + that the axis title position is always constrained within the + margins, so the actual standoff distance is always less than + the set or default value. By setting `standoff` and turning on + `automargin`, plotly.js will push the margins to fit the axis + title at given standoff distance. + + The 'standoff' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["standoff"] + + @standoff.setter + def standoff(self, val): + self["standoff"] = val + + @property + def text(self): + """ + Sets the title of this axis. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets this axis' title font. + standoff + Sets the standoff distance (in px) between the axis + labels and the title text The default value is a + function of the axis tick labels, the title `font.size` + and the axis `linewidth`. Note that the axis title + position is always constrained within the margins, so + the actual standoff distance is always less than the + set or default value. By setting `standoff` and turning + on `automargin`, plotly.js will push the margins to fit + the axis title at given standoff distance. + text + Sets the title of this axis. + """ + + def __init__(self, arg=None, font=None, standoff=None, text=None, **kwargs): + """ + Construct a new Title object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.xaxis.Title` + font + Sets this axis' title font. + standoff + Sets the standoff distance (in px) between the axis + labels and the title text The default value is a + function of the axis tick labels, the title `font.size` + and the axis `linewidth`. Note that the axis title + position is always constrained within the margins, so + the actual standoff distance is always less than the + set or default value. By setting `standoff` and turning + on `automargin`, plotly.js will push the margins to fit + the axis title at given standoff distance. + text + Sets the title of this axis. + + Returns + ------- + Title + """ + super().__init__("title") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.xaxis.Title +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.xaxis.Title`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("standoff", arg, standoff) + self._set_property("text", arg, text) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeselector/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeselector/__init__.py new file mode 100644 index 0000000..4796cc0 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeselector/__init__.py @@ -0,0 +1,12 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._button import Button + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, [], ["._button.Button", "._font.Font"] + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeselector/_button.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeselector/_button.py new file mode 100644 index 0000000..adfa467 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeselector/_button.py @@ -0,0 +1,318 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Button(_BaseLayoutHierarchyType): + _parent_path_str = "layout.xaxis.rangeselector" + _path_str = "layout.xaxis.rangeselector.button" + _valid_props = { + "count", + "label", + "name", + "step", + "stepmode", + "templateitemname", + "visible", + } + + @property + def count(self): + """ + Sets the number of steps to take to update the range. Use with + `step` to specify the update interval. + + The 'count' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["count"] + + @count.setter + def count(self, val): + self["count"] = val + + @property + def label(self): + """ + Sets the text label to appear on the button. + + The 'label' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["label"] + + @label.setter + def label(self, val): + self["label"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def step(self): + """ + The unit of measurement that the `count` value will set the + range by. + + The 'step' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['month', 'year', 'day', 'hour', 'minute', 'second', + 'all'] + + Returns + ------- + Any + """ + return self["step"] + + @step.setter + def step(self, val): + self["step"] = val + + @property + def stepmode(self): + """ + Sets the range update mode. If "backward", the range update + shifts the start of range back "count" times "step" + milliseconds. If "todate", the range update shifts the start of + range back to the first timestamp from "count" times "step" + milliseconds back. For example, with `step` set to "year" and + `count` set to 1 the range update shifts the start of the range + back to January 01 of the current year. Month and year "todate" + are currently available only for the built-in (Gregorian) + calendar. + + The 'stepmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['backward', 'todate'] + + Returns + ------- + Any + """ + return self["stepmode"] + + @stepmode.setter + def stepmode(self, val): + self["stepmode"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def visible(self): + """ + Determines whether or not this button is visible. + + The 'visible' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["visible"] + + @visible.setter + def visible(self, val): + self["visible"] = val + + @property + def _prop_descriptions(self): + return """\ + count + Sets the number of steps to take to update the range. + Use with `step` to specify the update interval. + label + Sets the text label to appear on the button. + 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. + step + The unit of measurement that the `count` value will set + the range by. + stepmode + Sets the range update mode. If "backward", the range + update shifts the start of range back "count" times + "step" milliseconds. If "todate", the range update + shifts the start of range back to the first timestamp + from "count" times "step" milliseconds back. For + example, with `step` set to "year" and `count` set to 1 + the range update shifts the start of the range back to + January 01 of the current year. Month and year "todate" + are currently available only for the built-in + (Gregorian) calendar. + 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 button is visible. + """ + + def __init__( + self, + arg=None, + count=None, + label=None, + name=None, + step=None, + stepmode=None, + templateitemname=None, + visible=None, + **kwargs, + ): + """ + Construct a new Button object + + Sets the specifications for each buttons. By default, a range + selector comes with no buttons. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.xaxis.r + angeselector.Button` + count + Sets the number of steps to take to update the range. + Use with `step` to specify the update interval. + label + Sets the text label to appear on the button. + 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. + step + The unit of measurement that the `count` value will set + the range by. + stepmode + Sets the range update mode. If "backward", the range + update shifts the start of range back "count" times + "step" milliseconds. If "todate", the range update + shifts the start of range back to the first timestamp + from "count" times "step" milliseconds back. For + example, with `step` set to "year" and `count` set to 1 + the range update shifts the start of the range back to + January 01 of the current year. Month and year "todate" + are currently available only for the built-in + (Gregorian) calendar. + 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 button is visible. + + Returns + ------- + Button + """ + super().__init__("buttons") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.xaxis.rangeselector.Button +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.xaxis.rangeselector.Button`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("count", arg, count) + self._set_property("label", arg, label) + self._set_property("name", arg, name) + self._set_property("step", arg, step) + self._set_property("stepmode", arg, stepmode) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("visible", arg, visible) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeselector/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeselector/_font.py new file mode 100644 index 0000000..b594067 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeselector/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.xaxis.rangeselector" + _path_str = "layout.xaxis.rangeselector.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets the font of the range selector button text. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.xaxis.r + angeselector.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.xaxis.rangeselector.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.xaxis.rangeselector.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeslider/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeslider/__init__.py new file mode 100644 index 0000000..b48657f --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeslider/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._yaxis import YAxis +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._yaxis.YAxis"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeslider/_yaxis.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeslider/_yaxis.py new file mode 100644 index 0000000..1ce88a5 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/rangeslider/_yaxis.py @@ -0,0 +1,118 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class YAxis(_BaseLayoutHierarchyType): + _parent_path_str = "layout.xaxis.rangeslider" + _path_str = "layout.xaxis.rangeslider.yaxis" + _valid_props = {"range", "rangemode"} + + @property + def range(self): + """ + Sets the range of this axis for the rangeslider. + + The 'range' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'range[0]' property accepts values of any type + (1) The 'range[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["range"] + + @range.setter + def range(self, val): + self["range"] = val + + @property + def rangemode(self): + """ + Determines whether or not the range of this axis in the + rangeslider use the same value than in the main plot when + zooming in/out. If "auto", the autorange will be used. If + "fixed", the `range` is used. If "match", the current range of + the corresponding y-axis on the main subplot is used. + + The 'rangemode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'fixed', 'match'] + + Returns + ------- + Any + """ + return self["rangemode"] + + @rangemode.setter + def rangemode(self, val): + self["rangemode"] = val + + @property + def _prop_descriptions(self): + return """\ + range + Sets the range of this axis for the rangeslider. + rangemode + Determines whether or not the range of this axis in the + rangeslider use the same value than in the main plot + when zooming in/out. If "auto", the autorange will be + used. If "fixed", the `range` is used. If "match", the + current range of the corresponding y-axis on the main + subplot is used. + """ + + def __init__(self, arg=None, range=None, rangemode=None, **kwargs): + """ + Construct a new YAxis object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.xaxis.r + angeslider.YAxis` + range + Sets the range of this axis for the rangeslider. + rangemode + Determines whether or not the range of this axis in the + rangeslider use the same value than in the main plot + when zooming in/out. If "auto", the autorange will be + used. If "fixed", the `range` is used. If "match", the + current range of the corresponding y-axis on the main + subplot is used. + + Returns + ------- + YAxis + """ + super().__init__("yaxis") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.xaxis.rangeslider.YAxis +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.xaxis.rangeslider.YAxis`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("range", arg, range) + self._set_property("rangemode", arg, rangemode) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/title/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/title/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/title/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/title/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/title/_font.py new file mode 100644 index 0000000..b943351 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/xaxis/title/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.xaxis.title" + _path_str = "layout.xaxis.title.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets this axis' title font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.xaxis.title.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.xaxis.title.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.xaxis.title.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/__init__.py new file mode 100644 index 0000000..7d5e696 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/__init__.py @@ -0,0 +1,26 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._autorangeoptions import Autorangeoptions + from ._minor import Minor + from ._rangebreak import Rangebreak + from ._tickfont import Tickfont + from ._tickformatstop import Tickformatstop + from ._title import Title + from . import title +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import( + __name__, + [".title"], + [ + "._autorangeoptions.Autorangeoptions", + "._minor.Minor", + "._rangebreak.Rangebreak", + "._tickfont.Tickfont", + "._tickformatstop.Tickformatstop", + "._title.Title", + ], + ) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_autorangeoptions.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_autorangeoptions.py new file mode 100644 index 0000000..722feb1 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_autorangeoptions.py @@ -0,0 +1,216 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Autorangeoptions(_BaseLayoutHierarchyType): + _parent_path_str = "layout.yaxis" + _path_str = "layout.yaxis.autorangeoptions" + _valid_props = { + "clipmax", + "clipmin", + "include", + "includesrc", + "maxallowed", + "minallowed", + } + + @property + def clipmax(self): + """ + Clip autorange maximum if it goes beyond this value. Has no + effect when `autorangeoptions.maxallowed` is provided. + + The 'clipmax' property accepts values of any type + + Returns + ------- + Any + """ + return self["clipmax"] + + @clipmax.setter + def clipmax(self, val): + self["clipmax"] = val + + @property + def clipmin(self): + """ + Clip autorange minimum if it goes beyond this value. Has no + effect when `autorangeoptions.minallowed` is provided. + + The 'clipmin' property accepts values of any type + + Returns + ------- + Any + """ + return self["clipmin"] + + @clipmin.setter + def clipmin(self, val): + self["clipmin"] = val + + @property + def include(self): + """ + Ensure this value is included in autorange. + + The 'include' property accepts values of any type + + Returns + ------- + Any|numpy.ndarray + """ + return self["include"] + + @include.setter + def include(self, val): + self["include"] = val + + @property + def includesrc(self): + """ + Sets the source reference on Chart Studio Cloud for `include`. + + The 'includesrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["includesrc"] + + @includesrc.setter + def includesrc(self, val): + self["includesrc"] = val + + @property + def maxallowed(self): + """ + Use this value exactly as autorange maximum. + + The 'maxallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["maxallowed"] + + @maxallowed.setter + def maxallowed(self, val): + self["maxallowed"] = val + + @property + def minallowed(self): + """ + Use this value exactly as autorange minimum. + + The 'minallowed' property accepts values of any type + + Returns + ------- + Any + """ + return self["minallowed"] + + @minallowed.setter + def minallowed(self, val): + self["minallowed"] = val + + @property + def _prop_descriptions(self): + return """\ + clipmax + Clip autorange maximum if it goes beyond this value. + Has no effect when `autorangeoptions.maxallowed` is + provided. + clipmin + Clip autorange minimum if it goes beyond this value. + Has no effect when `autorangeoptions.minallowed` is + provided. + include + Ensure this value is included in autorange. + includesrc + Sets the source reference on Chart Studio Cloud for + `include`. + maxallowed + Use this value exactly as autorange maximum. + minallowed + Use this value exactly as autorange minimum. + """ + + def __init__( + self, + arg=None, + clipmax=None, + clipmin=None, + include=None, + includesrc=None, + maxallowed=None, + minallowed=None, + **kwargs, + ): + """ + Construct a new Autorangeoptions object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of :class:`plotly.graph_objs.layout.yaxis.A + utorangeoptions` + clipmax + Clip autorange maximum if it goes beyond this value. + Has no effect when `autorangeoptions.maxallowed` is + provided. + clipmin + Clip autorange minimum if it goes beyond this value. + Has no effect when `autorangeoptions.minallowed` is + provided. + include + Ensure this value is included in autorange. + includesrc + Sets the source reference on Chart Studio Cloud for + `include`. + maxallowed + Use this value exactly as autorange maximum. + minallowed + Use this value exactly as autorange minimum. + + Returns + ------- + Autorangeoptions + """ + super().__init__("autorangeoptions") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.yaxis.Autorangeoptions +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.yaxis.Autorangeoptions`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("clipmax", arg, clipmax) + self._set_property("clipmin", arg, clipmin) + self._set_property("include", arg, include) + self._set_property("includesrc", arg, includesrc) + self._set_property("maxallowed", arg, maxallowed) + self._set_property("minallowed", arg, minallowed) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_minor.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_minor.py new file mode 100644 index 0000000..c718a60 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_minor.py @@ -0,0 +1,566 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Minor(_BaseLayoutHierarchyType): + _parent_path_str = "layout.yaxis" + _path_str = "layout.yaxis.minor" + _valid_props = { + "dtick", + "gridcolor", + "griddash", + "gridwidth", + "nticks", + "showgrid", + "tick0", + "tickcolor", + "ticklen", + "tickmode", + "ticks", + "tickvals", + "tickvalssrc", + "tickwidth", + } + + @property + def dtick(self): + """ + 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<f>", 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<n>" 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" + + The 'dtick' property accepts values of any type + + Returns + ------- + Any + """ + return self["dtick"] + + @dtick.setter + def dtick(self, val): + self["dtick"] = val + + @property + def gridcolor(self): + """ + Sets the color of the grid lines. + + The 'gridcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["gridcolor"] + + @gridcolor.setter + def gridcolor(self, val): + self["gridcolor"] = val + + @property + def griddash(self): + """ + 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"). + + The 'griddash' property is an enumeration that may be specified as: + - One of the following dash styles: + ['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot'] + - A string containing a dash length list in pixels or percentages + (e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.) + + Returns + ------- + str + """ + return self["griddash"] + + @griddash.setter + def griddash(self, val): + self["griddash"] = val + + @property + def gridwidth(self): + """ + Sets the width (in px) of the grid lines. + + The 'gridwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["gridwidth"] + + @gridwidth.setter + def gridwidth(self, val): + self["gridwidth"] = val + + @property + def nticks(self): + """ + 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". + + The 'nticks' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [0, 9223372036854775807] + + Returns + ------- + int + """ + return self["nticks"] + + @nticks.setter + def nticks(self, val): + self["nticks"] = val + + @property + def showgrid(self): + """ + Determines whether or not grid lines are drawn. If True, the + grid lines are drawn at every tick mark. + + The 'showgrid' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["showgrid"] + + @showgrid.setter + def showgrid(self, val): + self["showgrid"] = val + + @property + def tick0(self): + """ + 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<f>* (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. + + The 'tick0' property accepts values of any type + + Returns + ------- + Any + """ + return self["tick0"] + + @tick0.setter + def tick0(self, val): + self["tick0"] = val + + @property + def tickcolor(self): + """ + Sets the tick color. + + The 'tickcolor' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["tickcolor"] + + @tickcolor.setter + def tickcolor(self, val): + self["tickcolor"] = val + + @property + def ticklen(self): + """ + Sets the tick length (in px). + + The 'ticklen' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["ticklen"] + + @ticklen.setter + def ticklen(self, val): + self["ticklen"] = val + + @property + def tickmode(self): + """ + 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). + + The 'tickmode' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['auto', 'linear', 'array'] + + Returns + ------- + Any + """ + return self["tickmode"] + + @tickmode.setter + def tickmode(self, val): + self["tickmode"] = val + + @property + def ticks(self): + """ + 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. + + The 'ticks' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['outside', 'inside', ''] + + Returns + ------- + Any + """ + return self["ticks"] + + @ticks.setter + def ticks(self, val): + self["ticks"] = val + + @property + def tickvals(self): + """ + Sets the values at which ticks on this axis appear. Only has an + effect if `tickmode` is set to "array". Used with `ticktext`. + + The 'tickvals' property is an array that may be specified as a tuple, + list, numpy array, or pandas Series + + Returns + ------- + numpy.ndarray + """ + return self["tickvals"] + + @tickvals.setter + def tickvals(self, val): + self["tickvals"] = val + + @property + def tickvalssrc(self): + """ + Sets the source reference on Chart Studio Cloud for `tickvals`. + + The 'tickvalssrc' property must be specified as a string or + as a plotly.grid_objs.Column object + + Returns + ------- + str + """ + return self["tickvalssrc"] + + @tickvalssrc.setter + def tickvalssrc(self, val): + self["tickvalssrc"] = val + + @property + def tickwidth(self): + """ + Sets the tick width (in px). + + The 'tickwidth' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["tickwidth"] + + @tickwidth.setter + def tickwidth(self, val): + self["tickwidth"] = val + + @property + def _prop_descriptions(self): + return """\ + 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<f>", 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<n>" 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" + 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. + 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". + showgrid + Determines whether or not grid lines are drawn. If + True, the grid lines are drawn at every tick mark. + 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<f>* (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. + tickcolor + Sets the tick color. + 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). + 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. + 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). + """ + + def __init__( + self, + arg=None, + dtick=None, + gridcolor=None, + griddash=None, + gridwidth=None, + nticks=None, + showgrid=None, + tick0=None, + tickcolor=None, + ticklen=None, + tickmode=None, + ticks=None, + tickvals=None, + tickvalssrc=None, + tickwidth=None, + **kwargs, + ): + """ + Construct a new Minor object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.yaxis.Minor` + 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<f>", 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<n>" 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" + 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. + 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". + showgrid + Determines whether or not grid lines are drawn. If + True, the grid lines are drawn at every tick mark. + 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<f>* (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. + tickcolor + Sets the tick color. + 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). + 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. + 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). + + Returns + ------- + Minor + """ + super().__init__("minor") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.yaxis.Minor +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.yaxis.Minor`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtick", arg, dtick) + self._set_property("gridcolor", arg, gridcolor) + self._set_property("griddash", arg, griddash) + self._set_property("gridwidth", arg, gridwidth) + self._set_property("nticks", arg, nticks) + self._set_property("showgrid", arg, showgrid) + self._set_property("tick0", arg, tick0) + self._set_property("tickcolor", arg, tickcolor) + self._set_property("ticklen", arg, ticklen) + self._set_property("tickmode", arg, tickmode) + self._set_property("ticks", arg, ticks) + self._set_property("tickvals", arg, tickvals) + self._set_property("tickvalssrc", arg, tickvalssrc) + self._set_property("tickwidth", arg, tickwidth) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_rangebreak.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_rangebreak.py new file mode 100644 index 0000000..1816985 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_rangebreak.py @@ -0,0 +1,330 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Rangebreak(_BaseLayoutHierarchyType): + _parent_path_str = "layout.yaxis" + _path_str = "layout.yaxis.rangebreak" + _valid_props = { + "bounds", + "dvalue", + "enabled", + "name", + "pattern", + "templateitemname", + "values", + } + + @property + def bounds(self): + """ + Sets the lower and upper bounds of this axis rangebreak. Can be + used with `pattern`. + + The 'bounds' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'bounds[0]' property accepts values of any type + (1) The 'bounds[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["bounds"] + + @bounds.setter + def bounds(self, val): + self["bounds"] = val + + @property + def dvalue(self): + """ + Sets the size of each `values` item. The default is one day in + milliseconds. + + The 'dvalue' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["dvalue"] + + @dvalue.setter + def dvalue(self, val): + self["dvalue"] = val + + @property + def enabled(self): + """ + Determines whether this axis rangebreak is enabled or disabled. + Please note that `rangebreaks` only work for "date" axis type. + + The 'enabled' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["enabled"] + + @enabled.setter + def enabled(self, val): + self["enabled"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def pattern(self): + """ + Determines a pattern on the time line that generates breaks. If + *day of week* - days of the week in English e.g. 'Sunday' or + `sun` (matching is case-insensitive and considers only the + first three characters), as well as Sunday-based integers + between 0 and 6. If "hour" - hour (24-hour clock) as decimal + numbers between 0 and 24. for more info. Examples: - { pattern: + 'day of week', bounds: [6, 1] } or simply { bounds: ['sat', + 'mon'] } breaks from Saturday to Monday (i.e. skips the + weekends). - { pattern: 'hour', bounds: [17, 8] } breaks from + 5pm to 8am (i.e. skips non-work hours). + + The 'pattern' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['day of week', 'hour', ''] + + Returns + ------- + Any + """ + return self["pattern"] + + @pattern.setter + def pattern(self, val): + self["pattern"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def values(self): + """ + Sets the coordinate values corresponding to the rangebreaks. An + alternative to `bounds`. Use `dvalue` to set the size of the + values along the axis. + + The 'values' property is an info array that may be specified as: + * a list of elements where: + The 'values[i]' property accepts values of any type + + Returns + ------- + list + """ + return self["values"] + + @values.setter + def values(self, val): + self["values"] = val + + @property + def _prop_descriptions(self): + return """\ + bounds + Sets the lower and upper bounds of this axis + rangebreak. Can be used with `pattern`. + dvalue + Sets the size of each `values` item. The default is one + day in milliseconds. + enabled + Determines whether this axis rangebreak is enabled or + disabled. Please note that `rangebreaks` only work for + "date" axis type. + 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. + pattern + Determines a pattern on the time line that generates + breaks. If *day of week* - days of the week in English + e.g. 'Sunday' or `sun` (matching is case-insensitive + and considers only the first three characters), as well + as Sunday-based integers between 0 and 6. If "hour" - + hour (24-hour clock) as decimal numbers between 0 and + 24. for more info. Examples: - { pattern: 'day of + week', bounds: [6, 1] } or simply { bounds: ['sat', + 'mon'] } breaks from Saturday to Monday (i.e. skips + the weekends). - { pattern: 'hour', bounds: [17, 8] } + breaks from 5pm to 8am (i.e. skips non-work hours). + 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`. + values + Sets the coordinate values corresponding to the + rangebreaks. An alternative to `bounds`. Use `dvalue` + to set the size of the values along the axis. + """ + + def __init__( + self, + arg=None, + bounds=None, + dvalue=None, + enabled=None, + name=None, + pattern=None, + templateitemname=None, + values=None, + **kwargs, + ): + """ + Construct a new Rangebreak object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.yaxis.Rangebreak` + bounds + Sets the lower and upper bounds of this axis + rangebreak. Can be used with `pattern`. + dvalue + Sets the size of each `values` item. The default is one + day in milliseconds. + enabled + Determines whether this axis rangebreak is enabled or + disabled. Please note that `rangebreaks` only work for + "date" axis type. + 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. + pattern + Determines a pattern on the time line that generates + breaks. If *day of week* - days of the week in English + e.g. 'Sunday' or `sun` (matching is case-insensitive + and considers only the first three characters), as well + as Sunday-based integers between 0 and 6. If "hour" - + hour (24-hour clock) as decimal numbers between 0 and + 24. for more info. Examples: - { pattern: 'day of + week', bounds: [6, 1] } or simply { bounds: ['sat', + 'mon'] } breaks from Saturday to Monday (i.e. skips + the weekends). - { pattern: 'hour', bounds: [17, 8] } + breaks from 5pm to 8am (i.e. skips non-work hours). + 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`. + values + Sets the coordinate values corresponding to the + rangebreaks. An alternative to `bounds`. Use `dvalue` + to set the size of the values along the axis. + + Returns + ------- + Rangebreak + """ + super().__init__("rangebreaks") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.yaxis.Rangebreak +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.yaxis.Rangebreak`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("bounds", arg, bounds) + self._set_property("dvalue", arg, dvalue) + self._set_property("enabled", arg, enabled) + self._set_property("name", arg, name) + self._set_property("pattern", arg, pattern) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("values", arg, values) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_tickfont.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_tickfont.py new file mode 100644 index 0000000..7a57384 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_tickfont.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickfont(_BaseLayoutHierarchyType): + _parent_path_str = "layout.yaxis" + _path_str = "layout.yaxis.tickfont" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Tickfont object + + Sets the tick font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.yaxis.Tickfont` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Tickfont + """ + super().__init__("tickfont") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.yaxis.Tickfont +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.yaxis.Tickfont`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_tickformatstop.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_tickformatstop.py new file mode 100644 index 0000000..40314fd --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_tickformatstop.py @@ -0,0 +1,241 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Tickformatstop(_BaseLayoutHierarchyType): + _parent_path_str = "layout.yaxis" + _path_str = "layout.yaxis.tickformatstop" + _valid_props = {"dtickrange", "enabled", "name", "templateitemname", "value"} + + @property + def dtickrange(self): + """ + range [*min*, *max*], where "min", "max" - dtick values which + describe some zoom level, it is possible to omit "min" or "max" + value by passing "null" + + The 'dtickrange' property is an info array that may be specified as: + + * a list or tuple of 2 elements where: + (0) The 'dtickrange[0]' property accepts values of any type + (1) The 'dtickrange[1]' property accepts values of any type + + Returns + ------- + list + """ + return self["dtickrange"] + + @dtickrange.setter + def dtickrange(self, val): + self["dtickrange"] = val + + @property + def enabled(self): + """ + Determines whether or not this stop is used. If `false`, this + stop is ignored even within its `dtickrange`. + + The 'enabled' property must be specified as a bool + (either True, or False) + + Returns + ------- + bool + """ + return self["enabled"] + + @enabled.setter + def enabled(self, val): + self["enabled"] = val + + @property + def name(self): + """ + 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. + + The 'name' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["name"] + + @name.setter + def name(self, val): + self["name"] = val + + @property + def templateitemname(self): + """ + 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`. + + The 'templateitemname' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["templateitemname"] + + @templateitemname.setter + def templateitemname(self, val): + self["templateitemname"] = val + + @property + def value(self): + """ + string - dtickformat for described zoom level, the same as + "tickformat" + + The 'value' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["value"] + + @value.setter + def value(self, val): + self["value"] = val + + @property + def _prop_descriptions(self): + return """\ + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + """ + + def __init__( + self, + arg=None, + dtickrange=None, + enabled=None, + name=None, + templateitemname=None, + value=None, + **kwargs, + ): + """ + Construct a new Tickformatstop object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.yaxis.Tickformatstop` + dtickrange + range [*min*, *max*], where "min", "max" - dtick values + which describe some zoom level, it is possible to omit + "min" or "max" value by passing "null" + enabled + Determines whether or not this stop is used. If + `false`, this stop is ignored even within its + `dtickrange`. + 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. + 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`. + value + string - dtickformat for described zoom level, the same + as "tickformat" + + Returns + ------- + Tickformatstop + """ + super().__init__("tickformatstops") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.yaxis.Tickformatstop +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.yaxis.Tickformatstop`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("dtickrange", arg, dtickrange) + self._set_property("enabled", arg, enabled) + self._set_property("name", arg, name) + self._set_property("templateitemname", arg, templateitemname) + self._set_property("value", arg, value) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_title.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_title.py new file mode 100644 index 0000000..4bb8d4f --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/_title.py @@ -0,0 +1,150 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Title(_BaseLayoutHierarchyType): + _parent_path_str = "layout.yaxis" + _path_str = "layout.yaxis.title" + _valid_props = {"font", "standoff", "text"} + + @property + def font(self): + """ + Sets this axis' title font. + + The 'font' property is an instance of Font + that may be specified as: + - An instance of :class:`plotly.graph_objs.layout.yaxis.title.Font` + - A dict of string/value properties that will be passed + to the Font constructor + + Returns + ------- + plotly.graph_objs.layout.yaxis.title.Font + """ + return self["font"] + + @font.setter + def font(self, val): + self["font"] = val + + @property + def standoff(self): + """ + Sets the standoff distance (in px) between the axis labels and + the title text The default value is a function of the axis tick + labels, the title `font.size` and the axis `linewidth`. Note + that the axis title position is always constrained within the + margins, so the actual standoff distance is always less than + the set or default value. By setting `standoff` and turning on + `automargin`, plotly.js will push the margins to fit the axis + title at given standoff distance. + + The 'standoff' property is a number and may be specified as: + - An int or float in the interval [0, inf] + + Returns + ------- + int|float + """ + return self["standoff"] + + @standoff.setter + def standoff(self, val): + self["standoff"] = val + + @property + def text(self): + """ + Sets the title of this axis. + + The 'text' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["text"] + + @text.setter + def text(self, val): + self["text"] = val + + @property + def _prop_descriptions(self): + return """\ + font + Sets this axis' title font. + standoff + Sets the standoff distance (in px) between the axis + labels and the title text The default value is a + function of the axis tick labels, the title `font.size` + and the axis `linewidth`. Note that the axis title + position is always constrained within the margins, so + the actual standoff distance is always less than the + set or default value. By setting `standoff` and turning + on `automargin`, plotly.js will push the margins to fit + the axis title at given standoff distance. + text + Sets the title of this axis. + """ + + def __init__(self, arg=None, font=None, standoff=None, text=None, **kwargs): + """ + Construct a new Title object + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.yaxis.Title` + font + Sets this axis' title font. + standoff + Sets the standoff distance (in px) between the axis + labels and the title text The default value is a + function of the axis tick labels, the title `font.size` + and the axis `linewidth`. Note that the axis title + position is always constrained within the margins, so + the actual standoff distance is always less than the + set or default value. By setting `standoff` and turning + on `automargin`, plotly.js will push the margins to fit + the axis title at given standoff distance. + text + Sets the title of this axis. + + Returns + ------- + Title + """ + super().__init__("title") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.yaxis.Title +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.yaxis.Title`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("font", arg, font) + self._set_property("standoff", arg, standoff) + self._set_property("text", arg, text) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/title/__init__.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/title/__init__.py new file mode 100644 index 0000000..56f600d --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/title/__init__.py @@ -0,0 +1,9 @@ +import sys +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from ._font import Font +else: + from _plotly_utils.importers import relative_import + + __all__, __getattr__, __dir__ = relative_import(__name__, [], ["._font.Font"]) diff --git a/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/title/_font.py b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/title/_font.py new file mode 100644 index 0000000..b04cd98 --- /dev/null +++ b/venv/lib/python3.8/site-packages/plotly/graph_objs/layout/yaxis/title/_font.py @@ -0,0 +1,334 @@ +# --- THIS FILE IS AUTO-GENERATED --- +# Modifications will be overwitten the next time code generation run. + +from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType +import copy as _copy + + +class Font(_BaseLayoutHierarchyType): + _parent_path_str = "layout.yaxis.title" + _path_str = "layout.yaxis.title.font" + _valid_props = { + "color", + "family", + "lineposition", + "shadow", + "size", + "style", + "textcase", + "variant", + "weight", + } + + @property + def color(self): + """ + The 'color' 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: see https://plotly.com/python/css-colors/ for a list + + Returns + ------- + str + """ + return self["color"] + + @color.setter + def color(self, val): + self["color"] = val + + @property + def family(self): + """ + HTML font family - the typeface that will be applied by the web + browser. The web browser can only apply a font if it is + available on the system where it runs. Provide multiple font + families, separated by commas, to indicate the order in which + to apply fonts if they aren't available. + + The 'family' property is a string and must be specified as: + - A non-empty string + + Returns + ------- + str + """ + return self["family"] + + @family.setter + def family(self, val): + self["family"] = val + + @property + def lineposition(self): + """ + Sets the kind of decoration line(s) with text, such as an + "under", "over" or "through" as well as combinations e.g. + "under+over", etc. + + The 'lineposition' property is a flaglist and may be specified + as a string containing: + - Any combination of ['under', 'over', 'through'] joined with '+' characters + (e.g. 'under+over') + OR exactly one of ['none'] (e.g. 'none') + + Returns + ------- + Any + """ + return self["lineposition"] + + @lineposition.setter + def lineposition(self, val): + self["lineposition"] = val + + @property + def shadow(self): + """ + Sets the shape and color of the shadow behind text. "auto" + places minimal shadow and applies contrast text font color. See + https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow + for additional options. + + The 'shadow' property is a string and must be specified as: + - A string + - A number that will be converted to a string + + Returns + ------- + str + """ + return self["shadow"] + + @shadow.setter + def shadow(self, val): + self["shadow"] = val + + @property + def size(self): + """ + The 'size' property is a number and may be specified as: + - An int or float in the interval [1, inf] + + Returns + ------- + int|float + """ + return self["size"] + + @size.setter + def size(self, val): + self["size"] = val + + @property + def style(self): + """ + Sets whether a font should be styled with a normal or italic + face from its family. + + The 'style' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'italic'] + + Returns + ------- + Any + """ + return self["style"] + + @style.setter + def style(self, val): + self["style"] = val + + @property + def textcase(self): + """ + Sets capitalization of text. It can be used to make text appear + in all-uppercase or all-lowercase, or with each word + capitalized. + + The 'textcase' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'word caps', 'upper', 'lower'] + + Returns + ------- + Any + """ + return self["textcase"] + + @textcase.setter + def textcase(self, val): + self["textcase"] = val + + @property + def variant(self): + """ + Sets the variant of the font. + + The 'variant' property is an enumeration that may be specified as: + - One of the following enumeration values: + ['normal', 'small-caps', 'all-small-caps', + 'all-petite-caps', 'petite-caps', 'unicase'] + + Returns + ------- + Any + """ + return self["variant"] + + @variant.setter + def variant(self, val): + self["variant"] = val + + @property + def weight(self): + """ + Sets the weight (or boldness) of the font. + + The 'weight' property is a integer and may be specified as: + - An int (or float that will be cast to an int) + in the interval [1, 1000] + OR exactly one of ['normal', 'bold'] (e.g. 'bold') + + Returns + ------- + int + """ + return self["weight"] + + @weight.setter + def weight(self, val): + self["weight"] = val + + @property + def _prop_descriptions(self): + return """\ + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + """ + + def __init__( + self, + arg=None, + color=None, + family=None, + lineposition=None, + shadow=None, + size=None, + style=None, + textcase=None, + variant=None, + weight=None, + **kwargs, + ): + """ + Construct a new Font object + + Sets this axis' title font. + + Parameters + ---------- + arg + dict of properties compatible with this constructor or + an instance of + :class:`plotly.graph_objs.layout.yaxis.title.Font` + color + + family + HTML font family - the typeface that will be applied by + the web browser. The web browser can only apply a font + if it is available on the system where it runs. Provide + multiple font families, separated by commas, to + indicate the order in which to apply fonts if they + aren't available. + lineposition + Sets the kind of decoration line(s) with text, such as + an "under", "over" or "through" as well as combinations + e.g. "under+over", etc. + shadow + Sets the shape and color of the shadow behind text. + "auto" places minimal shadow and applies contrast text + font color. See https://developer.mozilla.org/en- + US/docs/Web/CSS/text-shadow for additional options. + size + + style + Sets whether a font should be styled with a normal or + italic face from its family. + textcase + Sets capitalization of text. It can be used to make + text appear in all-uppercase or all-lowercase, or with + each word capitalized. + variant + Sets the variant of the font. + weight + Sets the weight (or boldness) of the font. + + Returns + ------- + Font + """ + super().__init__("font") + if "_parent" in kwargs: + self._parent = kwargs["_parent"] + return + + 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.yaxis.title.Font +constructor must be a dict or +an instance of :class:`plotly.graph_objs.layout.yaxis.title.Font`""") + + self._skip_invalid = kwargs.pop("skip_invalid", False) + self._validate = kwargs.pop("_validate", True) + + self._set_property("color", arg, color) + self._set_property("family", arg, family) + self._set_property("lineposition", arg, lineposition) + self._set_property("shadow", arg, shadow) + self._set_property("size", arg, size) + self._set_property("style", arg, style) + self._set_property("textcase", arg, textcase) + self._set_property("variant", arg, variant) + self._set_property("weight", arg, weight) + self._process_kwargs(**dict(arg, **kwargs)) + self._skip_invalid = False |