diff --git a/make_instructions.txt b/make_instructions.txt index b789f2a62e9..96c3e0c2aef 100644 --- a/make_instructions.txt +++ b/make_instructions.txt @@ -18,6 +18,8 @@ Available targets (i.e. $ make target): readme -> `less` this file + update_default_schema -> download the latest plot schema from plot.ly + setup_subs -> delete old submodule locations, init, update, and sync new install -> 1. sync submodules 2. install plotly with setup.py diff --git a/makefile b/makefile index 75002f70ecb..c2e3e344d65 100644 --- a/makefile +++ b/makefile @@ -17,6 +17,15 @@ setup_subs : git submodule update make sync_subs +update_default_schema : + @echo "Making sure the default-schema.json file is up to date" + python -c "import json;\ + from plotly.graph_reference import GRAPH_REFERENCE;\ + f = open('plotly/graph_reference/default-schema.json', 'w');\ + json.dump(GRAPH_REFERENCE, f, indent=4, sort_keys=True,\ + separators=(',', ': '));\ + f.close()" + install : sync_subs @echo "" @echo "Installing Python API with make" diff --git a/plotly/files.py b/plotly/files.py new file mode 100644 index 00000000000..77637567d42 --- /dev/null +++ b/plotly/files.py @@ -0,0 +1,39 @@ +import os + +# file structure +PLOTLY_DIR = os.path.join(os.path.expanduser("~"), ".plotly") +CREDENTIALS_FILE = os.path.join(PLOTLY_DIR, ".credentials") +CONFIG_FILE = os.path.join(PLOTLY_DIR, ".config") +GRAPH_REFERENCE_FILE = os.path.join(PLOTLY_DIR, ".graph_reference") +TEST_DIR = os.path.join(os.path.expanduser("~"), ".test") +TEST_FILE = os.path.join(PLOTLY_DIR, ".permission_test") + +# this sets both the DEFAULTS and the TYPES for these files +FILE_CONTENT = {CREDENTIALS_FILE: {'username': '', + 'api_key': '', + 'proxy_username': '', + 'proxy_password': '', + 'stream_ids': []}, + CONFIG_FILE: {'plotly_domain': 'https://plot.ly', + 'plotly_streaming_domain': 'stream.plot.ly', + 'plotly_api_domain': 'https://api.plot.ly', + 'plotly_ssl_verification': True, + 'plotly_proxy_authorization': False, + 'world_readable': True}} + +try: + os.mkdir(TEST_DIR) + os.rmdir(TEST_DIR) + if not os.path.exists(PLOTLY_DIR): + os.mkdir(PLOTLY_DIR) + f = open(TEST_FILE, 'w') + f.write('testing\n') + f.close() + os.remove(TEST_FILE) + _file_permissions = True +except: + _file_permissions = False + + +def check_file_permissions(): + return _file_permissions diff --git a/plotly/graph_reference.py b/plotly/graph_reference.py new file mode 100644 index 00000000000..144bcec5045 --- /dev/null +++ b/plotly/graph_reference.py @@ -0,0 +1,66 @@ +""" +This module handles accessing, storing, and managing the graph reference. + +""" +from __future__ import absolute_import + +import hashlib +import json +import os +import requests +from pkg_resources import resource_string + +import six + +from plotly import exceptions, files, utils + +GRAPH_REFERENCE_PATH = '/v2/plot-schema' +GRAPH_REFERENCE_DOWNLOAD_TIMEOUT = 5 # seconds + + +def get_graph_reference(): + """ + Attempts to load local copy of graph reference or makes GET request if DNE. + + :return: (dict) The graph reference. + :raises: (PlotlyError) When graph reference DNE and GET request fails. + + """ + default_config = files.FILE_CONTENT[files.CONFIG_FILE] + if files.check_file_permissions(): + graph_reference = utils.load_json_dict(files.GRAPH_REFERENCE_FILE) + config = utils.load_json_dict(files.CONFIG_FILE) + + # TODO: https://github.com/plotly/python-api/issues/293 + plotly_api_domain = config.get('plotly_api_domain', + default_config['plotly_api_domain']) + else: + graph_reference = {} + plotly_api_domain = default_config['plotly_api_domain'] + + sha1 = hashlib.sha1(six.b(str(graph_reference))).hexdigest() + + graph_reference_url = '{}{}?sha1={}'.format(plotly_api_domain, + GRAPH_REFERENCE_PATH, sha1) + + try: + response = requests.get(graph_reference_url, + timeout=GRAPH_REFERENCE_DOWNLOAD_TIMEOUT) + response.raise_for_status() + except requests.exceptions.RequestException: + if not graph_reference: + path = os.path.join('graph_reference', 'default-schema.json') + s = resource_string('plotly', path).decode('utf-8') + graph_reference = json.loads(s) + else: + if six.PY3: + content = str(response.content, encoding='utf-8') + else: + content = response.content + data = json.loads(content) + if data['modified']: + graph_reference = data['schema'] + + return utils.decode_unicode(graph_reference) + +GRAPH_REFERENCE = get_graph_reference() diff --git a/plotly/graph_reference/default-schema.json b/plotly/graph_reference/default-schema.json new file mode 100644 index 00000000000..6c89935f119 --- /dev/null +++ b/plotly/graph_reference/default-schema.json @@ -0,0 +1,14656 @@ +{ + "defs": { + "metaKeys": [ + "_isLinkedToArray", + "_isSubplotObj", + "_deprecated", + "description", + "role" + ], + "valObjects": { + "angle": { + "description": "A number (in degree) between -180 and 180.", + "otherOpts": [ + "dflt" + ], + "requiredOpts": [] + }, + "any": { + "description": "Any type.", + "otherOpts": [ + "dflt" + ], + "requiredOpts": [] + }, + "axisid": { + "description": "An axis id string (e.g. 'x', 'x2', 'x3', ...).", + "otherOpts": [ + "dflt" + ], + "requiredOpts": [] + }, + "boolean": { + "description": "A boolean (true/false) value.", + "otherOpts": [ + "dflt" + ], + "requiredOpts": [] + }, + "color": { + "description": "A string describing color. Supported formats: - hex (e.g. '#d3d3d3') - rgb (e.g. 'rgb(255, 0, 0)') - rgba (e.g. 'rgb(255, 0, 0, 0.5)') - hsl (e.g. 'hsl(0, 100%, 50%)') - hsv (e.g. 'hsv(0, 100%, 100%)') - named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)", + "otherOpts": [ + "dflt", + "arrayOk" + ], + "requiredOpts": [] + }, + "colorscale": { + "description": "A Plotly colorscale either picked by a name: (any of Greys, YIGnBu, Greens, YIOrRd, Bluered, RdBu, Reds, Blues, Picnic, Rainbow, Portland, Jet, Hot, Blackbody, Earth, Electric, Viridis ) customized as an {array} of 2-element {arrays} 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.", + "otherOpts": [ + "dflt" + ], + "requiredOpts": [] + }, + "data_array": { + "description": "An {array} of data. The value MUST be an {array}, or we ignore it.", + "otherOpts": [ + "dflt" + ], + "requiredOpts": [] + }, + "enumerated": { + "description": "Enumerated value type. The available values are listed in `values`.", + "otherOpts": [ + "dflt", + "coerceNumber", + "arrayOk" + ], + "requiredOpts": [ + "values" + ] + }, + "flaglist": { + "description": "A string representing a combination of flags (order does not matter here). Combine any of the available `flags` with *+*. (e.g. ('lines+markers')). Values in `extras` cannot be combined.", + "otherOpts": [ + "dflt", + "extras" + ], + "requiredOpts": [ + "flags" + ] + }, + "geoid": { + "description": "A geo id string (e.g. 'geo', 'geo2', 'geo3', ...).", + "otherOpts": [ + "dflt" + ], + "requiredOpts": [] + }, + "info_array": { + "description": "An {array} of plot information.", + "otherOpts": [ + "dflt" + ], + "requiredOpts": [ + "items" + ] + }, + "integer": { + "description": "An integer or an integer inside a string. When applicable, values greater (less) than `max` (`min`) are coerced to the `dflt`.", + "otherOpts": [ + "dflt", + "min", + "max" + ], + "requiredOpts": [] + }, + "number": { + "description": "A number or a numeric value (e.g. a number inside a string). When applicable, values greater (less) than `max` (`min`) are coerced to the `dflt`.", + "otherOpts": [ + "dflt", + "min", + "max", + "arrayOk" + ], + "requiredOpts": [] + }, + "sceneid": { + "description": "A scene id string (e.g. 'scene', 'scene2', 'scene3', ...).", + "otherOpts": [ + "dflt" + ], + "requiredOpts": [] + }, + "string": { + "description": "A string value. Numbers are converted to strings except for attributes with `strict` set to true.", + "otherOpts": [ + "dflt", + "noBlank", + "strict", + "arrayOk", + "values" + ], + "requiredOpts": [] + } + } + }, + "layout": { + "layoutAttributes": { + "angularaxis": { + "domain": { + "description": "Polar chart subplots are not supported yet. This key has currently no effect.", + "dflt": [ + 0, + 1 + ], + "items": [ + { + "max": 1, + "min": 0, + "valType": "number" + }, + { + "max": 1, + "min": 0, + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "endpadding": { + "role": "style", + "valType": "number" + }, + "range": { + "description": "Defines the start and end point of this angular axis.", + "items": [ + { + "dflt": 0, + "valType": "number" + }, + { + "dflt": 360, + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "role": "object", + "showline": { + "description": "Determines whether or not the line bounding this angular axis will be shown on the figure.", + "role": "style", + "valType": "boolean" + }, + "showticklabels": { + "description": "Determines whether or not the angular axis ticks will feature tick labels.", + "role": "style", + "valType": "boolean" + }, + "tickcolor": { + "description": "Sets the color of the tick lines on this angular axis.", + "role": "style", + "valType": "color" + }, + "ticklen": { + "description": "Sets the length of the tick lines on this angular axis.", + "min": 0, + "role": "style", + "valType": "number" + }, + "tickorientation": { + "description": "Sets the orientation (from the paper perspective) of the angular axis tick labels.", + "role": "style", + "valType": "enumerated", + "values": [ + "horizontal", + "vertical" + ] + }, + "ticksuffix": { + "description": "Sets the length of the tick lines on this angular axis.", + "role": "style", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this axis will be visible.", + "role": "info", + "valType": "boolean" + } + }, + "annotations": { + "_deprecated": { + "ref": { + "description": "Obsolete. Set `xref` and `yref` separately instead.", + "role": "info", + "valType": "string" + } + }, + "_isLinkedToArray": true, + "align": { + "description": "Sets the vertical alignment of the `text` with respect to the set `x` and `y` position. Has only an effect if `text` spans more two or more lines (i.e. `text` contains one or more
HTML tags).", + "dflt": "center", + "role": "style", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "arrowcolor": { + "description": "Sets the color of the annotation arrow.", + "role": "style", + "valType": "color" + }, + "arrowhead": { + "description": "Sets the annotation arrow head style.", + "dflt": 1, + "max": 8, + "min": 0, + "role": "style", + "valType": "integer" + }, + "arrowsize": { + "description": "Sets the size (in px) of annotation arrow head.", + "dflt": 1, + "min": 0.3, + "role": "style", + "valType": "number" + }, + "arrowwidth": { + "description": "Sets the width (in px) of annotation arrow.", + "min": 0.1, + "role": "style", + "valType": "number" + }, + "ax": { + "description": "Sets the x component of the arrow tail about the arrow head. A positive (negative) component corresponds to an arrow pointing from right to left (left to right)", + "dflt": -10, + "role": "info", + "valType": "number" + }, + "ay": { + "description": "Sets the y component of the arrow tail about the arrow head. A positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom)", + "dflt": -30, + "role": "info", + "valType": "number" + }, + "bgcolor": { + "description": "Sets the background color of the annotation.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the annotation `text`.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "borderpad": { + "description": "Sets the padding (in px) between the `text` and the enclosing border.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the annotation `text`.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "font": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the annotation text font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "opacity": { + "description": "Sets the opacity of the annotation (text + arrow).", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "showarrow": { + "description": "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.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "text": { + "description": "Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (
), bold (), italics (), hyperlinks (). Tags , , are also supported.", + "role": "info", + "valType": "string" + }, + "textangle": { + "description": "Sets the angle at which the `text` is drawn with respect to the horizontal.", + "dflt": 0, + "role": "style", + "valType": "angle" + }, + "x": { + "description": "Sets the annotation's x position. Note that dates and categories are converted to numbers.", + "role": "info", + "valType": "number" + }, + "xanchor": { + "description": "Sets the annotation'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 whereas for paper-referenced, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "xref": { + "description": "Sets the annotation's x coordinate axis. If set to an x axis id (e.g. *x* or *x2*), the `x` position refers to an x coordinate If set to *paper*, the `x` position refers to the distance from the left side of the plotting area in normalized coordinates where 0 (1) corresponds to the left (right) side.", + "role": "info", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?$/" + ] + }, + "y": { + "description": "Sets the annotation's y position. Note that dates and categories are converted to numbers.", + "role": "info", + "valType": "number" + }, + "yanchor": { + "description": "Sets the annotation'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 whereas for paper-referenced, the anchor picked corresponds to the closest side.", + "dflt": "auto", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to an y axis id (e.g. *y* or *y2*), the `y` position refers to an 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).", + "role": "info", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?$/" + ] + } + }, + "autosize": { + "description": "Determines whether or not the dimensions of the figure are computed as a function of the display size.", + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "initial" + ] + }, + "direction": { + "description": "For polar plots only. Sets the direction corresponding to positive angles.", + "role": "info", + "valType": "enumerated", + "values": [ + "clockwise", + "counterclockwise" + ] + }, + "dragmode": { + "description": "Determines the mode of drag interactions.", + "role": "info", + "valType": "enumerated", + "values": [ + "zoom", + "pan", + "orbit", + "turntable" + ] + }, + "font": { + "color": { + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "description": "Sets the global font. Note that fonts used in traces and other layout components inherit from the global font.", + "family": { + "dflt": "\"Open sans\", verdana, arial, sans-serif", + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "dflt": 12, + "min": 1, + "role": "style", + "valType": "number" + } + }, + "geo": { + "_isSubplotObj": true, + "bgcolor": { + "description": "Set the background color of the map", + "dflt": "#fff", + "role": "style", + "valType": "color" + }, + "coastlinecolor": { + "description": "Sets the coastline color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "coastlinewidth": { + "description": "Sets the coastline stroke width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "countrycolor": { + "description": "Sets line color of the country boundaries.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "countrywidth": { + "description": "Sets line width (in px) of the country boundaries.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "domain": { + "role": "object", + "x": { + "description": "Sets the horizontal domain of this map (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "items": [ + { + "max": 1, + "min": 0, + "valType": "number" + }, + { + "max": 1, + "min": 0, + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "y": { + "description": "Sets the vertical domain of this map (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "items": [ + { + "max": 1, + "min": 0, + "valType": "number" + }, + { + "max": 1, + "min": 0, + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + } + }, + "framecolor": { + "description": "Sets the color the frame.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "framewidth": { + "description": "Sets the stroke width (in px) of the frame.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "lakecolor": { + "description": "Sets the color of the lakes.", + "dflt": "#3399FF", + "role": "style", + "valType": "color" + }, + "landcolor": { + "description": "Sets the land mass color.", + "dflt": "#F0DC82", + "role": "style", + "valType": "color" + }, + "lataxis": { + "dtick": { + "description": "Sets the graticule's longitude/latitude tick step.", + "role": "info", + "valType": "number" + }, + "gridcolor": { + "description": "Sets the graticule's stroke color.", + "dflt": "#eee", + "role": "style", + "valType": "color" + }, + "gridwidth": { + "description": "Sets the graticule's stroke width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "range": { + "description": "Sets the range of this axis (in degrees).", + "items": [ + { + "valType": "number" + }, + { + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "role": "object", + "showgrid": { + "description": "Sets whether or not graticule are shown on the map.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "tick0": { + "description": "Sets the graticule's starting tick longitude/latitude.", + "role": "info", + "valType": "number" + } + }, + "lonaxis": { + "dtick": { + "description": "Sets the graticule's longitude/latitude tick step.", + "role": "info", + "valType": "number" + }, + "gridcolor": { + "description": "Sets the graticule's stroke color.", + "dflt": "#eee", + "role": "style", + "valType": "color" + }, + "gridwidth": { + "description": "Sets the graticule's stroke width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "range": { + "description": "Sets the range of this axis (in degrees).", + "items": [ + { + "valType": "number" + }, + { + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "role": "object", + "showgrid": { + "description": "Sets whether or not graticule are shown on the map.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "tick0": { + "description": "Sets the graticule's starting tick longitude/latitude.", + "role": "info", + "valType": "number" + } + }, + "oceancolor": { + "description": "Sets the ocean color", + "dflt": "#3399FF", + "role": "style", + "valType": "color" + }, + "projection": { + "parallels": { + "description": "For conic projection types only. Sets the parallels (tangent, secant) where the cone intersects the sphere.", + "items": [ + { + "valType": "number" + }, + { + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "role": "object", + "rotation": { + "lat": { + "description": "Rotates the map along meridians (in degrees North).", + "role": "info", + "valType": "number" + }, + "lon": { + "description": "Rotates the map along parallels (in degrees East).", + "role": "info", + "valType": "number" + }, + "role": "object", + "roll": { + "description": "Roll the map (in degrees) For example, a roll of *180* makes the map appear upside down.", + "role": "info", + "valType": "number" + } + }, + "scale": { + "description": "Zooms in or out on the map view.", + "dflt": 1, + "max": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "type": { + "description": "Sets the projection type.", + "role": "info", + "valType": "enumerated", + "values": [ + "equirectangular", + "mercator", + "orthographic", + "natural earth", + "kavrayskiy7", + "miller", + "robinson", + "eckert4", + "azimuthal equal area", + "azimuthal equidistant", + "conic equal area", + "conic conformal", + "conic equidistant", + "gnomonic", + "stereographic", + "mollweide", + "hammer", + "transverse mercator", + "albers usa" + ] + } + }, + "resolution": { + "coerceNumber": true, + "description": "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.", + "dflt": 110, + "role": "info", + "valType": "enumerated", + "values": [ + 110, + 50 + ] + }, + "rivercolor": { + "description": "Sets color of the rivers.", + "dflt": "#3399FF", + "role": "style", + "valType": "color" + }, + "riverwidth": { + "description": "Sets the stroke width (in px) of the rivers.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "scope": { + "description": "Set the scope of the map.", + "dflt": "world", + "role": "info", + "valType": "enumerated", + "values": [ + "world", + "usa", + "europe", + "asia", + "africa", + "north america", + "south america" + ] + }, + "showcoastlines": { + "description": "Sets whether or not the coastlines are drawn.", + "role": "info", + "valType": "boolean" + }, + "showcountries": { + "description": "Sets whether or not country boundaries are drawn.", + "role": "info", + "valType": "boolean" + }, + "showframe": { + "description": "Sets whether or not a frame is drawn around the map.", + "role": "info", + "valType": "boolean" + }, + "showlakes": { + "description": "Sets whether or not lakes are drawn.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "showland": { + "description": "Sets whether or not land masses are filled in color.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "showocean": { + "description": "Sets whether or not oceans are filled in color.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "showrivers": { + "description": "Sets whether or not rivers are drawn.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "showsubunits": { + "description": "Sets whether or not boundaries of subunits within countries (e.g. states, provinces) are drawn.", + "role": "info", + "valType": "boolean" + }, + "subunitcolor": { + "description": "Sets the color of the subunits boundaries.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "subunitwidth": { + "description": "Sets the stroke width (in px) of the subunits boundaries.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "height": { + "description": "Sets the plot's height (in px).", + "dflt": 450, + "min": 10, + "role": "info", + "valType": "number" + }, + "hidesources": { + "description": "Determines whether or not a text link citing the data source is placed at the bottom-right cored of the figure. Has only an effect only on graphs that have been generated via forked graphs from the plotly cloud.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "hovermode": { + "description": "Determines the mode of hover interactions.", + "role": "info", + "valType": "enumerated", + "values": [ + "x", + "y", + "closest", + false + ] + }, + "legend": { + "bgcolor": { + "description": "Sets the legend background color.", + "role": "style", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the color of the border enclosing the legend.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) of the border enclosing the legend.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "font": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the font used to text the legend items.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "role": "object", + "tracegroupgap": { + "description": "Sets the amount of vertical space (in px) between legend groups.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "traceorder": { + "description": "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*.", + "extras": [ + "normal" + ], + "flags": [ + "reversed", + "grouped" + ], + "role": "style", + "valType": "flaglist" + }, + "x": { + "description": "Sets the x position (in normalized coordinates) of the legend.", + "dflt": 1.02, + "max": 3, + "min": -2, + "role": "style", + "valType": "number" + }, + "xanchor": { + "description": "Sets the legend's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the legend.", + "dflt": "left", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "left", + "center", + "right" + ] + }, + "y": { + "description": "Sets the y position (in normalized coordinates) of the legend.", + "dflt": 1, + "max": 3, + "min": -2, + "role": "style", + "valType": "number" + }, + "yanchor": { + "description": "Sets the legend's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the legend.", + "dflt": "auto", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "top", + "middle", + "bottom" + ] + } + }, + "margin": { + "autoexpand": { + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "b": { + "description": "Sets the bottom margin (in px).", + "dflt": 80, + "min": 0, + "role": "info", + "valType": "number" + }, + "l": { + "description": "Sets the left margin (in px).", + "dflt": 80, + "min": 0, + "role": "info", + "valType": "number" + }, + "pad": { + "description": "Sets the amount of padding (in px) between the plotting area and the axis lines", + "dflt": 0, + "min": 0, + "role": "info", + "valType": "number" + }, + "r": { + "description": "Sets the right margin (in px).", + "dflt": 80, + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "t": { + "description": "Sets the top margin (in px).", + "dflt": 100, + "min": 0, + "role": "info", + "valType": "number" + } + }, + "orientation": { + "description": "For polar plots only. Rotates the entire polar by the given angle.", + "role": "info", + "valType": "angle" + }, + "paper_bgcolor": { + "description": "Sets the color of paper where the graph is drawn.", + "dflt": "#fff", + "role": "style", + "valType": "color" + }, + "plot_bgcolor": { + "description": "Sets the color of plotting area in-between x and y axes.", + "dflt": "#fff", + "role": "style", + "valType": "color" + }, + "radialaxis": { + "domain": { + "description": "Polar chart subplots are not supported yet. This key has currently no effect.", + "dflt": [ + 0, + 1 + ], + "items": [ + { + "max": 1, + "min": 0, + "valType": "number" + }, + { + "max": 1, + "min": 0, + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "endpadding": { + "role": "style", + "valType": "number" + }, + "orientation": { + "description": "Sets the orientation (an angle with respect to the origin) of the radial axis.", + "role": "style", + "valType": "number" + }, + "range": { + "description": "Defines the start and end point of this radial axis.", + "items": [ + { + "valType": "number" + }, + { + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "role": "object", + "showline": { + "description": "Determines whether or not the line bounding this radial axis will be shown on the figure.", + "role": "style", + "valType": "boolean" + }, + "showticklabels": { + "description": "Determines whether or not the radial axis ticks will feature tick labels.", + "role": "style", + "valType": "boolean" + }, + "tickcolor": { + "description": "Sets the color of the tick lines on this radial axis.", + "role": "style", + "valType": "color" + }, + "ticklen": { + "description": "Sets the length of the tick lines on this radial axis.", + "min": 0, + "role": "style", + "valType": "number" + }, + "tickorientation": { + "description": "Sets the orientation (from the paper perspective) of the radial axis tick labels.", + "role": "style", + "valType": "enumerated", + "values": [ + "horizontal", + "vertical" + ] + }, + "ticksuffix": { + "description": "Sets the length of the tick lines on this radial axis.", + "role": "style", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this axis will be visible.", + "role": "info", + "valType": "boolean" + } + }, + "scene": { + "_deprecated": { + "cameraposition": { + "description": "Obsolete. Use `camera` instead.", + "role": "info", + "valType": "info_array" + } + }, + "_isSubplotObj": true, + "aspectmode": { + "description": "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.", + "dflt": "auto", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "cube", + "data", + "manual" + ] + }, + "aspectratio": { + "description": "Sets this scene's axis aspectratio.", + "role": "object", + "x": { + "min": 0, + "role": "info", + "valType": "number" + }, + "y": { + "min": 0, + "role": "info", + "valType": "number" + }, + "z": { + "min": 0, + "role": "info", + "valType": "number" + } + }, + "bgcolor": { + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "camera": { + "center": { + "description": "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.", + "role": "object", + "x": { + "dflt": 0, + "role": "info", + "valType": "number" + }, + "y": { + "dflt": 0, + "role": "info", + "valType": "number" + }, + "z": { + "dflt": 0, + "role": "info", + "valType": "number" + } + }, + "eye": { + "description": "Sets the (x,y,z) components of the 'eye' camera vector. This vector determines the view point about the origin of this scene.", + "role": "object", + "x": { + "dflt": 1.25, + "role": "info", + "valType": "number" + }, + "y": { + "dflt": 1.25, + "role": "info", + "valType": "number" + }, + "z": { + "dflt": 1.25, + "role": "info", + "valType": "number" + } + }, + "role": "object", + "up": { + "description": "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.", + "role": "object", + "x": { + "dflt": 0, + "role": "info", + "valType": "number" + }, + "y": { + "dflt": 0, + "role": "info", + "valType": "number" + }, + "z": { + "dflt": 1, + "role": "info", + "valType": "number" + } + } + }, + "domain": { + "role": "object", + "x": { + "description": "Sets the horizontal domain of this scene (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "items": [ + { + "max": 1, + "min": 0, + "valType": "number" + }, + { + "max": 1, + "min": 0, + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "y": { + "description": "Sets the vertical domain of this scene (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "items": [ + { + "max": 1, + "min": 0, + "valType": "number" + }, + { + "max": 1, + "min": 0, + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + } + }, + "role": "object", + "xaxis": { + "autorange": { + "description": "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, then `autorange` is set to *false*.", + "dflt": true, + "role": "style", + "valType": "enumerated", + "values": [ + true, + false, + "reversed" + ] + }, + "backgroundcolor": { + "description": "Sets the background color of this axis' wall.", + "dflt": "rgba(204, 204, 204, 0.5)", + "role": "style", + "valType": "color" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "fixedrange": { + "description": "Determines whether or not this axis is zoom-able. If true, then zoom is disabled.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "gridcolor": { + "description": "Sets the color of the grid lines.", + "dflt": "rgb(204, 204, 204)", + "role": "style", + "valType": "color" + }, + "gridwidth": { + "description": "Sets the width (in px) of the grid lines.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "hoverformat": { + "description": "Sets the hover text formatting rule for data values on this axis, using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "linecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "linewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "mirror": { + "description": "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.", + "dflt": false, + "role": "style", + "valType": "enumerated", + "values": [ + true, + "ticks", + false, + "all", + "allticks" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "range": { + "description": "Sets the range of this axis.", + "items": [ + { + "valType": "number" + }, + { + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "rangemode": { + "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.", + "dflt": "normal", + "role": "style", + "valType": "enumerated", + "values": [ + "normal", + "tozero", + "nonnegative" + ] + }, + "role": "object", + "showaxeslabels": { + "description": "Sets whether or not this axis is labeled", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "showbackground": { + "description": "Sets whether or not this axis' wall has a background color.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showgrid": { + "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.", + "role": "style", + "valType": "boolean" + }, + "showline": { + "description": [ + "Determines whether or not a line bounding this axis is drawn." + ], + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "showspikes": { + "description": "Sets whether or not spikes starting from data points to this axis' wall are shown on hover.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "spikecolor": { + "description": "Sets the color of the spikes.", + "dflt": "rgb(0,0,0)", + "role": "style", + "valType": "color" + }, + "spikesides": { + "description": "Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "spikethickness": { + "description": "Sets the thickness (in px) of the spikes.", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of this axis.", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this axis' title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "type": { + "description": "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.", + "dflt": "-", + "role": "info", + "valType": "enumerated", + "values": [ + "-", + "linear", + "log", + "date", + "category" + ] + }, + "zeroline": { + "description": "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.", + "role": "style", + "valType": "boolean" + }, + "zerolinecolor": { + "description": "Sets the line color of the zero line.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "zerolinewidth": { + "description": "Sets the width (in px) of the zero line.", + "dflt": 1, + "role": "style", + "valType": "number" + } + }, + "yaxis": { + "autorange": { + "description": "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, then `autorange` is set to *false*.", + "dflt": true, + "role": "style", + "valType": "enumerated", + "values": [ + true, + false, + "reversed" + ] + }, + "backgroundcolor": { + "description": "Sets the background color of this axis' wall.", + "dflt": "rgba(204, 204, 204, 0.5)", + "role": "style", + "valType": "color" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "fixedrange": { + "description": "Determines whether or not this axis is zoom-able. If true, then zoom is disabled.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "gridcolor": { + "description": "Sets the color of the grid lines.", + "dflt": "rgb(204, 204, 204)", + "role": "style", + "valType": "color" + }, + "gridwidth": { + "description": "Sets the width (in px) of the grid lines.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "hoverformat": { + "description": "Sets the hover text formatting rule for data values on this axis, using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "linecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "linewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "mirror": { + "description": "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.", + "dflt": false, + "role": "style", + "valType": "enumerated", + "values": [ + true, + "ticks", + false, + "all", + "allticks" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "range": { + "description": "Sets the range of this axis.", + "items": [ + { + "valType": "number" + }, + { + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "rangemode": { + "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.", + "dflt": "normal", + "role": "style", + "valType": "enumerated", + "values": [ + "normal", + "tozero", + "nonnegative" + ] + }, + "role": "object", + "showaxeslabels": { + "description": "Sets whether or not this axis is labeled", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "showbackground": { + "description": "Sets whether or not this axis' wall has a background color.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showgrid": { + "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.", + "role": "style", + "valType": "boolean" + }, + "showline": { + "description": [ + "Determines whether or not a line bounding this axis is drawn." + ], + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "showspikes": { + "description": "Sets whether or not spikes starting from data points to this axis' wall are shown on hover.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "spikecolor": { + "description": "Sets the color of the spikes.", + "dflt": "rgb(0,0,0)", + "role": "style", + "valType": "color" + }, + "spikesides": { + "description": "Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "spikethickness": { + "description": "Sets the thickness (in px) of the spikes.", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of this axis.", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this axis' title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "type": { + "description": "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.", + "dflt": "-", + "role": "info", + "valType": "enumerated", + "values": [ + "-", + "linear", + "log", + "date", + "category" + ] + }, + "zeroline": { + "description": "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.", + "role": "style", + "valType": "boolean" + }, + "zerolinecolor": { + "description": "Sets the line color of the zero line.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "zerolinewidth": { + "description": "Sets the width (in px) of the zero line.", + "dflt": 1, + "role": "style", + "valType": "number" + } + }, + "zaxis": { + "autorange": { + "description": "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, then `autorange` is set to *false*.", + "dflt": true, + "role": "style", + "valType": "enumerated", + "values": [ + true, + false, + "reversed" + ] + }, + "backgroundcolor": { + "description": "Sets the background color of this axis' wall.", + "dflt": "rgba(204, 204, 204, 0.5)", + "role": "style", + "valType": "color" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "fixedrange": { + "description": "Determines whether or not this axis is zoom-able. If true, then zoom is disabled.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "gridcolor": { + "description": "Sets the color of the grid lines.", + "dflt": "rgb(204, 204, 204)", + "role": "style", + "valType": "color" + }, + "gridwidth": { + "description": "Sets the width (in px) of the grid lines.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "hoverformat": { + "description": "Sets the hover text formatting rule for data values on this axis, using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "linecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "linewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "mirror": { + "description": "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.", + "dflt": false, + "role": "style", + "valType": "enumerated", + "values": [ + true, + "ticks", + false, + "all", + "allticks" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "range": { + "description": "Sets the range of this axis.", + "items": [ + { + "valType": "number" + }, + { + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "rangemode": { + "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.", + "dflt": "normal", + "role": "style", + "valType": "enumerated", + "values": [ + "normal", + "tozero", + "nonnegative" + ] + }, + "role": "object", + "showaxeslabels": { + "description": "Sets whether or not this axis is labeled", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "showbackground": { + "description": "Sets whether or not this axis' wall has a background color.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showgrid": { + "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.", + "role": "style", + "valType": "boolean" + }, + "showline": { + "description": [ + "Determines whether or not a line bounding this axis is drawn." + ], + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "showspikes": { + "description": "Sets whether or not spikes starting from data points to this axis' wall are shown on hover.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "spikecolor": { + "description": "Sets the color of the spikes.", + "dflt": "rgb(0,0,0)", + "role": "style", + "valType": "color" + }, + "spikesides": { + "description": "Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "spikethickness": { + "description": "Sets the thickness (in px) of the spikes.", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of this axis.", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this axis' title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "type": { + "description": "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.", + "dflt": "-", + "role": "info", + "valType": "enumerated", + "values": [ + "-", + "linear", + "log", + "date", + "category" + ] + }, + "zeroline": { + "description": "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.", + "role": "style", + "valType": "boolean" + }, + "zerolinecolor": { + "description": "Sets the line color of the zero line.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "zerolinewidth": { + "description": "Sets the width (in px) of the zero line.", + "dflt": 1, + "role": "style", + "valType": "number" + } + } + }, + "separators": { + "description": "Sets the decimal and thousand separators. For example, *. * puts a '.' before decimals and a space between thousands.", + "dflt": ".,", + "role": "style", + "valType": "string" + }, + "shapes": { + "_isLinkedToArray": true, + "fillcolor": { + "description": "Sets the color filling the shape's interior.", + "dflt": "rgba(0,0,0,0)", + "role": "info", + "valType": "color" + }, + "line": { + "color": { + "description": "Sets the line color.", + "role": "style", + "valType": "color" + }, + "dash": { + "description": "Sets the style of the lines.", + "dflt": "solid", + "role": "style", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] + }, + "role": "object", + "width": { + "description": "Sets the line width (in px).", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "opacity": { + "description": "Sets the opacity of the shape.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "info", + "valType": "number" + }, + "path": { + "dflt": "For `type` *path* - a valid SVG path but with the pixel values replaced by data values. 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", + "role": "info", + "valType": "string" + }, + "role": "object", + "type": { + "description": "Specifies the shape type to be drawn. If *line*, a line is drawn from (`x0`,`y0`) to (`x1`,`y1`) If *circle*, a circle is drawn from ((`x0`+`x1`)/2, (`y0`+`y1`)/2)) with radius (|(`x0`+`x1`)/2 - `x0`|, |(`y0`+`y1`)/2 -`y0`)|) If *rect*, a rectangle is drawn linking (`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`), (`x0`,`y1`), (`x0`,`y0`) If *path*, draw a custom SVG path using `path`.", + "role": "info", + "valType": "enumerated", + "values": [ + "circle", + "rect", + "path", + "line" + ] + }, + "x0": { + "description": "Sets the shape's starting x position. See `type` for more info.", + "role": "info", + "valType": "any" + }, + "x1": { + "description": "Sets the shape's end x position. See `type` for more info.", + "role": "info", + "valType": "any" + }, + "xref": { + "description": "Sets the shape's x coordinate axis. If set to an x axis id (e.g. *x* or *x2*), the `x` position refers to an x coordinate If set to *paper*, the `x` position refers to the distance from the left side of the plotting area in normalized coordinates where *0* (*1*) corresponds to the left (right) side.", + "role": "info", + "valType": "enumerated", + "values": [ + "paper", + "/^x([2-9]|[1-9][0-9]+)?$/" + ] + }, + "y0": { + "description": "Sets the shape's starting y position. See `type` for more info.", + "role": "info", + "valType": "any" + }, + "y1": { + "description": "Sets the shape's end y position. See `type` for more info.", + "role": "info", + "valType": "any" + }, + "yref": { + "description": "Sets the annotation's y coordinate axis. If set to an y axis id (e.g. *y* or *y2*), the `y` position refers to an 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).", + "role": "info", + "valType": "enumerated", + "values": [ + "paper", + "/^y([2-9]|[1-9][0-9]+)?$/" + ] + } + }, + "showlegend": { + "description": "Determines whether or not a legend is drawn.", + "role": "info", + "valType": "boolean" + }, + "smith": { + "dflt": false, + "role": "info", + "valType": "enumerated", + "values": [ + false + ] + }, + "title": { + "description": "Sets the plot's title.", + "dflt": "Click to enter Plot title", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "width": { + "description": "Sets the plot's width (in px).", + "dflt": 700, + "min": 10, + "role": "info", + "valType": "number" + }, + "xaxis": { + "_deprecated": { + "autotick": { + "description": "Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*.", + "role": "info", + "valType": "boolean" + } + }, + "_isSubplotObj": true, + "anchor": { + "description": "If set to an opposite-letter axis id (e.g. `xaxis2`, `yaxis`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.", + "role": "info", + "valType": "enumerated", + "values": [ + "free", + "/^x([2-9]|[1-9][0-9]+)?$/", + "/^y([2-9]|[1-9][0-9]+)?$/" + ] + }, + "autorange": { + "description": "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, then `autorange` is set to *false*.", + "dflt": true, + "role": "style", + "valType": "enumerated", + "values": [ + true, + false, + "reversed" + ] + }, + "domain": { + "description": "Sets the domain of this axis (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "items": [ + { + "max": 1, + "min": 0, + "valType": "number" + }, + { + "max": 1, + "min": 0, + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "fixedrange": { + "description": "Determines whether or not this axis is zoom-able. If true, then zoom is disabled.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "gridcolor": { + "description": "Sets the color of the grid lines.", + "dflt": "#eee", + "role": "style", + "valType": "color" + }, + "gridwidth": { + "description": "Sets the width (in px) of the grid lines.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "hoverformat": { + "description": "Sets the hover text formatting rule for data values on this axis, using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "linecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "linewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "mirror": { + "description": "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.", + "dflt": false, + "role": "style", + "valType": "enumerated", + "values": [ + true, + "ticks", + false, + "all", + "allticks" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "overlaying": { + "description": "If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis. If *false*, this axis does not overlay any same-letter axes.", + "role": "info", + "valType": "enumerated", + "values": [ + "free", + "/^x([2-9]|[1-9][0-9]+)?$/", + "/^y([2-9]|[1-9][0-9]+)?$/" + ] + }, + "position": { + "description": "Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*.", + "dflt": 0, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "range": { + "description": "Sets the range of this axis.", + "items": [ + { + "valType": "number" + }, + { + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "rangemode": { + "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.", + "dflt": "normal", + "role": "style", + "valType": "enumerated", + "values": [ + "normal", + "tozero", + "nonnegative" + ] + }, + "role": "object", + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showgrid": { + "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.", + "role": "style", + "valType": "boolean" + }, + "showline": { + "description": [ + "Determines whether or not a line bounding this axis is drawn." + ], + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "side": { + "description": "Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area.", + "role": "info", + "valType": "enumerated", + "values": [ + "top", + "bottom", + "left", + "right" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of this axis.", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this axis' title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "type": { + "description": "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.", + "dflt": "-", + "role": "info", + "valType": "enumerated", + "values": [ + "-", + "linear", + "log", + "date", + "category" + ] + }, + "zeroline": { + "description": "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.", + "role": "style", + "valType": "boolean" + }, + "zerolinecolor": { + "description": "Sets the line color of the zero line.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "zerolinewidth": { + "description": "Sets the width (in px) of the zero line.", + "dflt": 1, + "role": "style", + "valType": "number" + } + }, + "yaxis": { + "_deprecated": { + "autotick": { + "description": "Obsolete. Set `tickmode` to *auto* for old `autotick` *true* behavior. Set `tickmode` to *linear* for `autotick` *false*.", + "role": "info", + "valType": "boolean" + } + }, + "_isSubplotObj": true, + "anchor": { + "description": "If set to an opposite-letter axis id (e.g. `xaxis2`, `yaxis`), this axis is bound to the corresponding opposite-letter axis. If set to *free*, this axis' position is determined by `position`.", + "role": "info", + "valType": "enumerated", + "values": [ + "free", + "/^x([2-9]|[1-9][0-9]+)?$/", + "/^y([2-9]|[1-9][0-9]+)?$/" + ] + }, + "autorange": { + "description": "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, then `autorange` is set to *false*.", + "dflt": true, + "role": "style", + "valType": "enumerated", + "values": [ + true, + false, + "reversed" + ] + }, + "domain": { + "description": "Sets the domain of this axis (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "items": [ + { + "max": 1, + "min": 0, + "valType": "number" + }, + { + "max": 1, + "min": 0, + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "fixedrange": { + "description": "Determines whether or not this axis is zoom-able. If true, then zoom is disabled.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "gridcolor": { + "description": "Sets the color of the grid lines.", + "dflt": "#eee", + "role": "style", + "valType": "color" + }, + "gridwidth": { + "description": "Sets the width (in px) of the grid lines.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "hoverformat": { + "description": "Sets the hover text formatting rule for data values on this axis, using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "linecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "linewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "mirror": { + "description": "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.", + "dflt": false, + "role": "style", + "valType": "enumerated", + "values": [ + true, + "ticks", + false, + "all", + "allticks" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "overlaying": { + "description": "If set a same-letter axis id, this axis is overlaid on top of the corresponding same-letter axis. If *false*, this axis does not overlay any same-letter axes.", + "role": "info", + "valType": "enumerated", + "values": [ + "free", + "/^x([2-9]|[1-9][0-9]+)?$/", + "/^y([2-9]|[1-9][0-9]+)?$/" + ] + }, + "position": { + "description": "Sets the position of this axis in the plotting space (in normalized coordinates). Only has an effect if `anchor` is set to *free*.", + "dflt": 0, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "range": { + "description": "Sets the range of this axis.", + "items": [ + { + "valType": "number" + }, + { + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "rangemode": { + "description": "If *normal*, the range is computed in relation to the extrema of the input data. If *tozero*`, the range extends to 0, regardless of the input data If *nonnegative*, the range is non-negative, regardless of the input data.", + "dflt": "normal", + "role": "style", + "valType": "enumerated", + "values": [ + "normal", + "tozero", + "nonnegative" + ] + }, + "role": "object", + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showgrid": { + "description": "Determines whether or not grid lines are drawn. If *true*, the grid lines are drawn at every tick mark.", + "role": "style", + "valType": "boolean" + }, + "showline": { + "description": [ + "Determines whether or not a line bounding this axis is drawn." + ], + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "side": { + "description": "Determines whether a x (y) axis is positioned at the *bottom* (*left*) or *top* (*right*) of the plotting area.", + "role": "info", + "valType": "enumerated", + "values": [ + "top", + "bottom", + "left", + "right" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of this axis.", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this axis' title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "type": { + "description": "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.", + "dflt": "-", + "role": "info", + "valType": "enumerated", + "values": [ + "-", + "linear", + "log", + "date", + "category" + ] + }, + "zeroline": { + "description": "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.", + "role": "style", + "valType": "boolean" + }, + "zerolinecolor": { + "description": "Sets the line color of the zero line.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "zerolinewidth": { + "description": "Sets the width (in px) of the zero line.", + "dflt": 1, + "role": "style", + "valType": "number" + } + } + } + }, + "traces": { + "area": { + "attributes": { + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "marker": { + "color": { + "arrayOk": true, + "description": "Sets the marker color.", + "role": "style", + "valType": "color" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "opacity": { + "arrayOk": true, + "description": "Sets the marker opacity.", + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "opacitysrc": { + "description": "Sets the source reference on plot.ly for opacity .", + "role": "info", + "valType": "string" + }, + "role": "object", + "size": { + "arrayOk": true, + "description": "Sets the marker size (in px).", + "dflt": 6, + "min": 0, + "role": "style", + "valType": "number" + }, + "sizesrc": { + "description": "Sets the source reference on plot.ly for size .", + "role": "info", + "valType": "string" + }, + "symbol": { + "arrayOk": true, + "description": "Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.", + "dflt": "circle", + "role": "style", + "valType": "enumerated", + "values": [ + 0, + "circle", + 100, + "circle-open", + 200, + "circle-dot", + 300, + "circle-open-dot", + 1, + "square", + 101, + "square-open", + 201, + "square-dot", + 301, + "square-open-dot", + 2, + "diamond", + 102, + "diamond-open", + 202, + "diamond-dot", + 302, + "diamond-open-dot", + 3, + "cross", + 103, + "cross-open", + 203, + "cross-dot", + 303, + "cross-open-dot", + 4, + "x", + 104, + "x-open", + 204, + "x-dot", + 304, + "x-open-dot", + 5, + "triangle-up", + 105, + "triangle-up-open", + 205, + "triangle-up-dot", + 305, + "triangle-up-open-dot", + 6, + "triangle-down", + 106, + "triangle-down-open", + 206, + "triangle-down-dot", + 306, + "triangle-down-open-dot", + 7, + "triangle-left", + 107, + "triangle-left-open", + 207, + "triangle-left-dot", + 307, + "triangle-left-open-dot", + 8, + "triangle-right", + 108, + "triangle-right-open", + 208, + "triangle-right-dot", + 308, + "triangle-right-open-dot", + 9, + "triangle-ne", + 109, + "triangle-ne-open", + 209, + "triangle-ne-dot", + 309, + "triangle-ne-open-dot", + 10, + "triangle-se", + 110, + "triangle-se-open", + 210, + "triangle-se-dot", + 310, + "triangle-se-open-dot", + 11, + "triangle-sw", + 111, + "triangle-sw-open", + 211, + "triangle-sw-dot", + 311, + "triangle-sw-open-dot", + 12, + "triangle-nw", + 112, + "triangle-nw-open", + 212, + "triangle-nw-dot", + 312, + "triangle-nw-open-dot", + 13, + "pentagon", + 113, + "pentagon-open", + 213, + "pentagon-dot", + 313, + "pentagon-open-dot", + 14, + "hexagon", + 114, + "hexagon-open", + 214, + "hexagon-dot", + 314, + "hexagon-open-dot", + 15, + "hexagon2", + 115, + "hexagon2-open", + 215, + "hexagon2-dot", + 315, + "hexagon2-open-dot", + 16, + "octagon", + 116, + "octagon-open", + 216, + "octagon-dot", + 316, + "octagon-open-dot", + 17, + "star", + 117, + "star-open", + 217, + "star-dot", + 317, + "star-open-dot", + 18, + "hexagram", + 118, + "hexagram-open", + 218, + "hexagram-dot", + 318, + "hexagram-open-dot", + 19, + "star-triangle-up", + 119, + "star-triangle-up-open", + 219, + "star-triangle-up-dot", + 319, + "star-triangle-up-open-dot", + 20, + "star-triangle-down", + 120, + "star-triangle-down-open", + 220, + "star-triangle-down-dot", + 320, + "star-triangle-down-open-dot", + 21, + "star-square", + 121, + "star-square-open", + 221, + "star-square-dot", + 321, + "star-square-open-dot", + 22, + "star-diamond", + 122, + "star-diamond-open", + 222, + "star-diamond-dot", + 322, + "star-diamond-open-dot", + 23, + "diamond-tall", + 123, + "diamond-tall-open", + 223, + "diamond-tall-dot", + 323, + "diamond-tall-open-dot", + 24, + "diamond-wide", + 124, + "diamond-wide-open", + 224, + "diamond-wide-dot", + 324, + "diamond-wide-open-dot", + 25, + "hourglass", + 125, + "hourglass-open", + 26, + "bowtie", + 126, + "bowtie-open", + 27, + "circle-cross", + 127, + "circle-cross-open", + 28, + "circle-x", + 128, + "circle-x-open", + 29, + "square-cross", + 129, + "square-cross-open", + 30, + "square-x", + 130, + "square-x-open", + 31, + "diamond-cross", + 131, + "diamond-cross-open", + 32, + "diamond-x", + 132, + "diamond-x-open", + 33, + "cross-thin", + 133, + "cross-thin-open", + 34, + "x-thin", + 134, + "x-thin-open", + 35, + "asterisk", + 135, + "asterisk-open", + 36, + "hash", + 136, + "hash-open", + 236, + "hash-dot", + 336, + "hash-open-dot", + 37, + "y-up", + 137, + "y-up-open", + 38, + "y-down", + 138, + "y-down-open", + 39, + "y-left", + 139, + "y-left-open", + 40, + "y-right", + 140, + "y-right-open", + 41, + "line-ew", + 141, + "line-ew-open", + 42, + "line-ns", + 142, + "line-ns-open", + 43, + "line-ne", + 143, + "line-ne-open", + 44, + "line-nw", + 144, + "line-nw-open" + ] + }, + "symbolsrc": { + "description": "Sets the source reference on plot.ly for symbol .", + "role": "info", + "valType": "string" + } + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "r": { + "description": "For polar chart only.Sets the radial coordinates.", + "role": "data", + "valType": "data_array" + }, + "rsrc": { + "description": "Sets the source reference on plot.ly for r .", + "role": "info", + "valType": "string" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "t": { + "description": "For polar chart only.Sets the angular coordinates.", + "role": "data", + "valType": "data_array" + }, + "tsrc": { + "description": "Sets the source reference on plot.ly for t .", + "role": "info", + "valType": "string" + }, + "type": "area", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + } + } + }, + "bar": { + "attributes": { + "_deprecated": { + "bardir": { + "description": "Renamed to `orientation`.", + "role": "info", + "valType": "enumerated", + "values": [ + "v", + "h" + ] + } + }, + "dx": { + "description": "Sets the x coordinate step. See `x0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "dy": { + "description": "Sets the y coordinate step. See `y0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "error_x": { + "_deprecated": { + "opacity": { + "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", + "role": "style", + "valType": "number" + } + }, + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminussrc": { + "description": "Sets the source reference on plot.ly for arrayminus .", + "role": "info", + "valType": "string" + }, + "arraysrc": { + "description": "Sets the source reference on plot.ly for array .", + "role": "info", + "valType": "string" + }, + "color": { + "description": "Sets the stoke color of the error bars.", + "role": "style", + "valType": "color" + }, + "copy_ystyle": { + "role": "style", + "valType": "boolean" + }, + "copy_zstyle": { + "role": "style", + "valType": "boolean" + }, + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", + "role": "info", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + }, + "traceref": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the sqaure of the underlying data. If *array*, the bar lengths are set with data set `array`.", + "role": "info", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "role": "info", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "min": 0, + "role": "style", + "valType": "number" + } + }, + "error_y": { + "_deprecated": { + "opacity": { + "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", + "role": "style", + "valType": "number" + } + }, + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminussrc": { + "description": "Sets the source reference on plot.ly for arrayminus .", + "role": "info", + "valType": "string" + }, + "arraysrc": { + "description": "Sets the source reference on plot.ly for array .", + "role": "info", + "valType": "string" + }, + "color": { + "description": "Sets the stoke color of the error bars.", + "role": "style", + "valType": "color" + }, + "copy_ystyle": { + "role": "style", + "valType": "boolean" + }, + "copy_zstyle": { + "role": "style", + "valType": "boolean" + }, + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", + "role": "info", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + }, + "traceref": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the sqaure of the underlying data. If *array*, the bar lengths are set with data set `array`.", + "role": "info", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "role": "info", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "min": 0, + "role": "style", + "valType": "number" + } + }, + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "marker": { + "autocolorscale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Determines whether or not the colorscale is picked using values inside `marker.color`.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cauto": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Determines the whether or not the color domain is computed automatically.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cmax": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Sets the upper bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "cmin": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Sets the lower bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "color": { + "arrayOk": true, + "description": "Sets the marker color.", + "role": "style", + "valType": "color" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "len": { + "description": "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.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "lenmode": { + "description": "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.", + "dflt": "fraction", + "role": "info", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "orient": { + "dflt": "right", + "role": "info", + "valType": "enumerated", + "values": [ + "left", + "right", + "top", + "bottom" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "min": 0, + "role": "style", + "valType": "number" + }, + "thicknessmode": { + "description": "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.", + "dflt": "pixels", + "role": "style", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of the color bar.", + "dflt": "Click to enter colorscale title", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "titleside": { + "dflt": "top", + "role": "style", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "x": { + "description": "Sets the x position of the color bar (in plot fraction).", + "dflt": 1.02, + "role": "style", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "dflt": "left", + "role": "style", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "y": { + "description": "Sets the y position of the color bar (in plot fraction).", + "dflt": 0.5, + "role": "style", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", + "dflt": "middle", + "role": "style", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "colorscale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "line": { + "autocolorscale": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cauto": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cmax": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the upper bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "cmin": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the lower bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "color": { + "arrayOk": true, + "description": "Sets the color of the lines bounding the marker points.", + "role": "style", + "valType": "color" + }, + "colorscale": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "reversescale": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "role": "object", + "width": { + "arrayOk": true, + "description": "Sets the width (in px) of the lines bounding the marker points.", + "min": 0, + "role": "style", + "valType": "number" + }, + "widthsrc": { + "description": "Sets the source reference on plot.ly for width .", + "role": "info", + "valType": "string" + } + }, + "reversescale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "role": "object", + "showscale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Determines whether or not a colorbar is displayed.", + "dflt": false, + "role": "info", + "valType": "boolean" + } + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "orientation": { + "description": "Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).", + "role": "info", + "valType": "enumerated", + "values": [ + "v", + "h" + ] + }, + "r": { + "description": "For polar chart only.Sets the radial coordinates.", + "role": "data", + "valType": "data_array" + }, + "rsrc": { + "description": "Sets the source reference on plot.ly for r .", + "role": "info", + "valType": "string" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "t": { + "description": "For polar chart only.Sets the angular coordinates.", + "role": "data", + "valType": "data_array" + }, + "text": { + "arrayOk": true, + "description": "Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "textsrc": { + "description": "Sets the source reference on plot.ly for text .", + "role": "info", + "valType": "string" + }, + "tsrc": { + "description": "Sets the source reference on plot.ly for t .", + "role": "info", + "valType": "string" + }, + "type": "bar", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "x": { + "description": "Sets the x coordinates.", + "role": "data", + "valType": "data_array" + }, + "x0": { + "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", + "dflt": 0, + "role": "info", + "valType": "any" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "role": "info", + "valType": "axisid" + }, + "xsrc": { + "description": "Sets the source reference on plot.ly for x .", + "role": "info", + "valType": "string" + }, + "y": { + "description": "Sets the y coordinates.", + "role": "data", + "valType": "data_array" + }, + "y0": { + "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", + "dflt": 0, + "role": "info", + "valType": "any" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "y", + "role": "info", + "valType": "axisid" + }, + "ysrc": { + "description": "Sets the source reference on plot.ly for y .", + "role": "info", + "valType": "string" + } + }, + "description": "The data visualized by the span of the bars is set in `y` if `orientation` is set th *v* (the default) and the labels are set in `x`. By setting `orientation` to *h*, the roles are interchanged.", + "layoutAttributes": { + "bargap": { + "description": "Sets the gap (in plot fraction) between bars of adjacent location coordinates.", + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "bargroupgap": { + "description": "Sets the gap (in plot fraction) between bars of the same location coordinate.", + "dflt": 0, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "barmode": { + "description": "Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars.", + "dflt": "group", + "role": "info", + "valType": "enumerated", + "values": [ + "stack", + "group", + "overlay" + ] + }, + "barnorm": { + "description": "Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divide by the sum of the values at the location coordinate. With *percent*, the results form *fraction* are presented in percents.", + "dflt": "", + "role": "info", + "valType": "enumerated", + "values": [ + "", + "fraction", + "percent" + ] + } + } + }, + "box": { + "attributes": { + "boxmean": { + "description": "If *true*, the mean of the box(es)' underlying distribution is drawn as a dashed line inside the box(es). If *sd* the standard deviation is also drawn.", + "dflt": false, + "role": "style", + "valType": "enumerated", + "values": [ + true, + "sd", + false + ] + }, + "boxpoints": { + "description": "If *outliers*, only the sample points lying outside the whiskers are shown If *suspectedoutliers*, the outlier points are shown and points either less than 4*Q1-3*Q3 or greater than 4*Q3-3*Q1 are highlighted (see `outliercolor`) If *all*, all sample points are shown If *false*, only the box(es) are shown with no sample points", + "dflt": "outliers", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "outliers", + "suspectedoutliers", + false + ] + }, + "fillcolor": { + "description": "Sets the fill color.", + "role": "style", + "valType": "color" + }, + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "jitter": { + "description": "Sets the amount of jitter in the sample points drawn. If *0*, the sample points align along the distribution axis. If *1*, the sample points are drawn in a random jitter of width equal to the width of the box(es).", + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "line": { + "color": { + "description": "Sets the color of line bounding the box(es).", + "role": "style", + "valType": "color" + }, + "role": "object", + "width": { + "description": "Sets the width (in px) of line bounding the box(es).", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "marker": { + "color": { + "arrayOk": false, + "description": "Sets the marker color.", + "role": "style", + "valType": "color" + }, + "line": { + "color": { + "arrayOk": false, + "description": "Sets the color of the lines bounding the marker points.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "outliercolor": { + "description": "Sets the border line color of the outlier sample points.", + "role": "style", + "valType": "color" + }, + "outlierwidth": { + "description": "Sets the border line width (in px) of the outlier sample points.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "width": { + "arrayOk": false, + "description": "Sets the width (in px) of the lines bounding the marker points.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "opacity": { + "arrayOk": false, + "description": "Sets the marker opacity.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "outliercolor": { + "description": "Sets the color of the outlier sample points.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "role": "object", + "size": { + "arrayOk": false, + "description": "Sets the marker size (in px).", + "dflt": 6, + "min": 0, + "role": "style", + "valType": "number" + }, + "symbol": { + "arrayOk": false, + "description": "Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.", + "dflt": "circle", + "role": "style", + "valType": "enumerated", + "values": [ + 0, + "circle", + 100, + "circle-open", + 200, + "circle-dot", + 300, + "circle-open-dot", + 1, + "square", + 101, + "square-open", + 201, + "square-dot", + 301, + "square-open-dot", + 2, + "diamond", + 102, + "diamond-open", + 202, + "diamond-dot", + 302, + "diamond-open-dot", + 3, + "cross", + 103, + "cross-open", + 203, + "cross-dot", + 303, + "cross-open-dot", + 4, + "x", + 104, + "x-open", + 204, + "x-dot", + 304, + "x-open-dot", + 5, + "triangle-up", + 105, + "triangle-up-open", + 205, + "triangle-up-dot", + 305, + "triangle-up-open-dot", + 6, + "triangle-down", + 106, + "triangle-down-open", + 206, + "triangle-down-dot", + 306, + "triangle-down-open-dot", + 7, + "triangle-left", + 107, + "triangle-left-open", + 207, + "triangle-left-dot", + 307, + "triangle-left-open-dot", + 8, + "triangle-right", + 108, + "triangle-right-open", + 208, + "triangle-right-dot", + 308, + "triangle-right-open-dot", + 9, + "triangle-ne", + 109, + "triangle-ne-open", + 209, + "triangle-ne-dot", + 309, + "triangle-ne-open-dot", + 10, + "triangle-se", + 110, + "triangle-se-open", + 210, + "triangle-se-dot", + 310, + "triangle-se-open-dot", + 11, + "triangle-sw", + 111, + "triangle-sw-open", + 211, + "triangle-sw-dot", + 311, + "triangle-sw-open-dot", + 12, + "triangle-nw", + 112, + "triangle-nw-open", + 212, + "triangle-nw-dot", + 312, + "triangle-nw-open-dot", + 13, + "pentagon", + 113, + "pentagon-open", + 213, + "pentagon-dot", + 313, + "pentagon-open-dot", + 14, + "hexagon", + 114, + "hexagon-open", + 214, + "hexagon-dot", + 314, + "hexagon-open-dot", + 15, + "hexagon2", + 115, + "hexagon2-open", + 215, + "hexagon2-dot", + 315, + "hexagon2-open-dot", + 16, + "octagon", + 116, + "octagon-open", + 216, + "octagon-dot", + 316, + "octagon-open-dot", + 17, + "star", + 117, + "star-open", + 217, + "star-dot", + 317, + "star-open-dot", + 18, + "hexagram", + 118, + "hexagram-open", + 218, + "hexagram-dot", + 318, + "hexagram-open-dot", + 19, + "star-triangle-up", + 119, + "star-triangle-up-open", + 219, + "star-triangle-up-dot", + 319, + "star-triangle-up-open-dot", + 20, + "star-triangle-down", + 120, + "star-triangle-down-open", + 220, + "star-triangle-down-dot", + 320, + "star-triangle-down-open-dot", + 21, + "star-square", + 121, + "star-square-open", + 221, + "star-square-dot", + 321, + "star-square-open-dot", + 22, + "star-diamond", + 122, + "star-diamond-open", + 222, + "star-diamond-dot", + 322, + "star-diamond-open-dot", + 23, + "diamond-tall", + 123, + "diamond-tall-open", + 223, + "diamond-tall-dot", + 323, + "diamond-tall-open-dot", + 24, + "diamond-wide", + 124, + "diamond-wide-open", + 224, + "diamond-wide-dot", + 324, + "diamond-wide-open-dot", + 25, + "hourglass", + 125, + "hourglass-open", + 26, + "bowtie", + 126, + "bowtie-open", + 27, + "circle-cross", + 127, + "circle-cross-open", + 28, + "circle-x", + 128, + "circle-x-open", + 29, + "square-cross", + 129, + "square-cross-open", + 30, + "square-x", + 130, + "square-x-open", + 31, + "diamond-cross", + 131, + "diamond-cross-open", + 32, + "diamond-x", + 132, + "diamond-x-open", + 33, + "cross-thin", + 133, + "cross-thin-open", + 34, + "x-thin", + 134, + "x-thin-open", + 35, + "asterisk", + 135, + "asterisk-open", + 36, + "hash", + 136, + "hash-open", + 236, + "hash-dot", + 336, + "hash-open-dot", + 37, + "y-up", + 137, + "y-up-open", + 38, + "y-down", + 138, + "y-down-open", + 39, + "y-left", + 139, + "y-left-open", + 40, + "y-right", + 140, + "y-right-open", + 41, + "line-ew", + 141, + "line-ew-open", + 42, + "line-ns", + 142, + "line-ns-open", + 43, + "line-ne", + 143, + "line-ne-open", + 44, + "line-nw", + 144, + "line-nw-open" + ] + } + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "orientation": { + "description": "Sets the orientation of the box(es). If *v* (*h*), the distribution is visualized along the vertical (horizontal).", + "role": "style", + "valType": "enumerated", + "values": [ + "v", + "h" + ] + }, + "pointpos": { + "description": "Sets the position of the sample points in relation to the box(es). If *0*, the sample points are places over the center of the box(es). Positive (negative) values correspond to positions to the right (left) for vertical boxes and above (below) for horizontal boxes", + "max": 2, + "min": -2, + "role": "style", + "valType": "number" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "type": "box", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "whiskerwidth": { + "description": "Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).", + "dflt": 0.5, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "x": { + "description": "Sets the x sample data or coordinates. See overview for more info.", + "role": "data", + "valType": "data_array" + }, + "x0": { + "description": "Sets the x coordinate of the box. See overview for more info.", + "role": "info", + "valType": "any" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "role": "info", + "valType": "axisid" + }, + "xsrc": { + "description": "Sets the source reference on plot.ly for x .", + "role": "info", + "valType": "string" + }, + "y": { + "description": "Sets the y sample data or coordinates. See overview for more info.", + "role": "data", + "valType": "data_array" + }, + "y0": { + "description": "Sets the y coordinate of the box. See overview for more info.", + "role": "info", + "valType": "any" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "y", + "role": "info", + "valType": "axisid" + }, + "ysrc": { + "description": "Sets the source reference on plot.ly for y .", + "role": "info", + "valType": "string" + } + }, + "description": "In vertical (horizontal) box plots, statistics are computed using `y` (`x`) values. By supplying an `x` (`y`) array, one box per distinct x (y) value is drawn If no `x` (`y`) {array} is provided, a single box is drawn. That box position is then positioned with with `name` or with `x0` (`y0`) if provided. Each box spans from quartile 1 (Q1) to quartile 3 (Q3). The second quartile (Q2) is marked by a line inside the box. By default, the whiskers correspond to the box' edges +/- 1.5 times the interquartile range (IQR = Q3-Q1), see *boxpoints* for other options.", + "layoutAttributes": { + "boxgap": { + "description": "Sets the gap (in plot fraction) between boxes of adjacent location coordinates.", + "dflt": 0.3, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "boxgroupgap": { + "description": "Sets the gap (in plot fraction) between boxes of the same location coordinate.", + "dflt": 0.3, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "boxmode": { + "description": "Determines how boxes at the same location coordinate are displayed on the graph. If *group*, the boxes are plotted next to one another centered around the shared location. If *overlay*, the boxes are plotted over one another, you might need to set *opacity* to see them multiple boxes.", + "dflt": "overlay", + "role": "info", + "valType": "enumerated", + "values": [ + "group", + "overlay" + ] + } + } + }, + "choropleth": { + "attributes": { + "autocolorscale": { + "description": "Determines whether or not the colorscale is picked using the sign of the input z values.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "len": { + "description": "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.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "lenmode": { + "description": "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.", + "dflt": "fraction", + "role": "info", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "orient": { + "dflt": "right", + "role": "info", + "valType": "enumerated", + "values": [ + "left", + "right", + "top", + "bottom" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "min": 0, + "role": "style", + "valType": "number" + }, + "thicknessmode": { + "description": "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.", + "dflt": "pixels", + "role": "style", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of the color bar.", + "dflt": "Click to enter colorscale title", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "titleside": { + "dflt": "top", + "role": "style", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "x": { + "description": "Sets the x position of the color bar (in plot fraction).", + "dflt": 1.02, + "role": "style", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "dflt": "left", + "role": "style", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "y": { + "description": "Sets the y position of the color bar (in plot fraction).", + "dflt": 0.5, + "role": "style", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", + "dflt": "middle", + "role": "style", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "colorscale": { + "description": "Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "geo": { + "description": "Sets a reference between this trace's geospatial coordinates and a geographic map. If *geo* (the default value), the geospatial coordinates refer to `layout.geo`. If *geo2*, the geospatial coordinates refer to `layout.geo2`, and so on.", + "dflt": "geo", + "role": "info", + "valType": "geoid" + }, + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "locationmode": { + "description": "Determines the set of locations used to match entries in `locations` to regions on the map.", + "dflt": "ISO-3", + "role": "info", + "valType": "enumerated", + "values": [ + "ISO-3", + "USA-states", + "country names" + ] + }, + "locations": { + "description": "Sets the coordinates via location IDs or names. See `locationmode` for more info.", + "role": "data", + "valType": "data_array" + }, + "locationssrc": { + "description": "Sets the source reference on plot.ly for locations .", + "role": "info", + "valType": "string" + }, + "marker": { + "line": { + "color": { + "arrayOk": true, + "description": "Sets the color of the lines bounding the marker points.", + "role": "style", + "valType": "color" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "role": "object", + "width": { + "arrayOk": true, + "description": "Sets the width (in px) of the lines bounding the marker points.", + "min": 0, + "role": "style", + "valType": "number" + }, + "widthsrc": { + "description": "Sets the source reference on plot.ly for width .", + "role": "info", + "valType": "string" + } + }, + "role": "object" + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "reversescale": { + "description": "Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "text": { + "description": "Sets the text elements associated with each location.", + "role": "data", + "valType": "data_array" + }, + "textsrc": { + "description": "Sets the source reference on plot.ly for text .", + "role": "info", + "valType": "string" + }, + "type": "choropleth", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "z": { + "description": "Sets the color values.", + "role": "data", + "valType": "data_array" + }, + "zauto": { + "description": "Determines the whether or not the color domain is computed with respect to the input data.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "zmax": { + "description": "Sets the upper bound of color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "zmin": { + "description": "Sets the lower bound of color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "zsrc": { + "description": "Sets the source reference on plot.ly for z .", + "role": "info", + "valType": "string" + } + }, + "description": "The data that describes the choropleth value-to-color mapping is set in `z`. The geographic locations corresponding to each value in `z` are set in `locations`." + }, + "contour": { + "attributes": { + "autocolorscale": { + "description": "Determines whether or not the colorscale is picked using the sign of the input z values.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "autocontour": { + "description": "Determines whether of not the contour level attributes at picked by an algorithm. If *true*, the number of contour levels can be set in `ncontours`. If *false*, set the contour level attributes in `contours`.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "len": { + "description": "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.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "lenmode": { + "description": "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.", + "dflt": "fraction", + "role": "info", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "orient": { + "dflt": "right", + "role": "info", + "valType": "enumerated", + "values": [ + "left", + "right", + "top", + "bottom" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "min": 0, + "role": "style", + "valType": "number" + }, + "thicknessmode": { + "description": "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.", + "dflt": "pixels", + "role": "style", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of the color bar.", + "dflt": "Click to enter colorscale title", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "titleside": { + "dflt": "top", + "role": "style", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "x": { + "description": "Sets the x position of the color bar (in plot fraction).", + "dflt": 1.02, + "role": "style", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "dflt": "left", + "role": "style", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "y": { + "description": "Sets the y position of the color bar (in plot fraction).", + "dflt": 0.5, + "role": "style", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", + "dflt": "middle", + "role": "style", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "colorscale": { + "description": "Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "connectgaps": { + "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "contours": { + "coloring": { + "description": "Determines the coloring method showing the contour values. If *fill*, coloring is done evenly between each contour level If *heatmap*, a heatmap gradient is coloring is applied between each contour level. If *lines*, coloring is done on the contour lines. If *none*, no coloring is applied on this trace.", + "dflt": "fill", + "role": "style", + "valType": "enumerated", + "values": [ + "fill", + "heatmap", + "lines", + "none" + ] + }, + "end": { + "description": "Sets the end contour level value.", + "dflt": null, + "role": "style", + "valType": "number" + }, + "role": "object", + "showlines": { + "description": "Determines whether or not the contour lines are drawn. Has only an effect if `contours.coloring` is set to *fill*.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "size": { + "description": "Sets the step between each contour level.", + "dflt": null, + "role": "style", + "valType": "number" + }, + "start": { + "description": "Sets the starting contour level value.", + "dflt": null, + "role": "style", + "valType": "number" + } + }, + "dx": { + "description": "Sets the x coordinate step. See `x0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "dy": { + "description": "Sets the y coordinate step. See `y0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "line": { + "color": { + "description": "Sets the color of the contour level. Has no if `contours.coloring` is set to *lines*.", + "role": "style", + "valType": "color" + }, + "dash": { + "description": "Sets the style of the lines.", + "dflt": "solid", + "role": "style", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] + }, + "role": "object", + "smoothing": { + "description": "Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.", + "dflt": 1, + "max": 1.3, + "min": 0, + "role": "style", + "valType": "number" + }, + "width": { + "description": "Sets the line width (in px).", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "ncontours": { + "description": "Sets the number of contour levels.", + "dflt": 0, + "role": "style", + "valType": "integer" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "reversescale": { + "description": "Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "text": { + "description": "Sets the text elements associated with each z value.", + "role": "data", + "valType": "data_array" + }, + "textsrc": { + "description": "Sets the source reference on plot.ly for text .", + "role": "info", + "valType": "string" + }, + "transpose": { + "description": "Transposes the z data.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "type": "contour", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "x": { + "description": "Sets the x coordinates.", + "role": "data", + "valType": "data_array" + }, + "x0": { + "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", + "dflt": 0, + "role": "info", + "valType": "any" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "role": "info", + "valType": "axisid" + }, + "xsrc": { + "description": "Sets the source reference on plot.ly for x .", + "role": "info", + "valType": "string" + }, + "xtype": { + "description": "If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).", + "role": "info", + "valType": "enumerated", + "values": [ + "array", + "scaled" + ] + }, + "y": { + "description": "Sets the y coordinates.", + "role": "data", + "valType": "data_array" + }, + "y0": { + "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", + "dflt": 0, + "role": "info", + "valType": "any" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "y", + "role": "info", + "valType": "axisid" + }, + "ysrc": { + "description": "Sets the source reference on plot.ly for y .", + "role": "info", + "valType": "string" + }, + "ytype": { + "description": "If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)", + "role": "info", + "valType": "enumerated", + "values": [ + "array", + "scaled" + ] + }, + "z": { + "description": "Sets the z data.", + "role": "data", + "valType": "data_array" + }, + "zauto": { + "description": "Determines the whether or not the color domain is computed with respect to the input data.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "zmax": { + "description": "Sets the upper bound of color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "zmin": { + "description": "Sets the lower bound of color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "zsmooth": { + "description": "Picks a smoothing algorithm use to smooth `z` data.", + "dflt": false, + "role": "style", + "valType": "enumerated", + "values": [ + "fast", + "best", + false + ] + }, + "zsrc": { + "description": "Sets the source reference on plot.ly for z .", + "role": "info", + "valType": "string" + } + }, + "description": "The data from which contour lines are computed is set in `z`. Data in `z` must be a {2D array} of numbers. Say that `z` has N rows and M columns, then by default, these N rows correspond to N y coordinates (set in `y` or auto-generated) and the M columns correspond to M x coordinates (set in `x` or auto-generated). By setting `transpose` to *true*, the above behavior is flipped." + }, + "heatmap": { + "attributes": { + "autocolorscale": { + "description": "Determines whether or not the colorscale is picked using the sign of the input z values.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "len": { + "description": "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.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "lenmode": { + "description": "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.", + "dflt": "fraction", + "role": "info", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "orient": { + "dflt": "right", + "role": "info", + "valType": "enumerated", + "values": [ + "left", + "right", + "top", + "bottom" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "min": 0, + "role": "style", + "valType": "number" + }, + "thicknessmode": { + "description": "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.", + "dflt": "pixels", + "role": "style", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of the color bar.", + "dflt": "Click to enter colorscale title", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "titleside": { + "dflt": "top", + "role": "style", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "x": { + "description": "Sets the x position of the color bar (in plot fraction).", + "dflt": 1.02, + "role": "style", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "dflt": "left", + "role": "style", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "y": { + "description": "Sets the y position of the color bar (in plot fraction).", + "dflt": 0.5, + "role": "style", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", + "dflt": "middle", + "role": "style", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "colorscale": { + "description": "Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "connectgaps": { + "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "dx": { + "description": "Sets the x coordinate step. See `x0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "dy": { + "description": "Sets the y coordinate step. See `y0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "reversescale": { + "description": "Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "text": { + "description": "Sets the text elements associated with each z value.", + "role": "data", + "valType": "data_array" + }, + "textsrc": { + "description": "Sets the source reference on plot.ly for text .", + "role": "info", + "valType": "string" + }, + "transpose": { + "description": "Transposes the z data.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "type": "heatmap", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "x": { + "description": "Sets the x coordinates.", + "role": "data", + "valType": "data_array" + }, + "x0": { + "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", + "dflt": 0, + "role": "info", + "valType": "any" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "role": "info", + "valType": "axisid" + }, + "xsrc": { + "description": "Sets the source reference on plot.ly for x .", + "role": "info", + "valType": "string" + }, + "xtype": { + "description": "If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).", + "role": "info", + "valType": "enumerated", + "values": [ + "array", + "scaled" + ] + }, + "y": { + "description": "Sets the y coordinates.", + "role": "data", + "valType": "data_array" + }, + "y0": { + "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", + "dflt": 0, + "role": "info", + "valType": "any" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "y", + "role": "info", + "valType": "axisid" + }, + "ysrc": { + "description": "Sets the source reference on plot.ly for y .", + "role": "info", + "valType": "string" + }, + "ytype": { + "description": "If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)", + "role": "info", + "valType": "enumerated", + "values": [ + "array", + "scaled" + ] + }, + "z": { + "description": "Sets the z data.", + "role": "data", + "valType": "data_array" + }, + "zauto": { + "description": "Determines the whether or not the color domain is computed with respect to the input data.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "zmax": { + "description": "Sets the upper bound of color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "zmin": { + "description": "Sets the lower bound of color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "zsmooth": { + "description": "Picks a smoothing algorithm use to smooth `z` data.", + "dflt": false, + "role": "style", + "valType": "enumerated", + "values": [ + "fast", + "best", + false + ] + }, + "zsrc": { + "description": "Sets the source reference on plot.ly for z .", + "role": "info", + "valType": "string" + } + }, + "description": "The data that describes the heatmap value-to-color mapping is set in `z`. Data in `z` can either be a {2D array} of values (ragged or not) or a 1D array of values. In the case where `z` is a {2D array}, say that `z` has N rows and M columns. Then, by default, the resulting heatmap will have N partitions along the y axis and M partitions along the x axis. In other words, the i-th row/ j-th column cell in `z` is mapped to the i-th partition of the y axis (starting from the bottom of the plot) and the j-th partition of the x-axis (starting from the left of the plot). This behavior can be flipped by using `transpose`. Moreover, `x` (`y`) can be provided with M or M+1 (N or N+1) elements If M (N), then the coordinates correspond to the center of the heatmap cells and the cells have equal width. If M+1 (N+1), then the coordinates correspond to the edges of the heatmap cells. In the case where `z` is a 1D {array}, the x and y coordinates must be provided in `x` and `y` respectively to form data triplets." + }, + "histogram": { + "attributes": { + "_deprecated": { + "bardir": { + "description": "Renamed to `orientation`.", + "role": "info", + "valType": "enumerated", + "values": [ + "v", + "h" + ] + } + }, + "autobinx": { + "description": "Determines whether or not the x axis bin attributes are picked by an algorithm.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "autobiny": { + "description": "Determines whether or not the y axis bin attributes are picked by an algorithm.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "dx": { + "description": "Sets the x coordinate step. See `x0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "dy": { + "description": "Sets the y coordinate step. See `y0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "error_x": { + "_deprecated": { + "opacity": { + "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", + "role": "style", + "valType": "number" + } + }, + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminussrc": { + "description": "Sets the source reference on plot.ly for arrayminus .", + "role": "info", + "valType": "string" + }, + "arraysrc": { + "description": "Sets the source reference on plot.ly for array .", + "role": "info", + "valType": "string" + }, + "color": { + "description": "Sets the stoke color of the error bars.", + "role": "style", + "valType": "color" + }, + "copy_ystyle": { + "role": "style", + "valType": "boolean" + }, + "copy_zstyle": { + "role": "style", + "valType": "boolean" + }, + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", + "role": "info", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + }, + "traceref": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the sqaure of the underlying data. If *array*, the bar lengths are set with data set `array`.", + "role": "info", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "role": "info", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "min": 0, + "role": "style", + "valType": "number" + } + }, + "error_y": { + "_deprecated": { + "opacity": { + "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", + "role": "style", + "valType": "number" + } + }, + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminussrc": { + "description": "Sets the source reference on plot.ly for arrayminus .", + "role": "info", + "valType": "string" + }, + "arraysrc": { + "description": "Sets the source reference on plot.ly for array .", + "role": "info", + "valType": "string" + }, + "color": { + "description": "Sets the stoke color of the error bars.", + "role": "style", + "valType": "color" + }, + "copy_ystyle": { + "role": "style", + "valType": "boolean" + }, + "copy_zstyle": { + "role": "style", + "valType": "boolean" + }, + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", + "role": "info", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + }, + "traceref": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the sqaure of the underlying data. If *array*, the bar lengths are set with data set `array`.", + "role": "info", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "role": "info", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "min": 0, + "role": "style", + "valType": "number" + } + }, + "histfunc": { + "description": "Specifies the binning function used for this histogram trace. If *count*, the histogram values are computed by counting the number of values lying inside each bin. If *sum*, *avg*, *min*, *max*, the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.", + "dflt": "count", + "role": "style", + "valType": "enumerated", + "values": [ + "count", + "sum", + "avg", + "min", + "max" + ] + }, + "histnorm": { + "description": "Specifies the type of normalization used for this histogram trace. If **, the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If *percent*, the span of each bar corresponds to the percentage of occurrences with respect to the total number of sample points (here, the sum of all bin area equals 100%). If *density*, the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin area equals the total number of sample points). If *probability density*, the span of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin area equals 1).", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "", + "percent", + "probability", + "density", + "probability density" + ] + }, + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "marker": { + "color": { + "role": "data", + "valType": "data_array" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "len": { + "description": "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.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "lenmode": { + "description": "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.", + "dflt": "fraction", + "role": "info", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "orient": { + "dflt": "right", + "role": "info", + "valType": "enumerated", + "values": [ + "left", + "right", + "top", + "bottom" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "min": 0, + "role": "style", + "valType": "number" + }, + "thicknessmode": { + "description": "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.", + "dflt": "pixels", + "role": "style", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of the color bar.", + "dflt": "Click to enter colorscale title", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "titleside": { + "dflt": "top", + "role": "style", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "x": { + "description": "Sets the x position of the color bar (in plot fraction).", + "dflt": 1.02, + "role": "style", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "dflt": "left", + "role": "style", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "y": { + "description": "Sets the y position of the color bar (in plot fraction).", + "dflt": 0.5, + "role": "style", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", + "dflt": "middle", + "role": "style", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "role": "object" + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "nbinsx": { + "description": "Sets the number of x axis bins.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "nbinsy": { + "description": "Sets the number of y axis bins.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "orientation": { + "description": "Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).", + "role": "info", + "valType": "enumerated", + "values": [ + "v", + "h" + ] + }, + "r": { + "description": "For polar chart only.Sets the radial coordinates.", + "role": "data", + "valType": "data_array" + }, + "rsrc": { + "description": "Sets the source reference on plot.ly for r .", + "role": "info", + "valType": "string" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "t": { + "description": "For polar chart only.Sets the angular coordinates.", + "role": "data", + "valType": "data_array" + }, + "text": { + "arrayOk": true, + "description": "Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "textsrc": { + "description": "Sets the source reference on plot.ly for text .", + "role": "info", + "valType": "string" + }, + "tsrc": { + "description": "Sets the source reference on plot.ly for t .", + "role": "info", + "valType": "string" + }, + "type": "histogram", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "x": { + "description": "Sets the sample data to be binned on the x axis.", + "role": "data", + "valType": "data_array" + }, + "x0": { + "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", + "dflt": 0, + "role": "info", + "valType": "any" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "role": "info", + "valType": "axisid" + }, + "xbins": { + "end": { + "description": "Sets the end value for the x axis bins.", + "dflt": null, + "role": "style", + "valType": "number" + }, + "role": "object", + "size": { + "description": "Sets the step in-between value each x axis bin.", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "start": { + "description": "Sets the starting value for the x axis bins.", + "dflt": null, + "role": "style", + "valType": "number" + } + }, + "xsrc": { + "description": "Sets the source reference on plot.ly for x .", + "role": "info", + "valType": "string" + }, + "y": { + "description": "Sets the sample data to be binned on the y axis.", + "role": "data", + "valType": "data_array" + }, + "y0": { + "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", + "dflt": 0, + "role": "info", + "valType": "any" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "y", + "role": "info", + "valType": "axisid" + }, + "ybins": { + "end": { + "description": "Sets the end value for the y axis bins.", + "dflt": null, + "role": "style", + "valType": "number" + }, + "role": "object", + "size": { + "description": "Sets the step in-between value each y axis bin.", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "start": { + "description": "Sets the starting value for the y axis bins.", + "dflt": null, + "role": "style", + "valType": "number" + } + }, + "ysrc": { + "description": "Sets the source reference on plot.ly for y .", + "role": "info", + "valType": "string" + }, + "z": { + "description": "Sets the aggregation data.", + "role": "data", + "valType": "data_array" + }, + "zsrc": { + "description": "Sets the source reference on plot.ly for z .", + "role": "info", + "valType": "string" + } + }, + "description": "The sample data from which statistics are computed is set in `x` for vertically spanning histograms and in `y` for horizontally spanning histograms. Binning options are set `xbins` and `ybins` respectively if no aggregation data is provided.", + "layoutAttributes": { + "bargap": { + "description": "Sets the gap (in plot fraction) between bars of adjacent location coordinates.", + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "bargroupgap": { + "description": "Sets the gap (in plot fraction) between bars of the same location coordinate.", + "dflt": 0, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "barmode": { + "description": "Determines how bars at the same location coordinate are displayed on the graph. With *stack*, the bars are stacked on top of one another With *group*, the bars are plotted next to one another centered around the shared location. With *overlay*, the bars are plotted over one another, you might need to an *opacity* to see multiple bars.", + "dflt": "group", + "role": "info", + "valType": "enumerated", + "values": [ + "stack", + "group", + "overlay" + ] + }, + "barnorm": { + "description": "Sets the normalization for bar traces on the graph. With *fraction*, the value of each bar is divide by the sum of the values at the location coordinate. With *percent*, the results form *fraction* are presented in percents.", + "dflt": "", + "role": "info", + "valType": "enumerated", + "values": [ + "", + "fraction", + "percent" + ] + } + } + }, + "histogram2d": { + "attributes": { + "autobinx": { + "description": "Determines whether or not the x axis bin attributes are picked by an algorithm.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "autobiny": { + "description": "Determines whether or not the y axis bin attributes are picked by an algorithm.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "autocolorscale": { + "description": "Determines whether or not the colorscale is picked using the sign of the input z values.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "len": { + "description": "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.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "lenmode": { + "description": "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.", + "dflt": "fraction", + "role": "info", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "orient": { + "dflt": "right", + "role": "info", + "valType": "enumerated", + "values": [ + "left", + "right", + "top", + "bottom" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "min": 0, + "role": "style", + "valType": "number" + }, + "thicknessmode": { + "description": "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.", + "dflt": "pixels", + "role": "style", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of the color bar.", + "dflt": "Click to enter colorscale title", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "titleside": { + "dflt": "top", + "role": "style", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "x": { + "description": "Sets the x position of the color bar (in plot fraction).", + "dflt": 1.02, + "role": "style", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "dflt": "left", + "role": "style", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "y": { + "description": "Sets the y position of the color bar (in plot fraction).", + "dflt": 0.5, + "role": "style", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", + "dflt": "middle", + "role": "style", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "colorscale": { + "description": "Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "connectgaps": { + "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "dx": { + "description": "Sets the x coordinate step. See `x0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "dy": { + "description": "Sets the y coordinate step. See `y0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "histfunc": { + "description": "Specifies the binning function used for this histogram trace. If *count*, the histogram values are computed by counting the number of values lying inside each bin. If *sum*, *avg*, *min*, *max*, the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.", + "dflt": "count", + "role": "style", + "valType": "enumerated", + "values": [ + "count", + "sum", + "avg", + "min", + "max" + ] + }, + "histnorm": { + "description": "Specifies the type of normalization used for this histogram trace. If **, the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If *percent*, the span of each bar corresponds to the percentage of occurrences with respect to the total number of sample points (here, the sum of all bin area equals 100%). If *density*, the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin area equals the total number of sample points). If *probability density*, the span of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin area equals 1).", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "", + "percent", + "probability", + "density", + "probability density" + ] + }, + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "marker": { + "color": { + "role": "data", + "valType": "data_array" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "role": "object" + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "nbinsx": { + "description": "Sets the number of x axis bins.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "nbinsy": { + "description": "Sets the number of y axis bins.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "orientation": { + "description": "Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).", + "role": "info", + "valType": "enumerated", + "values": [ + "v", + "h" + ] + }, + "reversescale": { + "description": "Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "text": { + "description": "Sets the text elements associated with each z value.", + "role": "data", + "valType": "data_array" + }, + "textsrc": { + "description": "Sets the source reference on plot.ly for text .", + "role": "info", + "valType": "string" + }, + "transpose": { + "description": "Transposes the z data.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "type": "histogram2d", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "x": { + "description": "Sets the sample data to be binned on the x axis.", + "role": "data", + "valType": "data_array" + }, + "x0": { + "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", + "dflt": 0, + "role": "info", + "valType": "any" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "role": "info", + "valType": "axisid" + }, + "xbins": { + "end": { + "description": "Sets the end value for the x axis bins.", + "dflt": null, + "role": "style", + "valType": "number" + }, + "role": "object", + "size": { + "description": "Sets the step in-between value each x axis bin.", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "start": { + "description": "Sets the starting value for the x axis bins.", + "dflt": null, + "role": "style", + "valType": "number" + } + }, + "xsrc": { + "description": "Sets the source reference on plot.ly for x .", + "role": "info", + "valType": "string" + }, + "xtype": { + "description": "If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).", + "role": "info", + "valType": "enumerated", + "values": [ + "array", + "scaled" + ] + }, + "y": { + "description": "Sets the sample data to be binned on the y axis.", + "role": "data", + "valType": "data_array" + }, + "y0": { + "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", + "dflt": 0, + "role": "info", + "valType": "any" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "y", + "role": "info", + "valType": "axisid" + }, + "ybins": { + "end": { + "description": "Sets the end value for the y axis bins.", + "dflt": null, + "role": "style", + "valType": "number" + }, + "role": "object", + "size": { + "description": "Sets the step in-between value each y axis bin.", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "start": { + "description": "Sets the starting value for the y axis bins.", + "dflt": null, + "role": "style", + "valType": "number" + } + }, + "ysrc": { + "description": "Sets the source reference on plot.ly for y .", + "role": "info", + "valType": "string" + }, + "ytype": { + "description": "If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)", + "role": "info", + "valType": "enumerated", + "values": [ + "array", + "scaled" + ] + }, + "z": { + "description": "Sets the aggregation data.", + "role": "data", + "valType": "data_array" + }, + "zauto": { + "description": "Determines the whether or not the color domain is computed with respect to the input data.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "zmax": { + "description": "Sets the upper bound of color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "zmin": { + "description": "Sets the lower bound of color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "zsmooth": { + "description": "Picks a smoothing algorithm use to smooth `z` data.", + "dflt": false, + "role": "style", + "valType": "enumerated", + "values": [ + "fast", + "best", + false + ] + }, + "zsrc": { + "description": "Sets the source reference on plot.ly for z .", + "role": "info", + "valType": "string" + } + }, + "description": "The sample data from which statistics are computed is set in `x` and `y` (where `x` and `y` represent marginal distributions, binning is set in `xbins` and `ybins` in this case) or `z` (where `z` represent the 2D distribution and binning set, binning is set by `x` and `y` in this case). The resulting distribution is visualized as a heatmap.", + "hrName": "histogram_2d" + }, + "histogram2dcontour": { + "attributes": { + "autobinx": { + "description": "Determines whether or not the x axis bin attributes are picked by an algorithm.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "autobiny": { + "description": "Determines whether or not the y axis bin attributes are picked by an algorithm.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "autocolorscale": { + "description": "Determines whether or not the colorscale is picked using the sign of the input z values.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "autocontour": { + "description": "Determines whether of not the contour level attributes at picked by an algorithm. If *true*, the number of contour levels can be set in `ncontours`. If *false*, set the contour level attributes in `contours`.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "len": { + "description": "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.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "lenmode": { + "description": "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.", + "dflt": "fraction", + "role": "info", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "orient": { + "dflt": "right", + "role": "info", + "valType": "enumerated", + "values": [ + "left", + "right", + "top", + "bottom" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "min": 0, + "role": "style", + "valType": "number" + }, + "thicknessmode": { + "description": "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.", + "dflt": "pixels", + "role": "style", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of the color bar.", + "dflt": "Click to enter colorscale title", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "titleside": { + "dflt": "top", + "role": "style", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "x": { + "description": "Sets the x position of the color bar (in plot fraction).", + "dflt": 1.02, + "role": "style", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "dflt": "left", + "role": "style", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "y": { + "description": "Sets the y position of the color bar (in plot fraction).", + "dflt": 0.5, + "role": "style", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", + "dflt": "middle", + "role": "style", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "colorscale": { + "description": "Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "connectgaps": { + "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "contours": { + "coloring": { + "description": "Determines the coloring method showing the contour values. If *fill*, coloring is done evenly between each contour level If *heatmap*, a heatmap gradient is coloring is applied between each contour level. If *lines*, coloring is done on the contour lines. If *none*, no coloring is applied on this trace.", + "dflt": "fill", + "role": "style", + "valType": "enumerated", + "values": [ + "fill", + "heatmap", + "lines", + "none" + ] + }, + "end": { + "description": "Sets the end contour level value.", + "dflt": null, + "role": "style", + "valType": "number" + }, + "role": "object", + "showlines": { + "description": "Determines whether or not the contour lines are drawn. Has only an effect if `contours.coloring` is set to *fill*.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "size": { + "description": "Sets the step between each contour level.", + "dflt": null, + "role": "style", + "valType": "number" + }, + "start": { + "description": "Sets the starting contour level value.", + "dflt": null, + "role": "style", + "valType": "number" + } + }, + "dx": { + "description": "Sets the x coordinate step. See `x0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "dy": { + "description": "Sets the y coordinate step. See `y0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "histfunc": { + "description": "Specifies the binning function used for this histogram trace. If *count*, the histogram values are computed by counting the number of values lying inside each bin. If *sum*, *avg*, *min*, *max*, the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.", + "dflt": "count", + "role": "style", + "valType": "enumerated", + "values": [ + "count", + "sum", + "avg", + "min", + "max" + ] + }, + "histnorm": { + "description": "Specifies the type of normalization used for this histogram trace. If **, the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If *percent*, the span of each bar corresponds to the percentage of occurrences with respect to the total number of sample points (here, the sum of all bin area equals 100%). If *density*, the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin area equals the total number of sample points). If *probability density*, the span of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin area equals 1).", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "", + "percent", + "probability", + "density", + "probability density" + ] + }, + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "line": { + "color": { + "description": "Sets the color of the contour level. Has no if `contours.coloring` is set to *lines*.", + "role": "style", + "valType": "color" + }, + "dash": { + "description": "Sets the style of the lines.", + "dflt": "solid", + "role": "style", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] + }, + "role": "object", + "smoothing": { + "description": "Sets the amount of smoothing for the contour lines, where *0* corresponds to no smoothing.", + "dflt": 1, + "max": 1.3, + "min": 0, + "role": "style", + "valType": "number" + }, + "width": { + "description": "Sets the line width (in px).", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "marker": { + "color": { + "role": "data", + "valType": "data_array" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "role": "object" + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "nbinsx": { + "description": "Sets the number of x axis bins.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "nbinsy": { + "description": "Sets the number of y axis bins.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "ncontours": { + "description": "Sets the number of contour levels.", + "dflt": 0, + "role": "style", + "valType": "integer" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "orientation": { + "description": "Sets the orientation of the bars. With *v* (*h*), the value of the each bar spans along the vertical (horizontal).", + "role": "info", + "valType": "enumerated", + "values": [ + "v", + "h" + ] + }, + "reversescale": { + "description": "Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "text": { + "description": "Sets the text elements associated with each z value.", + "role": "data", + "valType": "data_array" + }, + "textsrc": { + "description": "Sets the source reference on plot.ly for text .", + "role": "info", + "valType": "string" + }, + "transpose": { + "description": "Transposes the z data.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "type": "histogram2dcontour", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "x": { + "description": "Sets the sample data to be binned on the x axis.", + "role": "data", + "valType": "data_array" + }, + "x0": { + "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", + "dflt": 0, + "role": "info", + "valType": "any" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "role": "info", + "valType": "axisid" + }, + "xbins": { + "end": { + "description": "Sets the end value for the x axis bins.", + "dflt": null, + "role": "style", + "valType": "number" + }, + "role": "object", + "size": { + "description": "Sets the step in-between value each x axis bin.", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "start": { + "description": "Sets the starting value for the x axis bins.", + "dflt": null, + "role": "style", + "valType": "number" + } + }, + "xsrc": { + "description": "Sets the source reference on plot.ly for x .", + "role": "info", + "valType": "string" + }, + "xtype": { + "description": "If *array*, the heatmap's x coordinates are given by *x* (the default behavior when `x` is provided). If *scaled*, the heatmap's x coordinates are given by *x0* and *dx* (the default behavior when `x` is not provided).", + "role": "info", + "valType": "enumerated", + "values": [ + "array", + "scaled" + ] + }, + "y": { + "description": "Sets the sample data to be binned on the y axis.", + "role": "data", + "valType": "data_array" + }, + "y0": { + "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", + "dflt": 0, + "role": "info", + "valType": "any" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "y", + "role": "info", + "valType": "axisid" + }, + "ybins": { + "end": { + "description": "Sets the end value for the y axis bins.", + "dflt": null, + "role": "style", + "valType": "number" + }, + "role": "object", + "size": { + "description": "Sets the step in-between value each y axis bin.", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "start": { + "description": "Sets the starting value for the y axis bins.", + "dflt": null, + "role": "style", + "valType": "number" + } + }, + "ysrc": { + "description": "Sets the source reference on plot.ly for y .", + "role": "info", + "valType": "string" + }, + "ytype": { + "description": "If *array*, the heatmap's y coordinates are given by *y* (the default behavior when `y` is provided) If *scaled*, the heatmap's y coordinates are given by *y0* and *dy* (the default behavior when `y` is not provided)", + "role": "info", + "valType": "enumerated", + "values": [ + "array", + "scaled" + ] + }, + "z": { + "description": "Sets the aggregation data.", + "role": "data", + "valType": "data_array" + }, + "zauto": { + "description": "Determines the whether or not the color domain is computed with respect to the input data.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "zmax": { + "description": "Sets the upper bound of color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "zmin": { + "description": "Sets the lower bound of color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "zsmooth": { + "description": "Picks a smoothing algorithm use to smooth `z` data.", + "dflt": false, + "role": "style", + "valType": "enumerated", + "values": [ + "fast", + "best", + false + ] + }, + "zsrc": { + "description": "Sets the source reference on plot.ly for z .", + "role": "info", + "valType": "string" + } + }, + "description": "The sample data from which statistics are computed is set in `x` and `y` (where `x` and `y` represent marginal distributions, binning is set in `xbins` and `ybins` in this case) or `z` (where `z` represent the 2D distribution and binning set, binning is set by `x` and `y` in this case). The resulting distribution is visualized as a contour plot.", + "hrName": "histogram_2d_contour" + }, + "mesh3d": { + "attributes": { + "alphahull": { + "dflt": -1, + "role": "style", + "valType": "number" + }, + "color": { + "role": "style", + "valType": "color" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "len": { + "description": "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.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "lenmode": { + "description": "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.", + "dflt": "fraction", + "role": "info", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "orient": { + "dflt": "right", + "role": "info", + "valType": "enumerated", + "values": [ + "left", + "right", + "top", + "bottom" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "min": 0, + "role": "style", + "valType": "number" + }, + "thicknessmode": { + "description": "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.", + "dflt": "pixels", + "role": "style", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of the color bar.", + "dflt": "Click to enter colorscale title", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "titleside": { + "dflt": "top", + "role": "style", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "x": { + "description": "Sets the x position of the color bar (in plot fraction).", + "dflt": 1.02, + "role": "style", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "dflt": "left", + "role": "style", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "y": { + "description": "Sets the y position of the color bar (in plot fraction).", + "dflt": 0.5, + "role": "style", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", + "dflt": "middle", + "role": "style", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "colorscale": { + "description": "Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "contour": { + "color": { + "dflt": "#000", + "role": "style", + "valType": "color" + }, + "role": "object", + "show": { + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "width": { + "dflt": 2, + "max": 16, + "min": 1, + "role": "style", + "valType": "number" + } + }, + "delaunayaxis": { + "dflt": "z", + "role": "info", + "valType": "enumerated", + "values": [ + "x", + "y", + "z" + ] + }, + "facecolor": { + "role": "data", + "valType": "data_array" + }, + "facecolorsrc": { + "description": "Sets the source reference on plot.ly for facecolor .", + "role": "info", + "valType": "string" + }, + "flatshading": { + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "i": { + "role": "data", + "valType": "data_array" + }, + "intensity": { + "role": "data", + "valType": "data_array" + }, + "intensitysrc": { + "description": "Sets the source reference on plot.ly for intensity .", + "role": "info", + "valType": "string" + }, + "isrc": { + "description": "Sets the source reference on plot.ly for i .", + "role": "info", + "valType": "string" + }, + "j": { + "role": "data", + "valType": "data_array" + }, + "jsrc": { + "description": "Sets the source reference on plot.ly for j .", + "role": "info", + "valType": "string" + }, + "k": { + "role": "data", + "valType": "data_array" + }, + "ksrc": { + "description": "Sets the source reference on plot.ly for k .", + "role": "info", + "valType": "string" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "lighting": { + "ambient": { + "dflt": 0.8, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "diffuse": { + "dflt": 0.8, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "fresnel": { + "dflt": 0.2, + "max": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "roughness": { + "dflt": 0.5, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "specular": { + "dflt": 0.05, + "max": 2, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "reversescale": { + "description": "Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "scene": { + "description": "Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.", + "dflt": "scene", + "role": "info", + "valType": "sceneid" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "type": "mesh3d", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "vertexcolor": { + "role": "data", + "valType": "data_array" + }, + "vertexcolorsrc": { + "description": "Sets the source reference on plot.ly for vertexcolor .", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "x": { + "role": "data", + "valType": "data_array" + }, + "xsrc": { + "description": "Sets the source reference on plot.ly for x .", + "role": "info", + "valType": "string" + }, + "y": { + "role": "data", + "valType": "data_array" + }, + "ysrc": { + "description": "Sets the source reference on plot.ly for y .", + "role": "info", + "valType": "string" + }, + "z": { + "role": "data", + "valType": "data_array" + }, + "zsrc": { + "description": "Sets the source reference on plot.ly for z .", + "role": "info", + "valType": "string" + } + }, + "description": "" + }, + "pie": { + "attributes": { + "direction": { + "description": "Specifies the direction at which succeeding sectors follow one another.", + "dflt": "counterclockwise", + "role": "style", + "valType": "enumerated", + "values": [ + "clockwise", + "counterclockwise" + ] + }, + "dlabel": { + "description": "Sets the label step. See `label0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "domain": { + "role": "object", + "x": { + "description": "Sets the horizontal domain of this pie trace (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "items": [ + { + "max": 1, + "min": 0, + "valType": "number" + }, + { + "max": 1, + "min": 0, + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + }, + "y": { + "description": "Sets the vertical domain of this pie trace (in plot fraction).", + "dflt": [ + 0, + 1 + ], + "items": [ + { + "max": 1, + "min": 0, + "valType": "number" + }, + { + "max": 1, + "min": 0, + "valType": "number" + } + ], + "role": "info", + "valType": "info_array" + } + }, + "hole": { + "description": "Sets the fraction of the radius to cut out of the pie. Use this to make a donut chart.", + "dflt": 0, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "insidetextfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the font used for `textinfo` lying inside the pie.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "label0": { + "description": "Alternate to `labels`. Builds a numeric set of labels. Use with `dlabel` where `label0` is the starting label and `dlabel` the step.", + "dflt": 0, + "role": "info", + "valType": "number" + }, + "labels": { + "description": "Sets the sector labels.", + "role": "data", + "valType": "data_array" + }, + "labelssrc": { + "description": "Sets the source reference on plot.ly for labels .", + "role": "info", + "valType": "string" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "marker": { + "colors": { + "description": "Sets the color of each sector of this pie chart. If not specified, the default trace color set is used to pick the sector colors.", + "role": "data", + "valType": "data_array" + }, + "colorssrc": { + "description": "Sets the source reference on plot.ly for colors .", + "role": "info", + "valType": "string" + }, + "line": { + "color": { + "arrayOk": true, + "description": "Sets the color of the line enclosing each sector.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "role": "object", + "width": { + "arrayOk": true, + "description": "Sets the width (in px) of the line enclosing each sector.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "widthsrc": { + "description": "Sets the source reference on plot.ly for width .", + "role": "info", + "valType": "string" + } + }, + "role": "object" + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "outsidetextfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the font used for `textinfo` lying outside the pie.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "pull": { + "arrayOk": true, + "description": "Sets the fraction of larger radius to pull the sectors out from the center. This can be a constant to pull all slices apart from each other equally or an array to highlight one or more slices.", + "dflt": 0, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "pullsrc": { + "description": "Sets the source reference on plot.ly for pull .", + "role": "info", + "valType": "string" + }, + "rotation": { + "description": "Instead of the first slice starting at 12 o'clock, rotate to some other angle.", + "dflt": 0, + "max": 360, + "min": -360, + "role": "style", + "valType": "number" + }, + "scalegroup": { + "description": "If there are multiple pies that should be sized according to their totals, link them by providing a non-empty group id here shared by every trace in the same group.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "sort": { + "description": "Determines whether or not the sectors of reordered from largest to smallest.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "text": { + "description": "Sets text elements associated with each sector.", + "role": "data", + "valType": "data_array" + }, + "textfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the font used for `textinfo`.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "textinfo": { + "description": "Determines which trace information appear on the graph.", + "extras": [ + "none" + ], + "flags": [ + "label", + "text", + "value", + "percent" + ], + "role": "info", + "valType": "flaglist" + }, + "textposition": { + "arrayOk": true, + "description": "Specifies the location of the `textinfo`.", + "dflt": "auto", + "role": "info", + "valType": "enumerated", + "values": [ + "inside", + "outside", + "auto", + "none" + ] + }, + "textpositionsrc": { + "description": "Sets the source reference on plot.ly for textposition .", + "role": "info", + "valType": "string" + }, + "textsrc": { + "description": "Sets the source reference on plot.ly for text .", + "role": "info", + "valType": "string" + }, + "type": "pie", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "values": { + "description": "Sets the values of the sectors of this pie chart.", + "role": "data", + "valType": "data_array" + }, + "valuessrc": { + "description": "Sets the source reference on plot.ly for values .", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + } + }, + "description": "A data visualized by the sectors of the pie is set in `values`. The sector labels are set in `labels`. The sector colors are set in `marker.colors`", + "layoutAttributes": { + "hiddenlabels": { + "role": "data", + "valType": "data_array" + }, + "hiddenlabelssrc": { + "description": "Sets the source reference on plot.ly for hiddenlabels .", + "role": "info", + "valType": "string" + } + } + }, + "scatter": { + "attributes": { + "connectgaps": { + "description": "Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "dx": { + "description": "Sets the x coordinate step. See `x0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "dy": { + "description": "Sets the y coordinate step. See `y0` for more info.", + "dflt": 1, + "role": "info", + "valType": "number" + }, + "error_x": { + "_deprecated": { + "opacity": { + "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", + "role": "style", + "valType": "number" + } + }, + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminussrc": { + "description": "Sets the source reference on plot.ly for arrayminus .", + "role": "info", + "valType": "string" + }, + "arraysrc": { + "description": "Sets the source reference on plot.ly for array .", + "role": "info", + "valType": "string" + }, + "color": { + "description": "Sets the stoke color of the error bars.", + "role": "style", + "valType": "color" + }, + "copy_ystyle": { + "role": "style", + "valType": "boolean" + }, + "copy_zstyle": { + "role": "style", + "valType": "boolean" + }, + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", + "role": "info", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + }, + "traceref": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the sqaure of the underlying data. If *array*, the bar lengths are set with data set `array`.", + "role": "info", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "role": "info", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "min": 0, + "role": "style", + "valType": "number" + } + }, + "error_y": { + "_deprecated": { + "opacity": { + "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", + "role": "style", + "valType": "number" + } + }, + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminussrc": { + "description": "Sets the source reference on plot.ly for arrayminus .", + "role": "info", + "valType": "string" + }, + "arraysrc": { + "description": "Sets the source reference on plot.ly for array .", + "role": "info", + "valType": "string" + }, + "color": { + "description": "Sets the stoke color of the error bars.", + "role": "style", + "valType": "color" + }, + "copy_ystyle": { + "role": "style", + "valType": "boolean" + }, + "copy_zstyle": { + "role": "style", + "valType": "boolean" + }, + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", + "role": "info", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + }, + "traceref": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the sqaure of the underlying data. If *array*, the bar lengths are set with data set `array`.", + "role": "info", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "role": "info", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "min": 0, + "role": "style", + "valType": "number" + } + }, + "fill": { + "description": "Sets the area to fill with a solid color. Use with `fillcolor`.", + "dflt": "none", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "tozeroy", + "tozerox", + "tonexty", + "tonextx" + ] + }, + "fillcolor": { + "description": "Sets the fill color.", + "role": "style", + "valType": "color" + }, + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "line": { + "color": { + "description": "Sets the line color.", + "role": "style", + "valType": "color" + }, + "dash": { + "description": "Sets the style of the lines.", + "dflt": "solid", + "role": "style", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] + }, + "role": "object", + "shape": { + "description": "Determines the line shape. With *spline* the lines are drawn using spline interpolation. The other available values correspond to step-wise line shapes.", + "dflt": "linear", + "role": "style", + "valType": "enumerated", + "values": [ + "linear", + "spline", + "hv", + "vh", + "hvh", + "vhv" + ] + }, + "smoothing": { + "description": "Has only an effect if `shape` is set to *spline* Sets the amount of smoothing. *0* corresponds to no smoothing (equivalent to a *linear* shape).", + "dflt": 1, + "max": 1.3, + "min": 0, + "role": "style", + "valType": "number" + }, + "width": { + "description": "Sets the line width (in px).", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "marker": { + "autocolorscale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Determines whether or not the colorscale is picked using values inside `marker.color`.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cauto": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Determines the whether or not the color domain is computed automatically.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cmax": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Sets the upper bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "cmin": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Sets the lower bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "color": { + "arrayOk": true, + "description": "Sets the marker color.", + "role": "style", + "valType": "color" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "len": { + "description": "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.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "lenmode": { + "description": "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.", + "dflt": "fraction", + "role": "info", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "orient": { + "dflt": "right", + "role": "info", + "valType": "enumerated", + "values": [ + "left", + "right", + "top", + "bottom" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "min": 0, + "role": "style", + "valType": "number" + }, + "thicknessmode": { + "description": "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.", + "dflt": "pixels", + "role": "style", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of the color bar.", + "dflt": "Click to enter colorscale title", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "titleside": { + "dflt": "top", + "role": "style", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "x": { + "description": "Sets the x position of the color bar (in plot fraction).", + "dflt": 1.02, + "role": "style", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "dflt": "left", + "role": "style", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "y": { + "description": "Sets the y position of the color bar (in plot fraction).", + "dflt": 0.5, + "role": "style", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", + "dflt": "middle", + "role": "style", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "colorscale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "line": { + "autocolorscale": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cauto": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cmax": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the upper bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "cmin": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the lower bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "color": { + "arrayOk": true, + "description": "Sets the color of the lines bounding the marker points.", + "role": "style", + "valType": "color" + }, + "colorscale": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "reversescale": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "role": "object", + "width": { + "arrayOk": true, + "description": "Sets the width (in px) of the lines bounding the marker points.", + "min": 0, + "role": "style", + "valType": "number" + }, + "widthsrc": { + "description": "Sets the source reference on plot.ly for width .", + "role": "info", + "valType": "string" + } + }, + "maxdisplayed": { + "description": "Sets a maximum number of points to be drawn on the graph. *0* corresponds to no limit.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "opacity": { + "arrayOk": true, + "description": "Sets the marker opacity.", + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "opacitysrc": { + "description": "Sets the source reference on plot.ly for opacity .", + "role": "info", + "valType": "string" + }, + "reversescale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "role": "object", + "showscale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Determines whether or not a colorbar is displayed.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "size": { + "arrayOk": true, + "description": "Sets the marker size (in px).", + "dflt": 6, + "min": 0, + "role": "style", + "valType": "number" + }, + "sizemin": { + "description": "Has only an effect if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "sizemode": { + "description": "Has only an effect if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.", + "dflt": "diameter", + "role": "info", + "valType": "enumerated", + "values": [ + "diameter", + "area" + ] + }, + "sizeref": { + "description": "Has only an effect if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.", + "dflt": 1, + "role": "style", + "valType": "number" + }, + "sizesrc": { + "description": "Sets the source reference on plot.ly for size .", + "role": "info", + "valType": "string" + }, + "symbol": { + "arrayOk": true, + "description": "Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.", + "dflt": "circle", + "role": "style", + "valType": "enumerated", + "values": [ + 0, + "circle", + 100, + "circle-open", + 200, + "circle-dot", + 300, + "circle-open-dot", + 1, + "square", + 101, + "square-open", + 201, + "square-dot", + 301, + "square-open-dot", + 2, + "diamond", + 102, + "diamond-open", + 202, + "diamond-dot", + 302, + "diamond-open-dot", + 3, + "cross", + 103, + "cross-open", + 203, + "cross-dot", + 303, + "cross-open-dot", + 4, + "x", + 104, + "x-open", + 204, + "x-dot", + 304, + "x-open-dot", + 5, + "triangle-up", + 105, + "triangle-up-open", + 205, + "triangle-up-dot", + 305, + "triangle-up-open-dot", + 6, + "triangle-down", + 106, + "triangle-down-open", + 206, + "triangle-down-dot", + 306, + "triangle-down-open-dot", + 7, + "triangle-left", + 107, + "triangle-left-open", + 207, + "triangle-left-dot", + 307, + "triangle-left-open-dot", + 8, + "triangle-right", + 108, + "triangle-right-open", + 208, + "triangle-right-dot", + 308, + "triangle-right-open-dot", + 9, + "triangle-ne", + 109, + "triangle-ne-open", + 209, + "triangle-ne-dot", + 309, + "triangle-ne-open-dot", + 10, + "triangle-se", + 110, + "triangle-se-open", + 210, + "triangle-se-dot", + 310, + "triangle-se-open-dot", + 11, + "triangle-sw", + 111, + "triangle-sw-open", + 211, + "triangle-sw-dot", + 311, + "triangle-sw-open-dot", + 12, + "triangle-nw", + 112, + "triangle-nw-open", + 212, + "triangle-nw-dot", + 312, + "triangle-nw-open-dot", + 13, + "pentagon", + 113, + "pentagon-open", + 213, + "pentagon-dot", + 313, + "pentagon-open-dot", + 14, + "hexagon", + 114, + "hexagon-open", + 214, + "hexagon-dot", + 314, + "hexagon-open-dot", + 15, + "hexagon2", + 115, + "hexagon2-open", + 215, + "hexagon2-dot", + 315, + "hexagon2-open-dot", + 16, + "octagon", + 116, + "octagon-open", + 216, + "octagon-dot", + 316, + "octagon-open-dot", + 17, + "star", + 117, + "star-open", + 217, + "star-dot", + 317, + "star-open-dot", + 18, + "hexagram", + 118, + "hexagram-open", + 218, + "hexagram-dot", + 318, + "hexagram-open-dot", + 19, + "star-triangle-up", + 119, + "star-triangle-up-open", + 219, + "star-triangle-up-dot", + 319, + "star-triangle-up-open-dot", + 20, + "star-triangle-down", + 120, + "star-triangle-down-open", + 220, + "star-triangle-down-dot", + 320, + "star-triangle-down-open-dot", + 21, + "star-square", + 121, + "star-square-open", + 221, + "star-square-dot", + 321, + "star-square-open-dot", + 22, + "star-diamond", + 122, + "star-diamond-open", + 222, + "star-diamond-dot", + 322, + "star-diamond-open-dot", + 23, + "diamond-tall", + 123, + "diamond-tall-open", + 223, + "diamond-tall-dot", + 323, + "diamond-tall-open-dot", + 24, + "diamond-wide", + 124, + "diamond-wide-open", + 224, + "diamond-wide-dot", + 324, + "diamond-wide-open-dot", + 25, + "hourglass", + 125, + "hourglass-open", + 26, + "bowtie", + 126, + "bowtie-open", + 27, + "circle-cross", + 127, + "circle-cross-open", + 28, + "circle-x", + 128, + "circle-x-open", + 29, + "square-cross", + 129, + "square-cross-open", + 30, + "square-x", + 130, + "square-x-open", + 31, + "diamond-cross", + 131, + "diamond-cross-open", + 32, + "diamond-x", + 132, + "diamond-x-open", + 33, + "cross-thin", + 133, + "cross-thin-open", + 34, + "x-thin", + 134, + "x-thin-open", + 35, + "asterisk", + 135, + "asterisk-open", + 36, + "hash", + 136, + "hash-open", + 236, + "hash-dot", + 336, + "hash-open-dot", + 37, + "y-up", + 137, + "y-up-open", + 38, + "y-down", + 138, + "y-down-open", + 39, + "y-left", + 139, + "y-left-open", + 40, + "y-right", + 140, + "y-right-open", + 41, + "line-ew", + 141, + "line-ew-open", + 42, + "line-ns", + 142, + "line-ns-open", + 43, + "line-ne", + 143, + "line-ne-open", + 44, + "line-nw", + 144, + "line-nw-open" + ] + }, + "symbolsrc": { + "description": "Sets the source reference on plot.ly for symbol .", + "role": "info", + "valType": "string" + } + }, + "mode": { + "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.", + "extras": [ + "none" + ], + "flags": [ + "lines", + "markers", + "text" + ], + "role": "info", + "valType": "flaglist" + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "r": { + "description": "For polar chart only.Sets the radial coordinates.", + "role": "data", + "valType": "data_array" + }, + "rsrc": { + "description": "Sets the source reference on plot.ly for r .", + "role": "info", + "valType": "string" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "t": { + "description": "For polar chart only.Sets the angular coordinates.", + "role": "data", + "valType": "data_array" + }, + "text": { + "arrayOk": true, + "description": "Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "textfont": { + "color": { + "arrayOk": true, + "role": "style", + "valType": "color" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "description": "Sets the text font.", + "family": { + "arrayOk": true, + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "familysrc": { + "description": "Sets the source reference on plot.ly for family .", + "role": "info", + "valType": "string" + }, + "role": "object", + "size": { + "arrayOk": true, + "min": 1, + "role": "style", + "valType": "number" + }, + "sizesrc": { + "description": "Sets the source reference on plot.ly for size .", + "role": "info", + "valType": "string" + } + }, + "textposition": { + "arrayOk": true, + "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates.", + "dflt": "middle center", + "role": "style", + "valType": "enumerated", + "values": [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right" + ] + }, + "textpositionsrc": { + "description": "Sets the source reference on plot.ly for textposition .", + "role": "info", + "valType": "string" + }, + "textsrc": { + "description": "Sets the source reference on plot.ly for text .", + "role": "info", + "valType": "string" + }, + "tsrc": { + "description": "Sets the source reference on plot.ly for t .", + "role": "info", + "valType": "string" + }, + "type": "scatter", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "x": { + "description": "Sets the x coordinates.", + "role": "data", + "valType": "data_array" + }, + "x0": { + "description": "Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.", + "dflt": 0, + "role": "info", + "valType": "any" + }, + "xaxis": { + "description": "Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If *x* (the default value), the x coordinates refer to `layout.xaxis`. If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "x", + "role": "info", + "valType": "axisid" + }, + "xsrc": { + "description": "Sets the source reference on plot.ly for x .", + "role": "info", + "valType": "string" + }, + "y": { + "description": "Sets the y coordinates.", + "role": "data", + "valType": "data_array" + }, + "y0": { + "description": "Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.", + "dflt": 0, + "role": "info", + "valType": "any" + }, + "yaxis": { + "description": "Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If *y* (the default value), the y coordinates refer to `layout.yaxis`. If *y2*, the y coordinates refer to `layout.xaxis2`, and so on.", + "dflt": "y", + "role": "info", + "valType": "axisid" + }, + "ysrc": { + "description": "Sets the source reference on plot.ly for y .", + "role": "info", + "valType": "string" + } + }, + "description": "The data visualized as scatter point or lines is set in `x` and `y` Text (appearing either on the chart or on hover only) is via `text`. Bubble charts are achieved by setting `marker.size` and/or `marker.color` to a numerical arrays." + }, + "scatter3d": { + "attributes": { + "error_x": { + "_deprecated": { + "opacity": { + "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", + "role": "style", + "valType": "number" + } + }, + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminussrc": { + "description": "Sets the source reference on plot.ly for arrayminus .", + "role": "info", + "valType": "string" + }, + "arraysrc": { + "description": "Sets the source reference on plot.ly for array .", + "role": "info", + "valType": "string" + }, + "color": { + "description": "Sets the stoke color of the error bars.", + "role": "style", + "valType": "color" + }, + "copy_ystyle": { + "role": "style", + "valType": "boolean" + }, + "copy_zstyle": { + "role": "style", + "valType": "boolean" + }, + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", + "role": "info", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + }, + "traceref": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the sqaure of the underlying data. If *array*, the bar lengths are set with data set `array`.", + "role": "info", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "role": "info", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "min": 0, + "role": "style", + "valType": "number" + } + }, + "error_y": { + "_deprecated": { + "opacity": { + "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", + "role": "style", + "valType": "number" + } + }, + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminussrc": { + "description": "Sets the source reference on plot.ly for arrayminus .", + "role": "info", + "valType": "string" + }, + "arraysrc": { + "description": "Sets the source reference on plot.ly for array .", + "role": "info", + "valType": "string" + }, + "color": { + "description": "Sets the stoke color of the error bars.", + "role": "style", + "valType": "color" + }, + "copy_ystyle": { + "role": "style", + "valType": "boolean" + }, + "copy_zstyle": { + "role": "style", + "valType": "boolean" + }, + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", + "role": "info", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + }, + "traceref": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the sqaure of the underlying data. If *array*, the bar lengths are set with data set `array`.", + "role": "info", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "role": "info", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "min": 0, + "role": "style", + "valType": "number" + } + }, + "error_z": { + "_deprecated": { + "opacity": { + "description": "Obsolete. Use the alpha channel in error bar `color` to set the opacity.", + "role": "style", + "valType": "number" + } + }, + "array": { + "description": "Sets the data corresponding the length of each error bar. Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminus": { + "description": "Sets the data corresponding the length of each error bar in the bottom (left) direction for vertical (horizontal) bars Values are plotted relative to the underlying data.", + "role": "data", + "valType": "data_array" + }, + "arrayminussrc": { + "description": "Sets the source reference on plot.ly for arrayminus .", + "role": "info", + "valType": "string" + }, + "arraysrc": { + "description": "Sets the source reference on plot.ly for array .", + "role": "info", + "valType": "string" + }, + "color": { + "description": "Sets the stoke color of the error bars.", + "role": "style", + "valType": "color" + }, + "copy_ystyle": { + "role": "style", + "valType": "boolean" + }, + "copy_zstyle": { + "role": "style", + "valType": "boolean" + }, + "role": "object", + "symmetric": { + "description": "Determines whether or not the error bars have the same length in both direction (top/bottom for vertical bars, left/right for horizontal bars.", + "role": "info", + "valType": "boolean" + }, + "thickness": { + "description": "Sets the thickness (in px) of the error bars.", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + }, + "traceref": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "tracerefminus": { + "dflt": 0, + "min": 0, + "role": "info", + "valType": "integer" + }, + "type": { + "description": "Determines the rule used to generate the error bars. If *constant`, the bar lengths are of a constant value. Set this constant in `value`. If *percent*, the bar lengths correspond to a percentage of underlying data. Set this percentage in `value`. If *sqrt*, the bar lengths correspond to the sqaure of the underlying data. If *array*, the bar lengths are set with data set `array`.", + "role": "info", + "valType": "enumerated", + "values": [ + "percent", + "constant", + "sqrt", + "data" + ] + }, + "value": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars.", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "valueminus": { + "description": "Sets the value of either the percentage (if `type` is set to *percent*) or the constant (if `type` is set to *constant*) corresponding to the lengths of the error bars in the bottom (left) direction for vertical (horizontal) bars", + "dflt": 10, + "min": 0, + "role": "info", + "valType": "number" + }, + "visible": { + "description": "Determines whether or not this set of error bars is visible.", + "role": "info", + "valType": "boolean" + }, + "width": { + "description": "Sets the width (in px) of the cross-bar at both ends of the error bars.", + "min": 0, + "role": "style", + "valType": "number" + } + }, + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "line": { + "color": { + "description": "Sets the line color.", + "role": "style", + "valType": "color" + }, + "dash": { + "description": "Sets the style of the lines.", + "dflt": "solid", + "role": "style", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] + }, + "role": "object", + "width": { + "description": "Sets the line width (in px).", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "marker": { + "autocolorscale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Determines whether or not the colorscale is picked using values inside `marker.color`.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cauto": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Determines the whether or not the color domain is computed automatically.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cmax": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Sets the upper bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "cmin": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Sets the lower bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "color": { + "arrayOk": true, + "description": "Sets the marker color.", + "role": "style", + "valType": "color" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "len": { + "description": "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.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "lenmode": { + "description": "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.", + "dflt": "fraction", + "role": "info", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "orient": { + "dflt": "right", + "role": "info", + "valType": "enumerated", + "values": [ + "left", + "right", + "top", + "bottom" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "min": 0, + "role": "style", + "valType": "number" + }, + "thicknessmode": { + "description": "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.", + "dflt": "pixels", + "role": "style", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of the color bar.", + "dflt": "Click to enter colorscale title", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "titleside": { + "dflt": "top", + "role": "style", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "x": { + "description": "Sets the x position of the color bar (in plot fraction).", + "dflt": 1.02, + "role": "style", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "dflt": "left", + "role": "style", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "y": { + "description": "Sets the y position of the color bar (in plot fraction).", + "dflt": 0.5, + "role": "style", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", + "dflt": "middle", + "role": "style", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "colorscale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "line": { + "autocolorscale": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cauto": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cmax": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the upper bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "cmin": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the lower bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "color": { + "arrayOk": true, + "description": "Sets the color of the lines bounding the marker points.", + "role": "style", + "valType": "color" + }, + "colorscale": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "reversescale": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "role": "object", + "width": { + "arrayOk": false, + "description": "Sets the width (in px) of the lines bounding the marker points.", + "min": 0, + "role": "style", + "valType": "number" + } + }, + "opacity": { + "arrayOk": true, + "description": "Sets the marker opacity.", + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "opacitysrc": { + "description": "Sets the source reference on plot.ly for opacity .", + "role": "info", + "valType": "string" + }, + "reversescale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "role": "object", + "showscale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Determines whether or not a colorbar is displayed.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "size": { + "arrayOk": true, + "description": "Sets the marker size (in px).", + "dflt": 8, + "min": 0, + "role": "style", + "valType": "number" + }, + "sizemin": { + "description": "Has only an effect if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "sizemode": { + "description": "Has only an effect if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.", + "dflt": "diameter", + "role": "info", + "valType": "enumerated", + "values": [ + "diameter", + "area" + ] + }, + "sizeref": { + "description": "Has only an effect if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.", + "dflt": 1, + "role": "style", + "valType": "number" + }, + "sizesrc": { + "description": "Sets the source reference on plot.ly for size .", + "role": "info", + "valType": "string" + }, + "symbol": { + "arrayOk": true, + "description": "Sets the marker symbol type.", + "dflt": "circle", + "role": "style", + "valType": "enumerated", + "values": [ + "circle", + "circle-open", + "square", + "square-open", + "diamond", + "diamond-open", + "cross", + "x" + ] + }, + "symbolsrc": { + "description": "Sets the source reference on plot.ly for symbol .", + "role": "info", + "valType": "string" + } + }, + "mode": { + "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.", + "dflt": "lines+markers", + "extras": [ + "none" + ], + "flags": [ + "lines", + "markers", + "text" + ], + "role": "info", + "valType": "flaglist" + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "projection": { + "role": "object", + "x": { + "opacity": { + "description": "Sets the projection color.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "scale": { + "description": "Sets the scale factor determining the size of the projection marker points.", + "dflt": 0.6666666666666666, + "max": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "show": { + "description": "Sets whether or not projections are shown along the x axis.", + "dflt": false, + "role": "info", + "valType": "boolean" + } + }, + "y": { + "opacity": { + "description": "Sets the projection color.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "scale": { + "description": "Sets the scale factor determining the size of the projection marker points.", + "dflt": 0.6666666666666666, + "max": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "show": { + "description": "Sets whether or not projections are shown along the y axis.", + "dflt": false, + "role": "info", + "valType": "boolean" + } + }, + "z": { + "opacity": { + "description": "Sets the projection color.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "scale": { + "description": "Sets the scale factor determining the size of the projection marker points.", + "dflt": 0.6666666666666666, + "max": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "show": { + "description": "Sets whether or not projections are shown along the z axis.", + "dflt": false, + "role": "info", + "valType": "boolean" + } + } + }, + "scene": { + "description": "Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.", + "dflt": "scene", + "role": "info", + "valType": "sceneid" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "surfaceaxis": { + "description": "If *-1*, the scatter points are not fill with a surface If *0*, *1*, *2*, the scatter points are filled with a Delaunay surface about the x, y, z respectively.", + "dflt": -1, + "role": "info", + "valType": "enumerated", + "values": [ + -1, + 0, + 1, + 2 + ] + }, + "surfacecolor": { + "description": "Sets the surface fill color.", + "role": "style", + "valType": "color" + }, + "text": { + "arrayOk": true, + "description": "Sets text elements associated with each (x,y,z) triplet. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y,z) coordinates.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "textfont": { + "color": { + "arrayOk": true, + "role": "style", + "valType": "color" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "description": "Sets the text font.", + "family": { + "arrayOk": true, + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "familysrc": { + "description": "Sets the source reference on plot.ly for family .", + "role": "info", + "valType": "string" + }, + "role": "object", + "size": { + "arrayOk": true, + "min": 1, + "role": "style", + "valType": "number" + }, + "sizesrc": { + "description": "Sets the source reference on plot.ly for size .", + "role": "info", + "valType": "string" + } + }, + "textposition": { + "arrayOk": true, + "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates.", + "dflt": "top center", + "role": "style", + "valType": "enumerated", + "values": [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right" + ] + }, + "textpositionsrc": { + "description": "Sets the source reference on plot.ly for textposition .", + "role": "info", + "valType": "string" + }, + "textsrc": { + "description": "Sets the source reference on plot.ly for text .", + "role": "info", + "valType": "string" + }, + "type": "scatter3d", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "x": { + "description": "Sets the x coordinates.", + "role": "data", + "valType": "data_array" + }, + "xsrc": { + "description": "Sets the source reference on plot.ly for x .", + "role": "info", + "valType": "string" + }, + "y": { + "description": "Sets the y coordinates.", + "role": "data", + "valType": "data_array" + }, + "ysrc": { + "description": "Sets the source reference on plot.ly for y .", + "role": "info", + "valType": "string" + }, + "z": { + "description": "Sets the z coordinates.", + "role": "data", + "valType": "data_array" + }, + "zsrc": { + "description": "Sets the source reference on plot.ly for z .", + "role": "info", + "valType": "string" + } + }, + "description": "The data visualized as scatter point or lines in 3D dimension is set in `x`, `y`, `z`. Text (appearing either on the chart or on hover only) is via `text`. Bubble charts are achieved by setting `marker.size` and/or `marker.color` Projections are achieved via `projection`. Surface fills are achieved via `surfaceaxis`.", + "hrName": "scatter_3d" + }, + "scattergeo": { + "attributes": { + "geo": { + "description": "Sets a reference between this trace's geospatial coordinates and a geographic map. If *geo* (the default value), the geospatial coordinates refer to `layout.geo`. If *geo2*, the geospatial coordinates refer to `layout.geo2`, and so on.", + "dflt": "geo", + "role": "info", + "valType": "geoid" + }, + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "lat": { + "description": "Sets the latitude coordinates (in degrees North).", + "role": "data", + "valType": "data_array" + }, + "latsrc": { + "description": "Sets the source reference on plot.ly for lat .", + "role": "info", + "valType": "string" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "line": { + "color": { + "description": "Sets the line color.", + "role": "style", + "valType": "color" + }, + "dash": { + "description": "Sets the style of the lines.", + "dflt": "solid", + "role": "style", + "valType": "string", + "values": [ + "solid", + "dot", + "dash", + "longdash", + "dashdot", + "longdashdot" + ] + }, + "role": "object", + "width": { + "description": "Sets the line width (in px).", + "dflt": 2, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "locationmode": { + "description": "Determines the set of locations used to match entries in `locations` to regions on the map.", + "dflt": "ISO-3", + "role": "info", + "valType": "enumerated", + "values": [ + "ISO-3", + "USA-states", + "country names" + ] + }, + "locations": { + "description": "Sets the coordinates via location IDs or names. Coordinates correspond to the centroid of each location given. See `locationmode` for more info.", + "role": "data", + "valType": "data_array" + }, + "locationssrc": { + "description": "Sets the source reference on plot.ly for locations .", + "role": "info", + "valType": "string" + }, + "lon": { + "description": "Sets the longitude coordinates (in degrees East).", + "role": "data", + "valType": "data_array" + }, + "lonsrc": { + "description": "Sets the source reference on plot.ly for lon .", + "role": "info", + "valType": "string" + }, + "marker": { + "autocolorscale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Determines whether or not the colorscale is picked using values inside `marker.color`.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cauto": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Determines the whether or not the color domain is computed automatically.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cmax": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Sets the upper bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "cmin": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Sets the lower bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "color": { + "arrayOk": true, + "description": "Sets the marker color.", + "role": "style", + "valType": "color" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "len": { + "description": "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.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "lenmode": { + "description": "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.", + "dflt": "fraction", + "role": "info", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "orient": { + "dflt": "right", + "role": "info", + "valType": "enumerated", + "values": [ + "left", + "right", + "top", + "bottom" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "min": 0, + "role": "style", + "valType": "number" + }, + "thicknessmode": { + "description": "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.", + "dflt": "pixels", + "role": "style", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of the color bar.", + "dflt": "Click to enter colorscale title", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "titleside": { + "dflt": "top", + "role": "style", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "x": { + "description": "Sets the x position of the color bar (in plot fraction).", + "dflt": 1.02, + "role": "style", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "dflt": "left", + "role": "style", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "y": { + "description": "Sets the y position of the color bar (in plot fraction).", + "dflt": 0.5, + "role": "style", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", + "dflt": "middle", + "role": "style", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "colorscale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "line": { + "autocolorscale": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines whether or not the colorscale is picked using the sign of values inside `marker.line.color`.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cauto": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Determines the whether or not the color domain is computed with respect to the input data.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "cmax": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the upper bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "cmin": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the lower bound of the color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "color": { + "arrayOk": true, + "description": "Sets the color of the lines bounding the marker points.", + "role": "style", + "valType": "color" + }, + "colorscale": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "reversescale": { + "description": "Has only an effect if `marker.color.line` is set to a numerical array. Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "role": "object", + "width": { + "arrayOk": true, + "description": "Sets the width (in px) of the lines bounding the marker points.", + "min": 0, + "role": "style", + "valType": "number" + }, + "widthsrc": { + "description": "Sets the source reference on plot.ly for width .", + "role": "info", + "valType": "string" + } + }, + "opacity": { + "arrayOk": true, + "description": "Sets the marker opacity.", + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "opacitysrc": { + "description": "Sets the source reference on plot.ly for opacity .", + "role": "info", + "valType": "string" + }, + "reversescale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "role": "object", + "showscale": { + "description": "Has only an effect if `marker.color` is set to a numerical array. Determines whether or not a colorbar is displayed.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "size": { + "arrayOk": true, + "description": "Sets the marker size (in px).", + "dflt": 6, + "min": 0, + "role": "style", + "valType": "number" + }, + "sizemin": { + "description": "Has only an effect if `marker.size` is set to a numerical array. Sets the minimum size (in px) of the rendered marker points.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "sizemode": { + "description": "Has only an effect if `marker.size` is set to a numerical array. Sets the rule for which the data in `size` is converted to pixels.", + "dflt": "diameter", + "role": "info", + "valType": "enumerated", + "values": [ + "diameter", + "area" + ] + }, + "sizeref": { + "description": "Has only an effect if `marker.size` is set to a numerical array. Sets the scale factor used to determine the rendered size of marker points. Use with `sizemin` and `sizemode`.", + "dflt": 1, + "role": "style", + "valType": "number" + }, + "sizesrc": { + "description": "Sets the source reference on plot.ly for size .", + "role": "info", + "valType": "string" + }, + "symbol": { + "arrayOk": true, + "description": "Sets the marker symbol type. Adding 100 is equivalent to appending *-open* to a symbol name. Adding 200 is equivalent to appending *-dot* to a symbol name. Adding 300 is equivalent to appending *-open-dot* or *dot-open* to a symbol name.", + "dflt": "circle", + "role": "style", + "valType": "enumerated", + "values": [ + 0, + "circle", + 100, + "circle-open", + 200, + "circle-dot", + 300, + "circle-open-dot", + 1, + "square", + 101, + "square-open", + 201, + "square-dot", + 301, + "square-open-dot", + 2, + "diamond", + 102, + "diamond-open", + 202, + "diamond-dot", + 302, + "diamond-open-dot", + 3, + "cross", + 103, + "cross-open", + 203, + "cross-dot", + 303, + "cross-open-dot", + 4, + "x", + 104, + "x-open", + 204, + "x-dot", + 304, + "x-open-dot", + 5, + "triangle-up", + 105, + "triangle-up-open", + 205, + "triangle-up-dot", + 305, + "triangle-up-open-dot", + 6, + "triangle-down", + 106, + "triangle-down-open", + 206, + "triangle-down-dot", + 306, + "triangle-down-open-dot", + 7, + "triangle-left", + 107, + "triangle-left-open", + 207, + "triangle-left-dot", + 307, + "triangle-left-open-dot", + 8, + "triangle-right", + 108, + "triangle-right-open", + 208, + "triangle-right-dot", + 308, + "triangle-right-open-dot", + 9, + "triangle-ne", + 109, + "triangle-ne-open", + 209, + "triangle-ne-dot", + 309, + "triangle-ne-open-dot", + 10, + "triangle-se", + 110, + "triangle-se-open", + 210, + "triangle-se-dot", + 310, + "triangle-se-open-dot", + 11, + "triangle-sw", + 111, + "triangle-sw-open", + 211, + "triangle-sw-dot", + 311, + "triangle-sw-open-dot", + 12, + "triangle-nw", + 112, + "triangle-nw-open", + 212, + "triangle-nw-dot", + 312, + "triangle-nw-open-dot", + 13, + "pentagon", + 113, + "pentagon-open", + 213, + "pentagon-dot", + 313, + "pentagon-open-dot", + 14, + "hexagon", + 114, + "hexagon-open", + 214, + "hexagon-dot", + 314, + "hexagon-open-dot", + 15, + "hexagon2", + 115, + "hexagon2-open", + 215, + "hexagon2-dot", + 315, + "hexagon2-open-dot", + 16, + "octagon", + 116, + "octagon-open", + 216, + "octagon-dot", + 316, + "octagon-open-dot", + 17, + "star", + 117, + "star-open", + 217, + "star-dot", + 317, + "star-open-dot", + 18, + "hexagram", + 118, + "hexagram-open", + 218, + "hexagram-dot", + 318, + "hexagram-open-dot", + 19, + "star-triangle-up", + 119, + "star-triangle-up-open", + 219, + "star-triangle-up-dot", + 319, + "star-triangle-up-open-dot", + 20, + "star-triangle-down", + 120, + "star-triangle-down-open", + 220, + "star-triangle-down-dot", + 320, + "star-triangle-down-open-dot", + 21, + "star-square", + 121, + "star-square-open", + 221, + "star-square-dot", + 321, + "star-square-open-dot", + 22, + "star-diamond", + 122, + "star-diamond-open", + 222, + "star-diamond-dot", + 322, + "star-diamond-open-dot", + 23, + "diamond-tall", + 123, + "diamond-tall-open", + 223, + "diamond-tall-dot", + 323, + "diamond-tall-open-dot", + 24, + "diamond-wide", + 124, + "diamond-wide-open", + 224, + "diamond-wide-dot", + 324, + "diamond-wide-open-dot", + 25, + "hourglass", + 125, + "hourglass-open", + 26, + "bowtie", + 126, + "bowtie-open", + 27, + "circle-cross", + 127, + "circle-cross-open", + 28, + "circle-x", + 128, + "circle-x-open", + 29, + "square-cross", + 129, + "square-cross-open", + 30, + "square-x", + 130, + "square-x-open", + 31, + "diamond-cross", + 131, + "diamond-cross-open", + 32, + "diamond-x", + 132, + "diamond-x-open", + 33, + "cross-thin", + 133, + "cross-thin-open", + 34, + "x-thin", + 134, + "x-thin-open", + 35, + "asterisk", + 135, + "asterisk-open", + 36, + "hash", + 136, + "hash-open", + 236, + "hash-dot", + 336, + "hash-open-dot", + 37, + "y-up", + 137, + "y-up-open", + 38, + "y-down", + 138, + "y-down-open", + 39, + "y-left", + 139, + "y-left-open", + 40, + "y-right", + 140, + "y-right-open", + 41, + "line-ew", + 141, + "line-ew-open", + 42, + "line-ns", + 142, + "line-ns-open", + 43, + "line-ne", + 143, + "line-ne-open", + 44, + "line-nw", + 144, + "line-nw-open" + ] + }, + "symbolsrc": { + "description": "Sets the source reference on plot.ly for symbol .", + "role": "info", + "valType": "string" + } + }, + "mode": { + "description": "Determines the drawing mode for this scatter trace. If the provided `mode` includes *text* then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover.", + "dflt": "markers", + "extras": [ + "none" + ], + "flags": [ + "lines", + "markers", + "text" + ], + "role": "info", + "valType": "flaglist" + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "text": { + "arrayOk": true, + "description": "Sets text elements associated with each (lon,lat) pair. or item in `locations`. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (lon,lat) or `locations` coordinates.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "textfont": { + "color": { + "arrayOk": true, + "role": "style", + "valType": "color" + }, + "colorsrc": { + "description": "Sets the source reference on plot.ly for color .", + "role": "info", + "valType": "string" + }, + "description": "Sets the text font.", + "family": { + "arrayOk": true, + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "familysrc": { + "description": "Sets the source reference on plot.ly for family .", + "role": "info", + "valType": "string" + }, + "role": "object", + "size": { + "arrayOk": true, + "min": 1, + "role": "style", + "valType": "number" + }, + "sizesrc": { + "description": "Sets the source reference on plot.ly for size .", + "role": "info", + "valType": "string" + } + }, + "textposition": { + "arrayOk": true, + "description": "Sets the positions of the `text` elements with respects to the (x,y) coordinates.", + "dflt": "middle center", + "role": "style", + "valType": "enumerated", + "values": [ + "top left", + "top center", + "top right", + "middle left", + "middle center", + "middle right", + "bottom left", + "bottom center", + "bottom right" + ] + }, + "textpositionsrc": { + "description": "Sets the source reference on plot.ly for textposition .", + "role": "info", + "valType": "string" + }, + "textsrc": { + "description": "Sets the source reference on plot.ly for text .", + "role": "info", + "valType": "string" + }, + "type": "scattergeo", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + } + }, + "description": "The data visualized as scatter point or lines on a geographic map is provided either by longitude/latitude pairs in `lon` and `lat` respectively or by geographic location IDs or names in `locations`.", + "hrName": "scatter_geo" + }, + "surface": { + "attributes": { + "autocolorscale": { + "description": "Determines whether or not the colorscale is picked using the sign of the input z values.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "colorbar": { + "bgcolor": { + "description": "Sets the color of padded area.", + "dflt": "rgba(0,0,0,0)", + "role": "style", + "valType": "color" + }, + "bordercolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "borderwidth": { + "description": "Sets the width (in px) or the border enclosing this color bar.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "number" + }, + "dtick": { + "description": "Sets the step in-between ticks on this axis", + "dflt": 1, + "role": "style", + "valType": "any" + }, + "exponentformat": { + "description": "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.", + "dflt": "B", + "role": "style", + "valType": "enumerated", + "values": [ + "none", + "e", + "E", + "power", + "SI", + "B" + ] + }, + "len": { + "description": "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.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "lenmode": { + "description": "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.", + "dflt": "fraction", + "role": "info", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "nticks": { + "description": "Sets the number of ticks. Has an effect only if `tickmode` is set to *auto*.", + "dflt": 0, + "min": 0, + "role": "style", + "valType": "integer" + }, + "orient": { + "dflt": "right", + "role": "info", + "valType": "enumerated", + "values": [ + "left", + "right", + "top", + "bottom" + ] + }, + "outlinecolor": { + "description": "Sets the axis line color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "outlinewidth": { + "description": "Sets the width (in px) of the axis line.", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "showexponent": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticklabels": { + "description": "Determines whether or not the tick labels are drawn.", + "dflt": true, + "role": "style", + "valType": "boolean" + }, + "showtickprefix": { + "description": "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.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "showticksuffix": { + "description": "Same as `showtickprefix` but for tick suffixes.", + "dflt": "all", + "role": "style", + "valType": "enumerated", + "values": [ + "all", + "first", + "last", + "none" + ] + }, + "thickness": { + "description": "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.", + "dflt": 30, + "min": 0, + "role": "style", + "valType": "number" + }, + "thicknessmode": { + "description": "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.", + "dflt": "pixels", + "role": "style", + "valType": "enumerated", + "values": [ + "fraction", + "pixels" + ] + }, + "tick0": { + "description": "Sets the placement of the first tick on this axis. Use with `dtick`.", + "dflt": 0, + "role": "style", + "valType": "number" + }, + "tickangle": { + "description": "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.", + "dflt": "auto", + "role": "style", + "valType": "angle" + }, + "tickcolor": { + "description": "Sets the tick color.", + "dflt": "#444", + "role": "style", + "valType": "color" + }, + "tickfont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets the tick font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "tickformat": { + "description": "Sets the tick label formatting rule using the python/d3 number formatting language. See https://github.com/mbostock/d3/wiki/Formatting#numbers or https://docs.python.org/release/3.1.3/library/string.html#formatspec for more info.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticklen": { + "description": "Sets the tick length (in px).", + "dflt": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "tickmode": { + "description": "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).", + "role": "info", + "valType": "enumerated", + "values": [ + "auto", + "linear", + "array" + ] + }, + "tickprefix": { + "description": "Sets a tick label prefix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticks": { + "description": "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.", + "dflt": "", + "role": "style", + "valType": "enumerated", + "values": [ + "outside", + "inside", + "" + ] + }, + "ticksuffix": { + "description": "Sets a tick label suffix.", + "dflt": "", + "role": "style", + "valType": "string" + }, + "ticktext": { + "description": "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "ticktextsrc": { + "description": "Sets the source reference on plot.ly for ticktext .", + "role": "info", + "valType": "string" + }, + "tickvals": { + "description": "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.", + "role": "data", + "valType": "data_array" + }, + "tickvalssrc": { + "description": "Sets the source reference on plot.ly for tickvals .", + "role": "info", + "valType": "string" + }, + "tickwidth": { + "description": "Sets the tick width (in px).", + "dflt": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "title": { + "description": "Sets the title of the color bar.", + "dflt": "Click to enter colorscale title", + "role": "info", + "valType": "string" + }, + "titlefont": { + "color": { + "role": "style", + "valType": "color" + }, + "description": "Sets this color bar's title font.", + "family": { + "noBlank": true, + "role": "style", + "strict": true, + "valType": "string" + }, + "role": "object", + "size": { + "min": 1, + "role": "style", + "valType": "number" + } + }, + "titleside": { + "dflt": "top", + "role": "style", + "valType": "enumerated", + "values": [ + "right", + "top", + "bottom" + ] + }, + "x": { + "description": "Sets the x position of the color bar (in plot fraction).", + "dflt": 1.02, + "role": "style", + "valType": "number" + }, + "xanchor": { + "description": "Sets this color bar's horizontal position anchor This anchor binds the `x` position to the *left*, *center* or *right* of the color bar.", + "dflt": "left", + "role": "style", + "valType": "enumerated", + "values": [ + "left", + "center", + "right" + ] + }, + "xpad": { + "description": "Sets the amount of padding (in px) along the x direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + }, + "y": { + "description": "Sets the y position of the color bar (in plot fraction).", + "dflt": 0.5, + "role": "style", + "valType": "number" + }, + "yanchor": { + "description": "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar.", + "dflt": "middle", + "role": "style", + "valType": "enumerated", + "values": [ + "top", + "middle", + "bottom" + ] + }, + "ypad": { + "description": "Sets the amount of padding (in px) along the y direction.", + "dflt": 10, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "colorscale": { + "description": "Sets the colorscale.", + "role": "style", + "valType": "colorscale" + }, + "contours": { + "role": "object", + "x": { + "color": { + "dflt": "#000", + "role": "style", + "valType": "color" + }, + "highlight": { + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "highlightColor": { + "dflt": "#000", + "role": "style", + "valType": "color" + }, + "highlightWidth": { + "dflt": 2, + "max": 16, + "min": 1, + "role": "style", + "valType": "number" + }, + "project": { + "role": "object", + "x": { + "description": "Sets whether or not the dynamic contours are projected along the x axis.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "y": { + "description": "Sets whether or not the dynamic contours are projected along the y axis.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "z": { + "description": "Sets whether or not the dynamic contours are projected along the z axis.", + "dflt": false, + "role": "info", + "valType": "boolean" + } + }, + "role": "object", + "show": { + "description": "Sets whether or not dynamic contours are shown along the x axis", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "usecolormap": { + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "width": { + "dflt": 2, + "max": 16, + "min": 1, + "role": "style", + "valType": "number" + } + }, + "y": { + "color": { + "dflt": "#000", + "role": "style", + "valType": "color" + }, + "highlight": { + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "highlightColor": { + "dflt": "#000", + "role": "style", + "valType": "color" + }, + "highlightWidth": { + "dflt": 2, + "max": 16, + "min": 1, + "role": "style", + "valType": "number" + }, + "project": { + "role": "object", + "x": { + "description": "Sets whether or not the dynamic contours are projected along the x axis.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "y": { + "description": "Sets whether or not the dynamic contours are projected along the y axis.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "z": { + "description": "Sets whether or not the dynamic contours are projected along the z axis.", + "dflt": false, + "role": "info", + "valType": "boolean" + } + }, + "role": "object", + "show": { + "description": "Sets whether or not dynamic contours are shown along the y axis", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "usecolormap": { + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "width": { + "dflt": 2, + "max": 16, + "min": 1, + "role": "style", + "valType": "number" + } + }, + "z": { + "color": { + "dflt": "#000", + "role": "style", + "valType": "color" + }, + "highlight": { + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "highlightColor": { + "dflt": "#000", + "role": "style", + "valType": "color" + }, + "highlightWidth": { + "dflt": 2, + "max": 16, + "min": 1, + "role": "style", + "valType": "number" + }, + "project": { + "role": "object", + "x": { + "description": "Sets whether or not the dynamic contours are projected along the x axis.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "y": { + "description": "Sets whether or not the dynamic contours are projected along the y axis.", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "z": { + "description": "Sets whether or not the dynamic contours are projected along the z axis.", + "dflt": false, + "role": "info", + "valType": "boolean" + } + }, + "role": "object", + "show": { + "description": "Sets whether or not dynamic contours are shown along the z axis", + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "usecolormap": { + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "width": { + "dflt": 2, + "max": 16, + "min": 1, + "role": "style", + "valType": "number" + } + } + }, + "hidesurface": { + "dflt": false, + "role": "info", + "valType": "boolean" + }, + "hoverinfo": { + "description": "Determines which trace information appear on hover.", + "dflt": "all", + "extras": [ + "all", + "none" + ], + "flags": [ + "x", + "y", + "z", + "text", + "name" + ], + "role": "info", + "valType": "flaglist" + }, + "legendgroup": { + "description": "Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.", + "dflt": "", + "role": "info", + "valType": "string" + }, + "lighting": { + "ambient": { + "dflt": 0.8, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "diffuse": { + "dflt": 0.8, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "fresnel": { + "dflt": 0.2, + "max": 5, + "min": 0, + "role": "style", + "valType": "number" + }, + "role": "object", + "roughness": { + "dflt": 0.5, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "specular": { + "dflt": 0.05, + "max": 2, + "min": 0, + "role": "style", + "valType": "number" + } + }, + "name": { + "description": "Sets the trace name. The trace name appear as the legend item and on hover.", + "role": "info", + "valType": "string" + }, + "opacity": { + "description": "Sets the opacity of the trace.", + "dflt": 1, + "max": 1, + "min": 0, + "role": "style", + "valType": "number" + }, + "reversescale": { + "description": "Reverses the colorscale.", + "dflt": false, + "role": "style", + "valType": "boolean" + }, + "scene": { + "description": "Sets a reference between this trace's 3D coordinate system and a 3D scene. If *scene* (the default value), the (x,y,z) coordinates refer to `layout.scene`. If *scene2*, the (x,y,z) coordinates refer to `layout.scene2`, and so on.", + "dflt": "scene", + "role": "info", + "valType": "sceneid" + }, + "showlegend": { + "description": "Determines whether or not an item corresponding to this trace is shown in the legend.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "showscale": { + "description": "Determines whether or not a colorbar is displayed for this trace.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "stream": { + "maxpoints": { + "description": "Sets the maximum number of points to keep on the plots from an incoming stream. If `maxpoints` is set to *50*, only the newest 50 points will be displayed on the plot.", + "min": 0, + "role": "info", + "valType": "number" + }, + "role": "object", + "token": { + "description": "The stream id number links a data trace on a plot with a stream. See https://plot.ly/settings for more details.", + "noBlank": true, + "role": "info", + "strict": true, + "valType": "string" + } + }, + "text": { + "description": "Sets the text elements associated with each z value.", + "role": "data", + "valType": "data_array" + }, + "textsrc": { + "description": "Sets the source reference on plot.ly for text .", + "role": "info", + "valType": "string" + }, + "type": "surface", + "uid": { + "dflt": "", + "role": "info", + "valType": "string" + }, + "visible": { + "description": "Determines whether or not this trace is visible. If *legendonly*, the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).", + "dflt": true, + "role": "info", + "valType": "enumerated", + "values": [ + true, + false, + "legendonly" + ] + }, + "x": { + "description": "Sets the x coordinates.", + "role": "data", + "valType": "data_array" + }, + "xsrc": { + "description": "Sets the source reference on plot.ly for x .", + "role": "info", + "valType": "string" + }, + "y": { + "description": "Sets the y coordinates.", + "role": "data", + "valType": "data_array" + }, + "ysrc": { + "description": "Sets the source reference on plot.ly for y .", + "role": "info", + "valType": "string" + }, + "z": { + "description": "Sets the z coordinates.", + "role": "data", + "valType": "data_array" + }, + "zauto": { + "description": "Determines the whether or not the color domain is computed with respect to the input data.", + "dflt": true, + "role": "info", + "valType": "boolean" + }, + "zmax": { + "description": "Sets the upper bound of color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "zmin": { + "description": "Sets the lower bound of color domain.", + "dflt": null, + "role": "info", + "valType": "number" + }, + "zsrc": { + "description": "Sets the source reference on plot.ly for z .", + "role": "info", + "valType": "string" + } + }, + "description": "The data the describes the coordinates of the surface is set in `z`. Data in `z` should be a {2D array}. Coordinates in `x` and `y` can either be 1D {arrays} or {2D arrays} (e.g. to graph parametric surfaces). If not provided in `x` and `y`, the x and y coordinates are assumed to be linear starting at 0 with a unit step." + } + } +} \ No newline at end of file diff --git a/plotly/tests/test_core/test_graph_reference/test_graph_reference.py b/plotly/tests/test_core/test_graph_reference/test_graph_reference.py new file mode 100644 index 00000000000..0cdf687c7f4 --- /dev/null +++ b/plotly/tests/test_core/test_graph_reference/test_graph_reference.py @@ -0,0 +1,53 @@ +""" +A module to test functionality related to *using* the graph reference. + +""" +from __future__ import absolute_import +import json + +import os +from pkg_resources import resource_string + +from plotly import files, graph_reference as gr, tools, utils +from plotly.tests.utils import PlotlyTestCase + + +class TestGraphReferenceCaching(PlotlyTestCase): + + def set_graph_reference(self, graph_reference): + if files.check_file_permissions(): + utils.save_json_dict(files.GRAPH_REFERENCE_FILE, graph_reference) + + def test_get_graph_reference_outdated(self): + + # if the hash of the current graph reference doesn't match the hash of + # the graph reference a Plotly server has, we should update! + + outdated_graph_reference = {'real': 'old'} + self.set_graph_reference(outdated_graph_reference) + graph_reference = gr.get_graph_reference() + self.assertNotEqual(graph_reference, outdated_graph_reference) + + def test_get_graph_reference_bad_request_local_copy(self): + + # if the request fails (mocked by using a bad url here) and a local + # copy of the graph reference exists, we can just use that. + + tools.set_config_file(plotly_api_domain='api.am.not.here.ly') + local_graph_reference = {'real': 'local'} + self.set_graph_reference(local_graph_reference) + graph_reference = gr.get_graph_reference() + self.assertEqual(graph_reference, local_graph_reference) + + def test_get_graph_reference_bad_request_no_copy(self): + + # if we don't have a graph reference we load an outdated default + + tools.set_config_file(plotly_api_domain='api.am.not.here.ly') + empty_graph_reference = {} # set it to a false-y value. + self.set_graph_reference(empty_graph_reference) + path = os.path.join('graph_reference', 'default-schema.json') + s = resource_string('plotly', path).decode('utf-8') + default_graph_reference = json.loads(s) + graph_reference = gr.get_graph_reference() + self.assertEqual(graph_reference, default_graph_reference) diff --git a/plotly/tests/test_core/test_tools/test_configuration.py b/plotly/tests/test_core/test_tools/test_configuration.py index 091858b31b1..0e657638101 100644 --- a/plotly/tests/test_core/test_tools/test_configuration.py +++ b/plotly/tests/test_core/test_tools/test_configuration.py @@ -2,14 +2,15 @@ from unittest import TestCase -from plotly.tools import get_config_defaults, _FILE_CONTENT, CONFIG_FILE +from plotly.files import CONFIG_FILE, FILE_CONTENT +from plotly.tools import get_config_defaults class TestGetConfigDefaults(TestCase): def test_config_dict_is_equivalent_copy(self): - original = _FILE_CONTENT[CONFIG_FILE] + original = FILE_CONTENT[CONFIG_FILE] copy = get_config_defaults() self.assertIsNot(copy, original) self.assertEqual(copy, original) diff --git a/plotly/tests/utils.py b/plotly/tests/utils.py index d791b83608f..54fc3be5979 100644 --- a/plotly/tests/utils.py +++ b/plotly/tests/utils.py @@ -3,8 +3,7 @@ from numbers import Number as Num from unittest import TestCase -from plotly import session -from plotly.tools import CREDENTIALS_FILE, CONFIG_FILE, _file_permissions +from plotly import files, session, utils class PlotlyTestCase(TestCase): @@ -12,32 +11,36 @@ class PlotlyTestCase(TestCase): # parent test case to assist with clean up of local credentials/config def __init__(self, *args, **kwargs): - self._file_credentials = None - self._file_config = None + self._credentials = None + self._config = None + self._graph_reference = None self._session = None super(PlotlyTestCase, self).__init__(*args, **kwargs) def setUp(self): - self.stash_file_credentials_and_config() + self.stash_session() + self.stash_files() def tearDown(self): - self.restore_file_credentials_and_config() - - def stash_file_credentials_and_config(self): - if _file_permissions: - with open(CREDENTIALS_FILE, 'r') as f: - self._file_credentials = json.load(f) - with open(CONFIG_FILE, 'r') as f: - self._file_config = json.load(f) - - def restore_file_credentials_and_config(self): - if _file_permissions: - if self._file_credentials is not None: - with open(CREDENTIALS_FILE, 'w') as f: - json.dump(self._file_credentials, f) - if self._file_config is not None: - with open(CONFIG_FILE, 'w') as f: - json.dump(self._file_config, f) + self.restore_files() + self.restore_session() + + def stash_files(self): + if files.check_file_permissions(): + self._credentials = utils.load_json_dict(files.CREDENTIALS_FILE) + self._config = utils.load_json_dict(files.CONFIG_FILE) + self._graph_reference = \ + utils.load_json_dict(files.GRAPH_REFERENCE_FILE) + + def restore_files(self): + if files.check_file_permissions(): + if self._credentials is not None: + utils.save_json_dict(files.CREDENTIALS_FILE, self._credentials) + if self._config is not None: + utils.save_json_dict(files.CONFIG_FILE, self._config) + if self._graph_reference is not None: + utils.save_json_dict(files.GRAPH_REFERENCE_FILE, + self._graph_reference) def stash_session(self): self._session = copy.deepcopy(session._session) diff --git a/plotly/tools.py b/plotly/tools.py index 5c26501dc7f..3cee3454210 100644 --- a/plotly/tools.py +++ b/plotly/tools.py @@ -9,7 +9,6 @@ """ from __future__ import absolute_import -import os.path import warnings import six @@ -19,10 +18,10 @@ from plotly import utils from plotly import exceptions +from plotly import graph_reference from plotly import session - -from plotly.graph_objs import graph_objs -from plotly.graph_objs import Scatter, Marker +from plotly.files import (CONFIG_FILE, CREDENTIALS_FILE, FILE_CONTENT, + GRAPH_REFERENCE_FILE, check_file_permissions) # Warning format @@ -58,39 +57,6 @@ def warning_on_one_line(message, category, filename, lineno, except ImportError: _scipy_imported = False -PLOTLY_DIR = os.path.join(os.path.expanduser("~"), ".plotly") -CREDENTIALS_FILE = os.path.join(PLOTLY_DIR, ".credentials") -CONFIG_FILE = os.path.join(PLOTLY_DIR, ".config") -TEST_DIR = os.path.join(os.path.expanduser("~"), ".test") -TEST_FILE = os.path.join(PLOTLY_DIR, ".permission_test") - -# this sets both the DEFAULTS and the TYPES for these items -_FILE_CONTENT = {CREDENTIALS_FILE: {'username': '', - 'api_key': '', - 'proxy_username': '', - 'proxy_password': '', - 'stream_ids': []}, - CONFIG_FILE: {'plotly_domain': 'https://plot.ly', - 'plotly_streaming_domain': 'stream.plot.ly', - 'plotly_api_domain': 'https://api.plot.ly', - 'plotly_ssl_verification': True, - 'plotly_proxy_authorization': False, - 'world_readable': True}} - - -try: - os.mkdir(TEST_DIR) - os.rmdir(TEST_DIR) - if not os.path.exists(PLOTLY_DIR): - os.mkdir(PLOTLY_DIR) - f = open(TEST_FILE, 'w') - f.write('testing\n') - f.close() - os.remove(TEST_FILE) - _file_permissions = True -except: - _file_permissions = False - def get_config_defaults(): """ @@ -102,28 +68,30 @@ def get_config_defaults(): # do something """ - return dict(_FILE_CONTENT[CONFIG_FILE]) # performs a shallow copy - - -def check_file_permissions(): - return _file_permissions + return dict(FILE_CONTENT[CONFIG_FILE]) # performs a shallow copy def ensure_local_plotly_files(): """Ensure that filesystem is setup/filled out in a valid way""" - if _file_permissions: + if check_file_permissions(): for fn in [CREDENTIALS_FILE, CONFIG_FILE]: utils.ensure_file_exists(fn) contents = utils.load_json_dict(fn) - for key, val in list(_FILE_CONTENT[fn].items()): + for key, val in list(FILE_CONTENT[fn].items()): # TODO: removed type checking below, may want to revisit if key not in contents: contents[key] = val contents_keys = list(contents.keys()) for key in contents_keys: - if key not in _FILE_CONTENT[fn]: + if key not in FILE_CONTENT[fn]: del contents[key] utils.save_json_dict(fn, contents) + + # make a request to get graph reference if DNE. + utils.ensure_file_exists(GRAPH_REFERENCE_FILE) + utils.save_json_dict(GRAPH_REFERENCE_FILE, + graph_reference.GRAPH_REFERENCE) + else: warnings.warn("Looks like you don't have 'read-write' permission to " "your 'home' ('~') directory or to our '~/.plotly' " @@ -150,7 +118,7 @@ def set_credentials_file(username=None, :param (str) proxy_password: The pw associated with your Proxy un """ - if not _file_permissions: + if not check_file_permissions(): raise exceptions.PlotlyError("You don't have proper file permissions " "to run this function.") ensure_local_plotly_files() # make sure what's there is OK @@ -178,11 +146,11 @@ def get_credentials_file(*args): get_credentials_file('username') """ - if _file_permissions: + if check_file_permissions(): ensure_local_plotly_files() # make sure what's there is OK return utils.load_json_dict(CREDENTIALS_FILE, *args) else: - return _FILE_CONTENT[CREDENTIALS_FILE] + return FILE_CONTENT[CREDENTIALS_FILE] def reset_credentials_file(): @@ -209,7 +177,7 @@ def set_config_file(plotly_domain=None, :param (bool) world_readable: True = public, False = private """ - if not _file_permissions: + if not check_file_permissions(): raise exceptions.PlotlyError("You don't have proper file permissions " "to run this function.") ensure_local_plotly_files() # make sure what's there is OK @@ -253,11 +221,11 @@ def get_config_file(*args): get_config_file('plotly_domain') """ - if _file_permissions: + if check_file_permissions(): ensure_local_plotly_files() # make sure what's there is OK return utils.load_json_dict(CONFIG_FILE, *args) else: - return _FILE_CONTENT[CONFIG_FILE] + return FILE_CONTENT[CONFIG_FILE] def reset_config_file(): @@ -525,6 +493,8 @@ def get_subplots(rows=1, columns=1, print_grid=False, **kwargs): Space between subplot rows. """ + # TODO: protected until #282 + from plotly.graph_objs import graph_objs warnings.warn( "tools.get_subplots is depreciated. " @@ -782,6 +752,8 @@ def make_subplots(rows=1, cols=1, * h (float or 'to_end', default='to_end') inset height in fraction of cell height ('to_end': to cell top edge) """ + # TODO: protected until #282 + from plotly.graph_objs import graph_objs # Throw exception for non-integer rows and cols if not isinstance(rows, int) or rows <= 0: @@ -1296,6 +1268,8 @@ def get_valid_graph_obj(obj, obj_type=None): CAREFUL: this will *silently* strip out invalid pieces of the object. """ + # TODO: Deprecate or move. #283 + from plotly.graph_objs import graph_objs try: new_obj = graph_objs.get_class_instance_by_name( obj.__class__.__name__) @@ -1323,6 +1297,8 @@ def validate(obj, obj_type): valid 'obj_type' graph object. """ + # TODO: Deprecate or move. #283 + from plotly.graph_objs import graph_objs try: obj_type = graph_objs.KEY_TO_NAME[obj_type] except KeyError: @@ -1665,6 +1641,8 @@ def create_quiver(x, y, u, v, scale=.1, arrow_scale=.3, py.plot(fig, filename='quiver') ``` """ + # TODO: protected until #282 + from plotly.graph_objs import graph_objs FigureFactory._validate_equal_length(x, y, u, v) FigureFactory._validate_positive_scalars(arrow_scale=arrow_scale, scale=scale) @@ -1673,9 +1651,9 @@ def create_quiver(x, y, u, v, scale=.1, arrow_scale=.3, arrow_scale, angle).get_barbs() arrow_x, arrow_y = _Quiver(x, y, u, v, scale, arrow_scale, angle).get_quiver_arrows() - quiver = Scatter(x=barb_x + arrow_x, - y=barb_y + arrow_y, - mode='lines', **kwargs) + quiver = graph_objs.Scatter(x=barb_x + arrow_x, + y=barb_y + arrow_y, + mode='lines', **kwargs) data = [quiver] layout = graph_objs.Layout(hovermode='closest') @@ -1766,6 +1744,8 @@ def create_streamline(x, y, u, v, py.plot(fig, filename='streamline') ``` """ + # TODO: protected until #282 + from plotly.graph_objs import graph_objs FigureFactory._validate_equal_length(x, y) FigureFactory._validate_equal_length(u, v) FigureFactory._validate_streamline(x, y) @@ -1779,9 +1759,9 @@ def create_streamline(x, y, u, v, density, angle, arrow_scale).get_streamline_arrows() - streamline = Scatter(x=streamline_x + arrow_x, - y=streamline_y + arrow_y, - mode='lines', **kwargs) + streamline = graph_objs.Scatter(x=streamline_x + arrow_x, + y=streamline_y + arrow_y, + mode='lines', **kwargs) data = [streamline] layout = graph_objs.Layout(hovermode='closest') @@ -1992,6 +1972,8 @@ def create_ohlc(open, high, low, close, py.iplot(fig, filename='finance/simple-ohlc', validate=False) ``` """ + # TODO: protected until #282 + from plotly.graph_objs import graph_objs if dates is not None: FigureFactory._validate_equal_length(open, high, low, close, dates) else: @@ -2222,6 +2204,8 @@ def create_candlestick(open, high, low, close, py.iplot(fig, filename='finance/simple-candlestick', validate=False) ``` """ + # TODO: protected until #282 + from plotly.graph_objs import graph_objs if dates is not None: FigureFactory._validate_equal_length(open, high, low, close, dates) else: @@ -2365,6 +2349,8 @@ def create_distplot(hist_data, group_labels, validate=False) ``` """ + # TODO: protected until #282 + from plotly.graph_objs import graph_objs FigureFactory._validate_distplot(hist_data, curve_type) FigureFactory._validate_equal_length(hist_data, group_labels) @@ -3155,4 +3141,3 @@ def make_rug(self): marker=dict(color=self.colors[index], symbol='line-ns-open')) return rug -