Black Lives Matter. Please consider donating to Black Girls Code today.

JavaScript Figure Reference: layout.scene

  • scene
    Parent: layout
    Type: object containing one or more of the keys listed below.
    • bgcolor
      Parent: layout.scene
      Type: color
      Default: "rgba(0,0,0,0)"
    • camera
      Parent: layout.scene
      Type: object containing one or more of the keys listed below.
      • up
        Parent: layout.scene.camera
        Type: object containing one or more of the keys listed below.

        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.

        • x
          Parent: layout.scene.camera.up
          Type: number
          Default: 0
        • y
          Parent: layout.scene.camera.up
          Type: number
          Default: 0
        • z
          Parent: layout.scene.camera.up
          Type: number
          Default: 1
      • center
        Parent: layout.scene.camera
        Type: object containing one or more of the keys listed below.

        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.

        • x
          Parent: layout.scene.camera.center
          Type: number
          Default: 0
        • y
          Parent: layout.scene.camera.center
          Type: number
          Default: 0
        • z
          Parent: layout.scene.camera.center
          Type: number
          Default: 0
      • eye
        Parent: layout.scene.camera
        Type: object containing one or more of the keys listed below.

        Sets the (x,y,z) components of the 'eye' camera vector. This vector determines the view point about the origin of this scene.

        • x
          Parent: layout.scene.camera.eye
          Type: number
          Default: 1.25
        • y
          Parent: layout.scene.camera.eye
          Type: number
          Default: 1.25
        • z
          Parent: layout.scene.camera.eye
          Type: number
          Default: 1.25
      • projection
        Parent: layout.scene.camera
        Type: object containing one or more of the keys listed below.
        • type
          Parent: layout.scene.camera.projection
          Type: enumerated , one of ( "perspective" | "orthographic" )
          Default: "perspective"

          Sets the projection type. The projection type could be either "perspective" or "orthographic". The default is "perspective".

    • domain
      Parent: layout.scene
      Type: object containing one or more of the keys listed below.
      • x
        Parent: layout.scene.domain
        Type: array
        Default: [0, 1]

        Sets the horizontal domain of this scene subplot (in plot fraction).

      • y
        Parent: layout.scene.domain
        Type: array
        Default: [0, 1]

        Sets the vertical domain of this scene subplot (in plot fraction).

      • row
        Parent: layout.scene.domain
        Type: integer greater than or equal to 0
        Default: 0

        If there is a layout grid, use the domain for this row in the grid for this scene subplot .

      • column
        Parent: layout.scene.domain
        Type: integer greater than or equal to 0
        Default: 0

        If there is a layout grid, use the domain for this column in the grid for this scene subplot .

    • aspectmode
      Parent: layout.scene
      Type: enumerated , one of ( "auto" | "cube" | "data" | "manual" )
      Default: "auto"

      If "cube", this scene's axes are drawn as a cube, regardless of the axes' ranges. If "data", this scene's axes are drawn in proportion with the axes' ranges. If "manual", this scene's axes are drawn in proportion with the input of "aspectratio" (the default behavior if "aspectratio" is provided). If "auto", this scene's axes are drawn using the results of "data" except when one axis is more than four times the size of the two others, where in that case the results of "cube" are used.

    • aspectratio
      Parent: layout.scene
      Type: object containing one or more of the keys listed below.

      Sets this scene's axis aspectratio.

      • x
        Parent: layout.scene.aspectratio
        Type: number greater than or equal to 0
      • y
        Parent: layout.scene.aspectratio
        Type: number greater than or equal to 0
      • z
        Parent: layout.scene.aspectratio
        Type: number greater than or equal to 0
    • xaxis
      Parent: layout.scene
      Type: object containing one or more of the keys listed below.
      • visible
        Parent: layout.scene.xaxis
        Type: boolean

        A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false

      • showspikes
        Parent: layout.scene.xaxis
        Type: boolean
        Default: true

        Sets whether or not spikes starting from data points to this axis' wall are shown on hover.

      • spikesides
        Parent: layout.scene.xaxis
        Type: boolean
        Default: true

        Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.

      • spikethickness
        Parent: layout.scene.xaxis
        Type: number greater than or equal to 0
        Default: 2

        Sets the thickness (in px) of the spikes.

      • spikecolor
        Parent: layout.scene.xaxis
        Type: color
        Default: "#444"

        Sets the color of the spikes.

      • showbackground
        Parent: layout.scene.xaxis
        Type: boolean

        Sets whether or not this axis' wall has a background color.

      • backgroundcolor
        Parent: layout.scene.xaxis
        Type: color
        Default: "rgba(204, 204, 204, 0.5)"

        Sets the background color of this axis' wall.

      • showaxeslabels
        Parent: layout.scene.xaxis
        Type: boolean
        Default: true

        Sets whether or not this axis is labeled

      • color
        Parent: layout.scene.xaxis
        Type: color
        Default: "#444"

        Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.

      • categoryorder
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( "trace" | "category ascending" | "category descending" | "array" | "total ascending" | "total descending" | "min ascending" | "min descending" | "max ascending" | "max descending" | "sum ascending" | "sum descending" | "mean ascending" | "mean descending" | "median ascending" | "median descending" )
        Default: "trace"

        Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", which specifies the order that is present in the data supplied. Set `categoryorder` to "category ascending" or "category descending" if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to "array" to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the "trace" mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to "total ascending" or "total descending" if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.

      • categoryarray
        Parent: layout.scene.xaxis
        Type: data array

        Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`.

      • title
        Parent: layout.scene.xaxis
        Type: object containing one or more of the keys listed below.
        • text
          Parent: layout.scene.xaxis.title
          Type: string

          Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.

        • font
          Parent: layout.scene.xaxis.title
          Type: object containing one or more of the keys listed below.

          Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.

          • family
            Parent: layout.scene.xaxis.title.font
            Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman".

          • size
            Parent: layout.scene.xaxis.title.font
            Type: number greater than or equal to 1
          • color
            Parent: layout.scene.xaxis.title.font
            Type: color
      • type
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( "-" | "linear" | "log" | "date" | "category" )
        Default: "-"

        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.

      • autorange
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( true | false | "reversed" )
        Default: true

        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".

      • rangemode
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( "normal" | "tozero" | "nonnegative" )
        Default: "normal"

        If "normal", the range is computed in relation to the extrema of the input data. If "tozero"`, the range extends to 0, regardless of the input data If "nonnegative", the range is non-negative, regardless of the input data. Applies only to linear axes.

      • range
        Parent: layout.scene.xaxis
        Type: array

        Sets the range of this axis. If the axis `type` is "log", then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is "date", it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is "category", it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickmode
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( "auto" | "linear" | "array" )

        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).

      • nticks
        Parent: layout.scene.xaxis
        Type: integer greater than or equal to 0
        Default: 0

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      • tick0
        Parent: layout.scene.xaxis
        Type: number or categorical coordinate string

        Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is "log", then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • dtick
        Parent: layout.scene.xaxis
        Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. If the axis `type` is "log", then ticks are set every 10^(n"dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". If the axis `type` is "date", then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      • tickvals
        Parent: layout.scene.xaxis
        Type: data array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      • ticktext
        Parent: layout.scene.xaxis
        Type: data array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      • ticks
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( "outside" | "inside" | "" )

        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.

      • mirror
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( true | "ticks" | false | "all" | "allticks" )

        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.

      • ticklen
        Parent: layout.scene.xaxis
        Type: number greater than or equal to 0
        Default: 5

        Sets the tick length (in px).

      • tickwidth
        Parent: layout.scene.xaxis
        Type: number greater than or equal to 0
        Default: 1

        Sets the tick width (in px).

      • tickcolor
        Parent: layout.scene.xaxis
        Type: color
        Default: "#444"

        Sets the tick color.

      • showticklabels
        Parent: layout.scene.xaxis
        Type: boolean
        Default: true

        Determines whether or not the tick labels are drawn.

      • tickfont
        Parent: layout.scene.xaxis
        Type: object containing one or more of the keys listed below.

        Sets the tick font.

        • family
          Parent: layout.scene.xaxis.tickfont
          Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman".

        • size
          Parent: layout.scene.xaxis.tickfont
          Type: number greater than or equal to 1
        • color
          Parent: layout.scene.xaxis.tickfont
          Type: color
      • tickangle
        Parent: layout.scene.xaxis
        Type: angle
        Default: "auto"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickprefix
        Parent: layout.scene.xaxis
        Type: string
        Default: ""

        Sets a tick label prefix.

      • showtickprefix
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( "all" | "first" | "last" | "none" )
        Default: "all"

        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.

      • ticksuffix
        Parent: layout.scene.xaxis
        Type: string
        Default: ""

        Sets a tick label suffix.

      • showticksuffix
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( "all" | "first" | "last" | "none" )
        Default: "all"

        Same as `showtickprefix` but for tick suffixes.

      • showexponent
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( "all" | "first" | "last" | "none" )
        Default: "all"

        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.

      • exponentformat
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( "none" | "e" | "E" | "power" | "SI" | "B" )
        Default: "B"

        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.

      • separatethousands
        Parent: layout.scene.xaxis
        Type: boolean

        If "true", even 4-digit integers are separated

      • tickformat
        Parent: layout.scene.xaxis
        Type: string
        Default: ""

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      • tickformatstops
        Parent: layout.scene.xaxis
        Type: array of object where each object has one or more of the keys listed below.
        • enabled
          Parent: layout.scene.xaxis.tickformatstops[]
          Type: boolean
          Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • dtickrange
          Parent: layout.scene.xaxis.tickformatstops[]
          Type: array

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        • value
          Parent: layout.scene.xaxis.tickformatstops[]
          Type: string
          Default: ""

          string - dtickformat for described zoom level, the same as "tickformat"

        • name
          Parent: layout.scene.xaxis.tickformatstops[]
          Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname
          Parent: layout.scene.xaxis.tickformatstops[]
          Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

      • hoverformat
        Parent: layout.scene.xaxis
        Type: string
        Default: ""

        Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      • showline
        Parent: layout.scene.xaxis
        Type: boolean

        Determines whether or not a line bounding this axis is drawn.

      • linecolor
        Parent: layout.scene.xaxis
        Type: color
        Default: "#444"

        Sets the axis line color.

      • linewidth
        Parent: layout.scene.xaxis
        Type: number greater than or equal to 0
        Default: 1

        Sets the width (in px) of the axis line.

      • showgrid
        Parent: layout.scene.xaxis
        Type: boolean

        Determines whether or not grid lines are drawn. If "true", the grid lines are drawn at every tick mark.

      • gridcolor
        Parent: layout.scene.xaxis
        Type: color
        Default: "rgb(204, 204, 204)"

        Sets the color of the grid lines.

      • gridwidth
        Parent: layout.scene.xaxis
        Type: number greater than or equal to 0
        Default: 1

        Sets the width (in px) of the grid lines.

      • zeroline
        Parent: layout.scene.xaxis
        Type: boolean

        Determines whether or not a line is drawn at along the 0 value of this axis. If "true", the zero line is drawn on top of the grid lines.

      • zerolinecolor
        Parent: layout.scene.xaxis
        Type: color
        Default: "#444"

        Sets the line color of the zero line.

      • zerolinewidth
        Parent: layout.scene.xaxis
        Type: number
        Default: 1

        Sets the width (in px) of the zero line.

      • calendar
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( "gregorian" | "chinese" | "coptic" | "discworld" | "ethiopian" | "hebrew" | "islamic" | "julian" | "mayan" | "nanakshahi" | "nepali" | "persian" | "jalali" | "taiwan" | "thai" | "ummalqura" )
        Default: "gregorian"

        Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`

    • yaxis
      Parent: layout.scene
      Type: object containing one or more of the keys listed below.
      • visible
        Parent: layout.scene.yaxis
        Type: boolean

        A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false

      • showspikes
        Parent: layout.scene.yaxis
        Type: boolean
        Default: true

        Sets whether or not spikes starting from data points to this axis' wall are shown on hover.

      • spikesides
        Parent: layout.scene.yaxis
        Type: boolean
        Default: true

        Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.

      • spikethickness
        Parent: layout.scene.yaxis
        Type: number greater than or equal to 0
        Default: 2

        Sets the thickness (in px) of the spikes.

      • spikecolor
        Parent: layout.scene.yaxis
        Type: color
        Default: "#444"

        Sets the color of the spikes.

      • showbackground
        Parent: layout.scene.yaxis
        Type: boolean

        Sets whether or not this axis' wall has a background color.

      • backgroundcolor
        Parent: layout.scene.yaxis
        Type: color
        Default: "rgba(204, 204, 204, 0.5)"

        Sets the background color of this axis' wall.

      • showaxeslabels
        Parent: layout.scene.yaxis
        Type: boolean
        Default: true

        Sets whether or not this axis is labeled

      • color
        Parent: layout.scene.yaxis
        Type: color
        Default: "#444"

        Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.

      • categoryorder
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( "trace" | "category ascending" | "category descending" | "array" | "total ascending" | "total descending" | "min ascending" | "min descending" | "max ascending" | "max descending" | "sum ascending" | "sum descending" | "mean ascending" | "mean descending" | "median ascending" | "median descending" )
        Default: "trace"

        Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", which specifies the order that is present in the data supplied. Set `categoryorder` to "category ascending" or "category descending" if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to "array" to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the "trace" mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to "total ascending" or "total descending" if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.

      • categoryarray
        Parent: layout.scene.yaxis
        Type: data array

        Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`.

      • title
        Parent: layout.scene.yaxis
        Type: object containing one or more of the keys listed below.
        • text
          Parent: layout.scene.yaxis.title
          Type: string

          Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.

        • font
          Parent: layout.scene.yaxis.title
          Type: object containing one or more of the keys listed below.

          Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.

          • family
            Parent: layout.scene.yaxis.title.font
            Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman".

          • size
            Parent: layout.scene.yaxis.title.font
            Type: number greater than or equal to 1
          • color
            Parent: layout.scene.yaxis.title.font
            Type: color
      • type
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( "-" | "linear" | "log" | "date" | "category" )
        Default: "-"

        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.

      • autorange
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( true | false | "reversed" )
        Default: true

        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".

      • rangemode
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( "normal" | "tozero" | "nonnegative" )
        Default: "normal"

        If "normal", the range is computed in relation to the extrema of the input data. If "tozero"`, the range extends to 0, regardless of the input data If "nonnegative", the range is non-negative, regardless of the input data. Applies only to linear axes.

      • range
        Parent: layout.scene.yaxis
        Type: array

        Sets the range of this axis. If the axis `type` is "log", then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is "date", it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is "category", it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickmode
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( "auto" | "linear" | "array" )

        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).

      • nticks
        Parent: layout.scene.yaxis
        Type: integer greater than or equal to 0
        Default: 0

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      • tick0
        Parent: layout.scene.yaxis
        Type: number or categorical coordinate string

        Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is "log", then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • dtick
        Parent: layout.scene.yaxis
        Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. If the axis `type` is "log", then ticks are set every 10^(n"dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". If the axis `type` is "date", then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      • tickvals
        Parent: layout.scene.yaxis
        Type: data array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      • ticktext
        Parent: layout.scene.yaxis
        Type: data array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      • ticks
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( "outside" | "inside" | "" )

        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.

      • mirror
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( true | "ticks" | false | "all" | "allticks" )

        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.

      • ticklen
        Parent: layout.scene.yaxis
        Type: number greater than or equal to 0
        Default: 5

        Sets the tick length (in px).

      • tickwidth
        Parent: layout.scene.yaxis
        Type: number greater than or equal to 0
        Default: 1

        Sets the tick width (in px).

      • tickcolor
        Parent: layout.scene.yaxis
        Type: color
        Default: "#444"

        Sets the tick color.

      • showticklabels
        Parent: layout.scene.yaxis
        Type: boolean
        Default: true

        Determines whether or not the tick labels are drawn.

      • tickfont
        Parent: layout.scene.yaxis
        Type: object containing one or more of the keys listed below.

        Sets the tick font.

        • family
          Parent: layout.scene.yaxis.tickfont
          Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman".

        • size
          Parent: layout.scene.yaxis.tickfont
          Type: number greater than or equal to 1
        • color
          Parent: layout.scene.yaxis.tickfont
          Type: color
      • tickangle
        Parent: layout.scene.yaxis
        Type: angle
        Default: "auto"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickprefix
        Parent: layout.scene.yaxis
        Type: string
        Default: ""

        Sets a tick label prefix.

      • showtickprefix
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( "all" | "first" | "last" | "none" )
        Default: "all"

        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.

      • ticksuffix
        Parent: layout.scene.yaxis
        Type: string
        Default: ""

        Sets a tick label suffix.

      • showticksuffix
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( "all" | "first" | "last" | "none" )
        Default: "all"

        Same as `showtickprefix` but for tick suffixes.

      • showexponent
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( "all" | "first" | "last" | "none" )
        Default: "all"

        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.

      • exponentformat
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( "none" | "e" | "E" | "power" | "SI" | "B" )
        Default: "B"

        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.

      • separatethousands
        Parent: layout.scene.yaxis
        Type: boolean

        If "true", even 4-digit integers are separated

      • tickformat
        Parent: layout.scene.yaxis
        Type: string
        Default: ""

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      • tickformatstops
        Parent: layout.scene.yaxis
        Type: array of object where each object has one or more of the keys listed below.
        • enabled
          Parent: layout.scene.yaxis.tickformatstops[]
          Type: boolean
          Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • dtickrange
          Parent: layout.scene.yaxis.tickformatstops[]
          Type: array

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        • value
          Parent: layout.scene.yaxis.tickformatstops[]
          Type: string
          Default: ""

          string - dtickformat for described zoom level, the same as "tickformat"

        • name
          Parent: layout.scene.yaxis.tickformatstops[]
          Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname
          Parent: layout.scene.yaxis.tickformatstops[]
          Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

      • hoverformat
        Parent: layout.scene.yaxis
        Type: string
        Default: ""

        Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      • showline
        Parent: layout.scene.yaxis
        Type: boolean

        Determines whether or not a line bounding this axis is drawn.

      • linecolor
        Parent: layout.scene.yaxis
        Type: color
        Default: "#444"

        Sets the axis line color.

      • linewidth
        Parent: layout.scene.yaxis
        Type: number greater than or equal to 0
        Default: 1

        Sets the width (in px) of the axis line.

      • showgrid
        Parent: layout.scene.yaxis
        Type: boolean

        Determines whether or not grid lines are drawn. If "true", the grid lines are drawn at every tick mark.

      • gridcolor
        Parent: layout.scene.yaxis
        Type: color
        Default: "rgb(204, 204, 204)"

        Sets the color of the grid lines.

      • gridwidth
        Parent: layout.scene.yaxis
        Type: number greater than or equal to 0
        Default: 1

        Sets the width (in px) of the grid lines.

      • zeroline
        Parent: layout.scene.yaxis
        Type: boolean

        Determines whether or not a line is drawn at along the 0 value of this axis. If "true", the zero line is drawn on top of the grid lines.

      • zerolinecolor
        Parent: layout.scene.yaxis
        Type: color
        Default: "#444"

        Sets the line color of the zero line.

      • zerolinewidth
        Parent: layout.scene.yaxis
        Type: number
        Default: 1

        Sets the width (in px) of the zero line.

      • calendar
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( "gregorian" | "chinese" | "coptic" | "discworld" | "ethiopian" | "hebrew" | "islamic" | "julian" | "mayan" | "nanakshahi" | "nepali" | "persian" | "jalali" | "taiwan" | "thai" | "ummalqura" )
        Default: "gregorian"

        Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`

    • zaxis
      Parent: layout.scene
      Type: object containing one or more of the keys listed below.
      • visible
        Parent: layout.scene.zaxis
        Type: boolean

        A single toggle to hide the axis while preserving interaction like dragging. Default is true when a cheater plot is present on the axis, otherwise false

      • showspikes
        Parent: layout.scene.zaxis
        Type: boolean
        Default: true

        Sets whether or not spikes starting from data points to this axis' wall are shown on hover.

      • spikesides
        Parent: layout.scene.zaxis
        Type: boolean
        Default: true

        Sets whether or not spikes extending from the projection data points to this axis' wall boundaries are shown on hover.

      • spikethickness
        Parent: layout.scene.zaxis
        Type: number greater than or equal to 0
        Default: 2

        Sets the thickness (in px) of the spikes.

      • spikecolor
        Parent: layout.scene.zaxis
        Type: color
        Default: "#444"

        Sets the color of the spikes.

      • showbackground
        Parent: layout.scene.zaxis
        Type: boolean

        Sets whether or not this axis' wall has a background color.

      • backgroundcolor
        Parent: layout.scene.zaxis
        Type: color
        Default: "rgba(204, 204, 204, 0.5)"

        Sets the background color of this axis' wall.

      • showaxeslabels
        Parent: layout.scene.zaxis
        Type: boolean
        Default: true

        Sets whether or not this axis is labeled

      • color
        Parent: layout.scene.zaxis
        Type: color
        Default: "#444"

        Sets default for all colors associated with this axis all at once: line, font, tick, and grid colors. Grid color is lightened by blending this with the plot background Individual pieces can override this.

      • categoryorder
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( "trace" | "category ascending" | "category descending" | "array" | "total ascending" | "total descending" | "min ascending" | "min descending" | "max ascending" | "max descending" | "sum ascending" | "sum descending" | "mean ascending" | "mean descending" | "median ascending" | "median descending" )
        Default: "trace"

        Specifies the ordering logic for the case of categorical variables. By default, plotly uses "trace", which specifies the order that is present in the data supplied. Set `categoryorder` to "category ascending" or "category descending" if order should be determined by the alphanumerical order of the category names. Set `categoryorder` to "array" to derive the ordering from the attribute `categoryarray`. If a category is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to the "trace" mode. The unspecified categories will follow the categories in `categoryarray`. Set `categoryorder` to "total ascending" or "total descending" if order should be determined by the numerical order of the values. Similarly, the order can be determined by the min, max, sum, mean or median of all the values.

      • categoryarray
        Parent: layout.scene.zaxis
        Type: data array

        Sets the order in which categories on this axis appear. Only has an effect if `categoryorder` is set to "array". Used with `categoryorder`.

      • title
        Parent: layout.scene.zaxis
        Type: object containing one or more of the keys listed below.
        • text
          Parent: layout.scene.zaxis.title
          Type: string

          Sets the title of this axis. Note that before the existence of `title.text`, the title's contents used to be defined as the `title` attribute itself. This behavior has been deprecated.

        • font
          Parent: layout.scene.zaxis.title
          Type: object containing one or more of the keys listed below.

          Sets this axis' title font. Note that the title's font used to be customized by the now deprecated `titlefont` attribute.

          • family
            Parent: layout.scene.zaxis.title.font
            Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman".

          • size
            Parent: layout.scene.zaxis.title.font
            Type: number greater than or equal to 1
          • color
            Parent: layout.scene.zaxis.title.font
            Type: color
      • type
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( "-" | "linear" | "log" | "date" | "category" )
        Default: "-"

        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.

      • autorange
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( true | false | "reversed" )
        Default: true

        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".

      • rangemode
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( "normal" | "tozero" | "nonnegative" )
        Default: "normal"

        If "normal", the range is computed in relation to the extrema of the input data. If "tozero"`, the range extends to 0, regardless of the input data If "nonnegative", the range is non-negative, regardless of the input data. Applies only to linear axes.

      • range
        Parent: layout.scene.zaxis
        Type: array

        Sets the range of this axis. If the axis `type` is "log", then you must take the log of your desired range (e.g. to set the range from 1 to 100, set the range from 0 to 2). If the axis `type` is "date", it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axis `type` is "category", it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.

      • tickmode
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( "auto" | "linear" | "array" )

        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).

      • nticks
        Parent: layout.scene.zaxis
        Type: integer greater than or equal to 0
        Default: 0

        Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to "auto".

      • tick0
        Parent: layout.scene.zaxis
        Type: number or categorical coordinate string

        Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is "log", then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`="L<f>" (see `dtick` for more info). If the axis `type` is "date", it should be a date string, like date data. If the axis `type` is "category", it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.

      • dtick
        Parent: layout.scene.zaxis
        Type: number or categorical coordinate string

        Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to "log" and "date" axes. If the axis `type` is "log", then ticks are set every 10^(n"dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. "log" has several special values; "L<f>", where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = "L0.5" will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use "D1" (all digits) or "D2" (only 2 and 5). `tick0` is ignored for "D1" and "D2". If the axis `type` is "date", then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. "date" also has special values "M<n>" gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to "2000-01-15" and `dtick` to "M3". To set ticks every 4 years, set `dtick` to "M48"

      • tickvals
        Parent: layout.scene.zaxis
        Type: data array

        Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to "array". Used with `ticktext`.

      • ticktext
        Parent: layout.scene.zaxis
        Type: data array

        Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to "array". Used with `tickvals`.

      • ticks
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( "outside" | "inside" | "" )

        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.

      • mirror
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( true | "ticks" | false | "all" | "allticks" )

        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.

      • ticklen
        Parent: layout.scene.zaxis
        Type: number greater than or equal to 0
        Default: 5

        Sets the tick length (in px).

      • tickwidth
        Parent: layout.scene.zaxis
        Type: number greater than or equal to 0
        Default: 1

        Sets the tick width (in px).

      • tickcolor
        Parent: layout.scene.zaxis
        Type: color
        Default: "#444"

        Sets the tick color.

      • showticklabels
        Parent: layout.scene.zaxis
        Type: boolean
        Default: true

        Determines whether or not the tick labels are drawn.

      • tickfont
        Parent: layout.scene.zaxis
        Type: object containing one or more of the keys listed below.

        Sets the tick font.

        • family
          Parent: layout.scene.zaxis.tickfont
          Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman".

        • size
          Parent: layout.scene.zaxis.tickfont
          Type: number greater than or equal to 1
        • color
          Parent: layout.scene.zaxis.tickfont
          Type: color
      • tickangle
        Parent: layout.scene.zaxis
        Type: angle
        Default: "auto"

        Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.

      • tickprefix
        Parent: layout.scene.zaxis
        Type: string
        Default: ""

        Sets a tick label prefix.

      • showtickprefix
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( "all" | "first" | "last" | "none" )
        Default: "all"

        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.

      • ticksuffix
        Parent: layout.scene.zaxis
        Type: string
        Default: ""

        Sets a tick label suffix.

      • showticksuffix
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( "all" | "first" | "last" | "none" )
        Default: "all"

        Same as `showtickprefix` but for tick suffixes.

      • showexponent
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( "all" | "first" | "last" | "none" )
        Default: "all"

        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.

      • exponentformat
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( "none" | "e" | "E" | "power" | "SI" | "B" )
        Default: "B"

        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.

      • separatethousands
        Parent: layout.scene.zaxis
        Type: boolean

        If "true", even 4-digit integers are separated

      • tickformat
        Parent: layout.scene.zaxis
        Type: string
        Default: ""

        Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      • tickformatstops
        Parent: layout.scene.zaxis
        Type: array of object where each object has one or more of the keys listed below.
        • enabled
          Parent: layout.scene.zaxis.tickformatstops[]
          Type: boolean
          Default: true

          Determines whether or not this stop is used. If `false`, this stop is ignored even within its `dtickrange`.

        • dtickrange
          Parent: layout.scene.zaxis.tickformatstops[]
          Type: array

          range ["min", "max"], where "min", "max" - dtick values which describe some zoom level, it is possible to omit "min" or "max" value by passing "null"

        • value
          Parent: layout.scene.zaxis.tickformatstops[]
          Type: string
          Default: ""

          string - dtickformat for described zoom level, the same as "tickformat"

        • name
          Parent: layout.scene.zaxis.tickformatstops[]
          Type: string

          When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

        • templateitemname
          Parent: layout.scene.zaxis.tickformatstops[]
          Type: string

          Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.

      • hoverformat
        Parent: layout.scene.zaxis
        Type: string
        Default: ""

        Sets the hover text formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format And for dates see: https://github.com/d3/d3-time-format#locale_format We add one item to d3's date formatter: "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      • showline
        Parent: layout.scene.zaxis
        Type: boolean

        Determines whether or not a line bounding this axis is drawn.

      • linecolor
        Parent: layout.scene.zaxis
        Type: color
        Default: "#444"

        Sets the axis line color.

      • linewidth
        Parent: layout.scene.zaxis
        Type: number greater than or equal to 0
        Default: 1

        Sets the width (in px) of the axis line.

      • showgrid
        Parent: layout.scene.zaxis
        Type: boolean

        Determines whether or not grid lines are drawn. If "true", the grid lines are drawn at every tick mark.

      • gridcolor
        Parent: layout.scene.zaxis
        Type: color
        Default: "rgb(204, 204, 204)"

        Sets the color of the grid lines.

      • gridwidth
        Parent: layout.scene.zaxis
        Type: number greater than or equal to 0
        Default: 1

        Sets the width (in px) of the grid lines.

      • zeroline
        Parent: layout.scene.zaxis
        Type: boolean

        Determines whether or not a line is drawn at along the 0 value of this axis. If "true", the zero line is drawn on top of the grid lines.

      • zerolinecolor
        Parent: layout.scene.zaxis
        Type: color
        Default: "#444"

        Sets the line color of the zero line.

      • zerolinewidth
        Parent: layout.scene.zaxis
        Type: number
        Default: 1

        Sets the width (in px) of the zero line.

      • calendar
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( "gregorian" | "chinese" | "coptic" | "discworld" | "ethiopian" | "hebrew" | "islamic" | "julian" | "mayan" | "nanakshahi" | "nepali" | "persian" | "jalali" | "taiwan" | "thai" | "ummalqura" )
        Default: "gregorian"

        Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`

    • dragmode
      Parent: layout.scene
      Type: enumerated , one of ( "orbit" | "turntable" | "zoom" | "pan" | false )

      Determines the mode of drag interactions for this scene.

    • hovermode
      Parent: layout.scene
      Type: enumerated , one of ( "closest" | false )
      Default: "closest"

      Determines the mode of hover interactions for this scene.

    • uirevision
      Parent: layout.scene
      Type: number or categorical coordinate string

      Controls persistence of user-driven changes in camera attributes. Defaults to `layout.uirevision`.

    • annotations
      Parent: layout.scene
      Type: array of object where each object has one or more of the keys listed below.
      An annotation is a text element that can be placed anywhere in the plot. It can be positioned with respect to relative coordinates in the plot or with respect to the actual data coordinates of the graph. Annotations can be shown with or without an arrow.
      • visible
        Parent: layout.scene.annotations[]
        Type: boolean
        Default: true

        Determines whether or not this annotation is visible.

      • x
        Parent: layout.scene.annotations[]
        Type: number or categorical coordinate string

        Sets the annotation's x position.

      • y
        Parent: layout.scene.annotations[]
        Type: number or categorical coordinate string

        Sets the annotation's y position.

      • z
        Parent: layout.scene.annotations[]
        Type: number or categorical coordinate string

        Sets the annotation's z position.

      • ax
        Parent: layout.scene.annotations[]
        Type: number

        Sets the x component of the arrow tail about the arrow head (in pixels).

      • ay
        Parent: layout.scene.annotations[]
        Type: number

        Sets the y component of the arrow tail about the arrow head (in pixels).

      • xanchor
        Parent: layout.scene.annotations[]
        Type: enumerated , one of ( "auto" | "left" | "center" | "right" )
        Default: "auto"

        Sets the text box's horizontal position anchor This anchor binds the `x` position to the "left", "center" or "right" of the annotation. For example, if `x` is set to 1, `xref` to "paper" and `xanchor` to "right" then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If "auto", the anchor is equivalent to "center" for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.

      • xshift
        Parent: layout.scene.annotations[]
        Type: number
        Default: 0

        Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.

      • yanchor
        Parent: layout.scene.annotations[]
        Type: enumerated , one of ( "auto" | "top" | "middle" | "bottom" )
        Default: "auto"

        Sets the text box's vertical position anchor This anchor binds the `y` position to the "top", "middle" or "bottom" of the annotation. For example, if `y` is set to 1, `yref` to "paper" and `yanchor` to "top" then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If "auto", the anchor is equivalent to "middle" for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.

      • yshift
        Parent: layout.scene.annotations[]
        Type: number
        Default: 0

        Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.

      • text
        Parent: layout.scene.annotations[]
        Type: string

        Sets the text associated with this annotation. Plotly uses a subset of HTML tags to do things like newline (<br>), bold (<b></b>), italics (<i></i>), hyperlinks (<a href='...'></a>). Tags <em>, <sup>, <sub> <span> are also supported.

      • textangle
        Parent: layout.scene.annotations[]
        Type: angle
        Default: 0

        Sets the angle at which the `text` is drawn with respect to the horizontal.

      • font
        Parent: layout.scene.annotations[]
        Type: object containing one or more of the keys listed below.

        Sets the annotation text font.

        • family
          Parent: layout.scene.annotations[].font
          Type: string

          HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman".

        • size
          Parent: layout.scene.annotations[].font
          Type: number greater than or equal to 1
        • color
          Parent: layout.scene.annotations[].font
          Type: color
      • width
        Parent: layout.scene.annotations[]
        Type: number greater than or equal to 1

        Sets an explicit width for the text box. null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use <br> to start a new line.

      • height
        Parent: layout.scene.annotations[]
        Type: number greater than or equal to 1

        Sets an explicit height for the text box. null (default) lets the text set the box height. Taller text will be clipped.

      • opacity
        Parent: layout.scene.annotations[]
        Type: number between or equal to 0 and 1
        Default: 1

        Sets the opacity of the annotation (text + arrow).

      • align
        Parent: layout.scene.annotations[]
        Type: enumerated , one of ( "left" | "center" | "right" )
        Default: "center"

        Sets the horizontal alignment of the `text` within the box. Has an effect only if `text` spans two or more lines (i.e. `text` contains one or more <br> HTML tags) or if an explicit width is set to override the text width.

      • valign
        Parent: layout.scene.annotations[]
        Type: enumerated , one of ( "top" | "middle" | "bottom" )
        Default: "middle"

        Sets the vertical alignment of the `text` within the box. Has an effect only if an explicit height is set to override the text height.

      • bgcolor
        Parent: layout.scene.annotations[]
        Type: color
        Default: "rgba(0,0,0,0)"

        Sets the background color of the annotation.

      • bordercolor
        Parent: layout.scene.annotations[]
        Type: color
        Default: "rgba(0,0,0,0)"

        Sets the color of the border enclosing the annotation `text`.

      • borderpad
        Parent: layout.scene.annotations[]
        Type: number greater than or equal to 0
        Default: 1

        Sets the padding (in px) between the `text` and the enclosing border.

      • borderwidth
        Parent: layout.scene.annotations[]
        Type: number greater than or equal to 0
        Default: 1

        Sets the width (in px) of the border enclosing the annotation `text`.

      • showarrow
        Parent: layout.scene.annotations[]
        Type: boolean
        Default: true

        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.

      • arrowcolor
        Parent: layout.scene.annotations[]
        Type: color

        Sets the color of the annotation arrow.

      • arrowhead
        Parent: layout.scene.annotations[]
        Type: integer between or equal to 0 and 8
        Default: 1

        Sets the end annotation arrow head style.

      • startarrowhead
        Parent: layout.scene.annotations[]
        Type: integer between or equal to 0 and 8
        Default: 1

        Sets the start annotation arrow head style.

      • arrowside
        Parent: layout.scene.annotations[]
        Type: flaglist string. Any combination of "end", "start" joined with a "+" OR "none".
        Examples: "end", "start", "end+start", "none"
        Default: "end"

        Sets the annotation arrow head position.

      • arrowsize
        Parent: layout.scene.annotations[]
        Type: number greater than or equal to 0.3
        Default: 1

        Sets the size of the end annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.

      • startarrowsize
        Parent: layout.scene.annotations[]
        Type: number greater than or equal to 0.3
        Default: 1

        Sets the size of the start annotation arrow head, relative to `arrowwidth`. A value of 1 (default) gives a head about 3x as wide as the line.

      • arrowwidth
        Parent: layout.scene.annotations[]
        Type: number greater than or equal to 0.1

        Sets the width (in px) of annotation arrow line.

      • standoff
        Parent: layout.scene.annotations[]
        Type: number greater than or equal to 0
        Default: 0

        Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.

      • startstandoff
        Parent: layout.scene.annotations[]
        Type: number greater than or equal to 0
        Default: 0

        Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom. Note that this shortens the arrow from the `ax` / `ay` vector, in contrast to `xshift` / `yshift` which moves everything by this amount.

      • hovertext
        Parent: layout.scene.annotations[]
        Type: string

        Sets text to appear when hovering over this annotation. If omitted or blank, no hover label will appear.

      • hoverlabel
        Parent: layout.scene.annotations[]
        Type: object containing one or more of the keys listed below.
        • bgcolor
          Parent: layout.scene.annotations[].hoverlabel
          Type: color

          Sets the background color of the hover label. By default uses the annotation's `bgcolor` made opaque, or white if it was transparent.

        • bordercolor
          Parent: layout.scene.annotations[].hoverlabel
          Type: color

          Sets the border color of the hover label. By default uses either dark grey or white, for maximum contrast with `hoverlabel.bgcolor`.

        • font
          Parent: layout.scene.annotations[].hoverlabel
          Type: object containing one or more of the keys listed below.

          Sets the hover label text font. By default uses the global hover font and size, with color from `hoverlabel.bordercolor`.

          • family
            Parent: layout.scene.annotations[].hoverlabel.font
            Type: string

            HTML font family - the typeface that will be applied by the web browser. The web browser will only be able to apply a font if it is available on the system which it operates. Provide multiple font families, separated by commas, to indicate the preference in which to apply fonts if they aren't available on the system. The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server, where only a select number of fonts are installed and supported. These include "Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman".

          • size
            Parent: layout.scene.annotations[].hoverlabel.font
            Type: number greater than or equal to 1
          • color
            Parent: layout.scene.annotations[].hoverlabel.font
            Type: color
      • captureevents
        Parent: layout.scene.annotations[]
        Type: boolean

        Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation. By default `captureevents` is "false" unless `hovertext` is provided. If you use the event `plotly_clickannotation` without `hovertext` you must explicitly enable `captureevents`.

      • name
        Parent: layout.scene.annotations[]
        Type: string

        When used in a template, named items are created in the output figure in addition to any items the figure already has in this array. You can modify these items in the output figure by making your own item with `templateitemname` matching this `name` alongside your modifications (including `visible: false` or `enabled: false` to hide it). Has no effect outside of a template.

      • templateitemname
        Parent: layout.scene.annotations[]
        Type: string

        Used to refer to a named item in this array in the template. Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with `templateitemname` matching its `name`, alongside your modifications (including `visible: false` or `enabled: false` to hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it with `visible: true`.