JavaScript Figure Reference: layout.scene

  • scene
    Parent: layout
    Type: object containing one or more of the keys listed below.
    • 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.
      • 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.

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

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

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

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

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

      • 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`.

      • 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`.

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

        Sets the annotation text font.

        • color
          Parent: layout.scene.annotations[].font
          Type: color
        • 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".

        • lineposition
          Parent: layout.scene.annotations[].font
          Type: flaglist string. Any combination of "under", "over", "through" joined with a "+" OR "none".
          Examples: "under", "over", "under+over", "under+over+through", "none"
          Default: "none"

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        • shadow
          Parent: layout.scene.annotations[].font
          Type: string
          Default: "none"

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size
          Parent: layout.scene.annotations[].font
          Type: number greater than or equal to 1
        • style
          Parent: layout.scene.annotations[].font
          Type: enumerated , one of ( "normal" | "italic" )
          Default: "normal"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase
          Parent: layout.scene.annotations[].font
          Type: enumerated , one of ( "normal" | "word caps" | "upper" | "lower" )
          Default: "normal"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant
          Parent: layout.scene.annotations[].font
          Type: enumerated , one of ( "normal" | "small-caps" | "all-small-caps" | "all-petite-caps" | "petite-caps" | "unicase" )
          Default: "normal"

          Sets the variant of the font.

        • weight
          Parent: layout.scene.annotations[].font
          Type: integer between or equal to 1 and 1000
          Default: normal

          Sets the weight (or boldness) of the font.

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

      • 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`.

          • color
            Parent: layout.scene.annotations[].hoverlabel.font
            Type: color
          • 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".

          • lineposition
            Parent: layout.scene.annotations[].hoverlabel.font
            Type: flaglist string. Any combination of "under", "over", "through" joined with a "+" OR "none".
            Examples: "under", "over", "under+over", "under+over+through", "none"
            Default: "none"

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          • shadow
            Parent: layout.scene.annotations[].hoverlabel.font
            Type: string
            Default: "none"

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size
            Parent: layout.scene.annotations[].hoverlabel.font
            Type: number greater than or equal to 1
          • style
            Parent: layout.scene.annotations[].hoverlabel.font
            Type: enumerated , one of ( "normal" | "italic" )
            Default: "normal"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase
            Parent: layout.scene.annotations[].hoverlabel.font
            Type: enumerated , one of ( "normal" | "word caps" | "upper" | "lower" )
            Default: "normal"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant
            Parent: layout.scene.annotations[].hoverlabel.font
            Type: enumerated , one of ( "normal" | "small-caps" | "all-small-caps" | "all-petite-caps" | "petite-caps" | "unicase" )
            Default: "normal"

            Sets the variant of the font.

          • weight
            Parent: layout.scene.annotations[].hoverlabel.font
            Type: integer between or equal to 1 and 1000
            Default: normal

            Sets the weight (or boldness) of the font.

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

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

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

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

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

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

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

        Sets the start annotation arrow head style.

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

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

      • 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`.

      • 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>, <s>, <u> <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.

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

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

        Determines whether or not this annotation is visible.

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

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

        Sets the annotation's x position.

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

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

        Sets the annotation's y position.

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

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

        Sets the annotation's z position.

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

      • 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
    • domain
      Parent: layout.scene
      Type: object containing one or more of the keys listed below.
      • 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 .

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

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

    • 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`.

    • xaxis
      Parent: layout.scene
      Type: object containing one or more of the keys listed below.
      • autorange
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( true | false | "reversed" | "min reversed" | "max reversed" | "min" | "max" )
        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 and it has a value for both the lower and upper bound, `autorange` is set to "false". Using "min" applies autorange only to set the minimum. Using "max" applies autorange only to set the maximum. Using "min reversed" applies autorange only to set the minimum on a reversed axis. Using "max reversed" applies autorange only to set the maximum on a reversed axis. Using "reversed" applies autorange on both ends and reverses the axis direction.

      • autorangeoptions
        Parent: layout.scene.xaxis
        Type: object containing one or more of the keys listed below.
        • clipmax
          Parent: layout.scene.xaxis.autorangeoptions
          Type: number or categorical coordinate string

          Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.

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

          Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.

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

          Ensure this value is included in autorange.

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

          Use this value exactly as autorange maximum.

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

          Use this value exactly as autorange minimum.

      • autotypenumbers
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( "convert types" | "strict" )
        Default: "convert types"

        Using "strict" a numeric string in trace data is not converted to a number. Using "convert types" a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.

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

        Sets the background color of this axis' wall.

      • calendar
        Parent: layout.scene.xaxis
        Type: enumerated , one of ( "chinese" | "coptic" | "discworld" | "ethiopian" | "gregorian" | "hebrew" | "islamic" | "jalali" | "julian" | "mayan" | "nanakshahi" | "nepali" | "persian" | "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`

      • 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`.

      • 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" | "geometric mean ascending" | "geometric 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, geometric mean or median of all the values.

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

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

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

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

      • 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-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

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

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • linecolor
        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.

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

        Determines the maximum range of this axis.

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

        Determines the minimum range of this axis.

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

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

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

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

      • 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. Leaving either or both elements `null` impacts the default `autorange`.

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

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

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

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

        Sets whether or not this axis is labeled

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

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

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

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

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

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

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

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

        Determines whether or not the tick labels are drawn.

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

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

        Same as `showtickprefix` but for tick suffixes.

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

        Sets the color of the spikes.

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

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

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

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

        Sets the tick color.

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

        Sets the tick font.

        • color
          Parent: layout.scene.xaxis.tickfont
          Type: color
        • 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".

        • lineposition
          Parent: layout.scene.xaxis.tickfont
          Type: flaglist string. Any combination of "under", "over", "through" joined with a "+" OR "none".
          Examples: "under", "over", "under+over", "under+over+through", "none"
          Default: "none"

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        • shadow
          Parent: layout.scene.xaxis.tickfont
          Type: string
          Default: "none"

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size
          Parent: layout.scene.xaxis.tickfont
          Type: number greater than or equal to 1
        • style
          Parent: layout.scene.xaxis.tickfont
          Type: enumerated , one of ( "normal" | "italic" )
          Default: "normal"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase
          Parent: layout.scene.xaxis.tickfont
          Type: enumerated , one of ( "normal" | "word caps" | "upper" | "lower" )
          Default: "normal"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant
          Parent: layout.scene.xaxis.tickfont
          Type: enumerated , one of ( "normal" | "small-caps" | "all-small-caps" | "all-petite-caps" | "petite-caps" | "unicase" )
          Default: "normal"

          Sets the variant of the font.

        • weight
          Parent: layout.scene.xaxis.tickfont
          Type: integer between or equal to 1 and 1000
          Default: normal

          Sets the weight (or boldness) of the font.

      • 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-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      • tickformatstops
        Parent: layout.scene.xaxis
        Type: array of object where each object has one or more of the keys listed below.
        • 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"

        • 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`.

        • 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`.

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

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

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

        Sets the tick length (in px).

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

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

        Sets a tick label prefix.

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

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

        Sets a tick label suffix.

      • 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`.

      • 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`.

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

        Sets the tick width (in px).

      • title
        Parent: layout.scene.xaxis
        Type: object containing one or more of the keys listed below.
        • 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.

          • color
            Parent: layout.scene.xaxis.title.font
            Type: color
          • 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".

          • lineposition
            Parent: layout.scene.xaxis.title.font
            Type: flaglist string. Any combination of "under", "over", "through" joined with a "+" OR "none".
            Examples: "under", "over", "under+over", "under+over+through", "none"
            Default: "none"

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          • shadow
            Parent: layout.scene.xaxis.title.font
            Type: string
            Default: "none"

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size
            Parent: layout.scene.xaxis.title.font
            Type: number greater than or equal to 1
          • style
            Parent: layout.scene.xaxis.title.font
            Type: enumerated , one of ( "normal" | "italic" )
            Default: "normal"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase
            Parent: layout.scene.xaxis.title.font
            Type: enumerated , one of ( "normal" | "word caps" | "upper" | "lower" )
            Default: "normal"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant
            Parent: layout.scene.xaxis.title.font
            Type: enumerated , one of ( "normal" | "small-caps" | "all-small-caps" | "all-petite-caps" | "petite-caps" | "unicase" )
            Default: "normal"

            Sets the variant of the font.

          • weight
            Parent: layout.scene.xaxis.title.font
            Type: integer between or equal to 1 and 1000
            Default: normal

            Sets the weight (or boldness) of the font.

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

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

      • 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

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

    • yaxis
      Parent: layout.scene
      Type: object containing one or more of the keys listed below.
      • autorange
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( true | false | "reversed" | "min reversed" | "max reversed" | "min" | "max" )
        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 and it has a value for both the lower and upper bound, `autorange` is set to "false". Using "min" applies autorange only to set the minimum. Using "max" applies autorange only to set the maximum. Using "min reversed" applies autorange only to set the minimum on a reversed axis. Using "max reversed" applies autorange only to set the maximum on a reversed axis. Using "reversed" applies autorange on both ends and reverses the axis direction.

      • autorangeoptions
        Parent: layout.scene.yaxis
        Type: object containing one or more of the keys listed below.
        • clipmax
          Parent: layout.scene.yaxis.autorangeoptions
          Type: number or categorical coordinate string

          Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.

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

          Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.

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

          Ensure this value is included in autorange.

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

          Use this value exactly as autorange maximum.

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

          Use this value exactly as autorange minimum.

      • autotypenumbers
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( "convert types" | "strict" )
        Default: "convert types"

        Using "strict" a numeric string in trace data is not converted to a number. Using "convert types" a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.

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

        Sets the background color of this axis' wall.

      • calendar
        Parent: layout.scene.yaxis
        Type: enumerated , one of ( "chinese" | "coptic" | "discworld" | "ethiopian" | "gregorian" | "hebrew" | "islamic" | "jalali" | "julian" | "mayan" | "nanakshahi" | "nepali" | "persian" | "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`

      • 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`.

      • 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" | "geometric mean ascending" | "geometric 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, geometric mean or median of all the values.

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

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

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

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

      • 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-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

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

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • linecolor
        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.

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

        Determines the maximum range of this axis.

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

        Determines the minimum range of this axis.

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

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

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

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

      • 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. Leaving either or both elements `null` impacts the default `autorange`.

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

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

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

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

        Sets whether or not this axis is labeled

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

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

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

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

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

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

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

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

        Determines whether or not the tick labels are drawn.

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

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

        Same as `showtickprefix` but for tick suffixes.

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

        Sets the color of the spikes.

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

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

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

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

        Sets the tick color.

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

        Sets the tick font.

        • color
          Parent: layout.scene.yaxis.tickfont
          Type: color
        • 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".

        • lineposition
          Parent: layout.scene.yaxis.tickfont
          Type: flaglist string. Any combination of "under", "over", "through" joined with a "+" OR "none".
          Examples: "under", "over", "under+over", "under+over+through", "none"
          Default: "none"

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        • shadow
          Parent: layout.scene.yaxis.tickfont
          Type: string
          Default: "none"

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size
          Parent: layout.scene.yaxis.tickfont
          Type: number greater than or equal to 1
        • style
          Parent: layout.scene.yaxis.tickfont
          Type: enumerated , one of ( "normal" | "italic" )
          Default: "normal"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase
          Parent: layout.scene.yaxis.tickfont
          Type: enumerated , one of ( "normal" | "word caps" | "upper" | "lower" )
          Default: "normal"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant
          Parent: layout.scene.yaxis.tickfont
          Type: enumerated , one of ( "normal" | "small-caps" | "all-small-caps" | "all-petite-caps" | "petite-caps" | "unicase" )
          Default: "normal"

          Sets the variant of the font.

        • weight
          Parent: layout.scene.yaxis.tickfont
          Type: integer between or equal to 1 and 1000
          Default: normal

          Sets the weight (or boldness) of the font.

      • 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-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      • tickformatstops
        Parent: layout.scene.yaxis
        Type: array of object where each object has one or more of the keys listed below.
        • 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"

        • 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`.

        • 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`.

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

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

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

        Sets the tick length (in px).

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

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

        Sets a tick label prefix.

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

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

        Sets a tick label suffix.

      • 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`.

      • 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`.

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

        Sets the tick width (in px).

      • title
        Parent: layout.scene.yaxis
        Type: object containing one or more of the keys listed below.
        • 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.

          • color
            Parent: layout.scene.yaxis.title.font
            Type: color
          • 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".

          • lineposition
            Parent: layout.scene.yaxis.title.font
            Type: flaglist string. Any combination of "under", "over", "through" joined with a "+" OR "none".
            Examples: "under", "over", "under+over", "under+over+through", "none"
            Default: "none"

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          • shadow
            Parent: layout.scene.yaxis.title.font
            Type: string
            Default: "none"

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size
            Parent: layout.scene.yaxis.title.font
            Type: number greater than or equal to 1
          • style
            Parent: layout.scene.yaxis.title.font
            Type: enumerated , one of ( "normal" | "italic" )
            Default: "normal"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase
            Parent: layout.scene.yaxis.title.font
            Type: enumerated , one of ( "normal" | "word caps" | "upper" | "lower" )
            Default: "normal"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant
            Parent: layout.scene.yaxis.title.font
            Type: enumerated , one of ( "normal" | "small-caps" | "all-small-caps" | "all-petite-caps" | "petite-caps" | "unicase" )
            Default: "normal"

            Sets the variant of the font.

          • weight
            Parent: layout.scene.yaxis.title.font
            Type: integer between or equal to 1 and 1000
            Default: normal

            Sets the weight (or boldness) of the font.

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

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

      • 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

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

    • zaxis
      Parent: layout.scene
      Type: object containing one or more of the keys listed below.
      • autorange
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( true | false | "reversed" | "min reversed" | "max reversed" | "min" | "max" )
        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 and it has a value for both the lower and upper bound, `autorange` is set to "false". Using "min" applies autorange only to set the minimum. Using "max" applies autorange only to set the maximum. Using "min reversed" applies autorange only to set the minimum on a reversed axis. Using "max reversed" applies autorange only to set the maximum on a reversed axis. Using "reversed" applies autorange on both ends and reverses the axis direction.

      • autorangeoptions
        Parent: layout.scene.zaxis
        Type: object containing one or more of the keys listed below.
        • clipmax
          Parent: layout.scene.zaxis.autorangeoptions
          Type: number or categorical coordinate string

          Clip autorange maximum if it goes beyond this value. Has no effect when `autorangeoptions.maxallowed` is provided.

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

          Clip autorange minimum if it goes beyond this value. Has no effect when `autorangeoptions.minallowed` is provided.

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

          Ensure this value is included in autorange.

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

          Use this value exactly as autorange maximum.

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

          Use this value exactly as autorange minimum.

      • autotypenumbers
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( "convert types" | "strict" )
        Default: "convert types"

        Using "strict" a numeric string in trace data is not converted to a number. Using "convert types" a numeric string in trace data may be treated as a number during automatic axis `type` detection. Defaults to layout.autotypenumbers.

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

        Sets the background color of this axis' wall.

      • calendar
        Parent: layout.scene.zaxis
        Type: enumerated , one of ( "chinese" | "coptic" | "discworld" | "ethiopian" | "gregorian" | "hebrew" | "islamic" | "jalali" | "julian" | "mayan" | "nanakshahi" | "nepali" | "persian" | "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`

      • 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`.

      • 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" | "geometric mean ascending" | "geometric 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, geometric mean or median of all the values.

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

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

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

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

      • 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-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

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

        Replacement text for specific tick or hover labels. For example using {US: 'USA', CA: 'Canada'} changes US to USA and CA to Canada. The labels we would have shown must match the keys exactly, after adding any tickprefix or ticksuffix. For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash. That means you need to use −1 instead of -1. labelalias can be used with any axis type, and both keys (if needed) and values (if desired) can include html-like tags or MathJax.

      • linecolor
        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.

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

        Determines the maximum range of this axis.

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

        Determines the minimum range of this axis.

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

        Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is "SI" or "B".

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

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

      • 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. Leaving either or both elements `null` impacts the default `autorange`.

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

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

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

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

        Sets whether or not this axis is labeled

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

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

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

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

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

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

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

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

        Determines whether or not the tick labels are drawn.

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

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

        Same as `showtickprefix` but for tick suffixes.

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

        Sets the color of the spikes.

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

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

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

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

        Sets the tick color.

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

        Sets the tick font.

        • color
          Parent: layout.scene.zaxis.tickfont
          Type: color
        • 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".

        • lineposition
          Parent: layout.scene.zaxis.tickfont
          Type: flaglist string. Any combination of "under", "over", "through" joined with a "+" OR "none".
          Examples: "under", "over", "under+over", "under+over+through", "none"
          Default: "none"

          Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

        • shadow
          Parent: layout.scene.zaxis.tickfont
          Type: string
          Default: "none"

          Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

        • size
          Parent: layout.scene.zaxis.tickfont
          Type: number greater than or equal to 1
        • style
          Parent: layout.scene.zaxis.tickfont
          Type: enumerated , one of ( "normal" | "italic" )
          Default: "normal"

          Sets whether a font should be styled with a normal or italic face from its family.

        • textcase
          Parent: layout.scene.zaxis.tickfont
          Type: enumerated , one of ( "normal" | "word caps" | "upper" | "lower" )
          Default: "normal"

          Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

        • variant
          Parent: layout.scene.zaxis.tickfont
          Type: enumerated , one of ( "normal" | "small-caps" | "all-small-caps" | "all-petite-caps" | "petite-caps" | "unicase" )
          Default: "normal"

          Sets the variant of the font.

        • weight
          Parent: layout.scene.zaxis.tickfont
          Type: integer between or equal to 1 and 1000
          Default: normal

          Sets the weight (or boldness) of the font.

      • 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-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: "%h" for half of the year as a decimal number as well as "%{n}f" for fractional seconds with n digits. For example, "2016-10-13 09:15:23.456" with tickformat "%H~%M~%S.%2f" would display "09~15~23.46"

      • tickformatstops
        Parent: layout.scene.zaxis
        Type: array of object where each object has one or more of the keys listed below.
        • 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"

        • 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`.

        • 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`.

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

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

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

        Sets the tick length (in px).

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

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

        Sets a tick label prefix.

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

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

        Sets a tick label suffix.

      • 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`.

      • 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`.

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

        Sets the tick width (in px).

      • title
        Parent: layout.scene.zaxis
        Type: object containing one or more of the keys listed below.
        • 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.

          • color
            Parent: layout.scene.zaxis.title.font
            Type: color
          • 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".

          • lineposition
            Parent: layout.scene.zaxis.title.font
            Type: flaglist string. Any combination of "under", "over", "through" joined with a "+" OR "none".
            Examples: "under", "over", "under+over", "under+over+through", "none"
            Default: "none"

            Sets the kind of decoration line(s) with text, such as an "under", "over" or "through" as well as combinations e.g. "under+over", etc.

          • shadow
            Parent: layout.scene.zaxis.title.font
            Type: string
            Default: "none"

            Sets the shape and color of the shadow behind text. "auto" places minimal shadow and applies contrast text font color. See https://developer.mozilla.org/en-US/docs/Web/CSS/text-shadow for additional options.

          • size
            Parent: layout.scene.zaxis.title.font
            Type: number greater than or equal to 1
          • style
            Parent: layout.scene.zaxis.title.font
            Type: enumerated , one of ( "normal" | "italic" )
            Default: "normal"

            Sets whether a font should be styled with a normal or italic face from its family.

          • textcase
            Parent: layout.scene.zaxis.title.font
            Type: enumerated , one of ( "normal" | "word caps" | "upper" | "lower" )
            Default: "normal"

            Sets capitalization of text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized.

          • variant
            Parent: layout.scene.zaxis.title.font
            Type: enumerated , one of ( "normal" | "small-caps" | "all-small-caps" | "all-petite-caps" | "petite-caps" | "unicase" )
            Default: "normal"

            Sets the variant of the font.

          • weight
            Parent: layout.scene.zaxis.title.font
            Type: integer between or equal to 1 and 1000
            Default: normal

            Sets the weight (or boldness) of the font.

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

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

      • 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

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