## MATLAB Figure Reference: streamtube Traces

A streamtube trace is a struct inside fig.data which has type equal to 'streamtube'. This section lists all of the valid keys that a streamtube struct can contain.

Use a streamtube trace to visualize flow in a vector field. Specify a vector field using 6 1D arrays of equal length, 3 position arrays x, y and z and 3 vector component arrays u, v, and w. By default, the tubes' starting positions will be cut from the vector field's x-z plane at its minimum y value. To specify your own starting position, use attributes starts.x, starts.y and starts.z. The color is encoded by the norm of (u, v, w), and the local radius by the divergence of (u, v, w).

• type
Parent: data[type=streamtube]
Type: 'streamtube'
• name
Parent: data[type=streamtube]
Type: string

Sets the trace name. The trace name appears as the legend item and on hover.

• visible
Parent: data[type=streamtube]
Type: enumerated , one of ( true | false | 'legendonly' )
Default: true

Determines whether or not this trace is visible. If 'legendonly', the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible).

• showlegend
Parent: data[type=streamtube]
Type: boolean

Determines whether or not an item corresponding to this trace is shown in the legend.

• legend
Parent: data[type=streamtube]
Type: subplotid
Default: legend

Sets the reference to a legend to show this trace in. References to these legends are 'legend', 'legend2', 'legend3', etc. Settings for these legends are set in the layout, under layout.legend, layout.legend2, etc.

• legendrank
Parent: data[type=streamtube]
Type: number
Default: 1000

Sets the legend rank for this trace. Items and groups with smaller ranks are presented on top/left side while with 'reversed' legend.traceorder they are on bottom/right side. The default legendrank is 1000, so that you can use ranks less than 1000 to place certain items before all unranked items, and ranks greater than 1000 to go after all unranked items. When having unranked or equal rank items shapes would be displayed after traces i.e. according to their order in data and layout.

• legendgroup
Parent: data[type=streamtube]
Type: string
Default: ''

Sets the legend group for this trace. Traces and shapes part of the same legend group hide/show at the same time when toggling legend items.

• legendgrouptitle
Parent: data[type=streamtube]
Type: struct containing one or more of the keys listed below.
• font
Parent: data[type=streamtube].legendgrouptitle
Type: struct containing one or more of the keys listed below.

Sets this legend group's title font.

• color
Parent: data[type=streamtube].legendgrouptitle.font
Type: color
• family
Parent: data[type=streamtube].legendgrouptitle.font
Type: string

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

• size
Parent: data[type=streamtube].legendgrouptitle.font
Type: number greater than or equal to 1
• text
Parent: data[type=streamtube].legendgrouptitle
Type: string
Default: ''

Sets the title of the legend group.

• legendwidth
Parent: data[type=streamtube]
Type: number greater than or equal to 0

Sets the width (in px or fraction) of the legend for this trace.

• opacity
Parent: data[type=streamtube]
Type: number between or equal to 0 and 1
Default: 1

Sets the opacity of the surface. Please note that in the case of using high opacity values for example a value greater than or equal to 0.5 on two surfaces (and 0.25 with four surfaces), an overlay of multiple transparent surfaces may not perfectly be sorted in depth by the webgl API. This behavior may be improved in the near future and is subject to change.

• ids
Parent: data[type=streamtube]
Type: array

Assigns id labels to each datum. These ids for object constancy of data points during animation. Should be an array of strings, not numbers or any other type.

• x
Parent: data[type=streamtube]
Type: array

Sets the x coordinates of the vector field.

• y
Parent: data[type=streamtube]
Type: array

Sets the y coordinates of the vector field.

• z
Parent: data[type=streamtube]
Type: array

Sets the z coordinates of the vector field.

• u
Parent: data[type=streamtube]
Type: array

Sets the x components of the vector field.

• v
Parent: data[type=streamtube]
Type: array

Sets the y components of the vector field.

• w
Parent: data[type=streamtube]
Type: array

Sets the z components of the vector field.

• text
Parent: data[type=streamtube]
Type: string
Default: ''

Sets a text element associated with this trace. If trace hoverinfo contains a 'text' flag, this text element will be seen in all hover labels. Note that streamtube traces do not support array text values.

• hovertext
Parent: data[type=streamtube]
Type: string
Default: ''

Same as text.

• hoverinfo
Parent: data[type=streamtube]
Type: flaglist string. Any combination of 'x', 'y', 'z', 'u', 'v', 'w', 'norm', 'divergence', 'text', 'name' joined with a '+' OR 'all' or 'none' or 'skip'.
Examples: 'x', 'y', 'x+y', 'x+y+z', 'all'
Default: 'x+y+z+norm+text+name'

Determines which trace information appear on hover. If none or skip are set, no information is displayed upon hovering. But, if none is set, click and hover events are still fired.

• hovertemplate
Parent: data[type=streamtube]
Type: string or array of strings
Default: ''

Template string used for rendering the information that appear on hover box. Note that this will override hoverinfo. Variables are inserted using %{variable}, for example "y: %{y}" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, 'xother' will be added to those with different x positions from the first point. An underscore before or after '(x|y)other' will add a space on that side, only when this field is shown. Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:\$.2f}". https://github.com/d3/d3-format/tree/v1.4.5#d3-format for details on the formatting syntax. Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}". https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format for details on the date formatting syntax. The variables available in hovertemplate are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are arrayOk: true) are available. Finally, the template string has access to variables tubex, tubey, tubez, tubeu, tubev, tubew, norm and divergence. Anything contained in tag <extra> is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". To hide the secondary box completely, use an empty tag <extra></extra>.

• xhoverformat
Parent: data[type=streamtube]
Type: string
Default: ''

Sets the hover text formatting rulefor x 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'By default the values are formatted using xaxis.hoverformat.

• yhoverformat
Parent: data[type=streamtube]
Type: string
Default: ''

Sets the hover text formatting rulefor y 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'By default the values are formatted using yaxis.hoverformat.

• uhoverformat
Parent: data[type=streamtube]
Type: string
Default: ''

Sets the hover text formatting rulefor u 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.By default the values are formatted using generic number format.

• vhoverformat
Parent: data[type=streamtube]
Type: string
Default: ''

Sets the hover text formatting rulefor v 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.By default the values are formatted using generic number format.

• whoverformat
Parent: data[type=streamtube]
Type: string
Default: ''

Sets the hover text formatting rulefor w 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.By default the values are formatted using generic number format.

• meta
Parent: data[type=streamtube]
Type: number or categorical coordinate string

Assigns extra meta information associated with this trace that can be used in various text attributes. Attributes such as trace name, graph, axis and colorbar title.text, annotation text rangeselector, updatemenues and sliders label text all support meta. To access the trace meta values in an attribute in the same trace, simply use %{meta[i]} where i is the index or key of the meta item in question. To access trace meta in layout attributes, use %{data[n[.meta[i]} where i is the index or key of the meta and n is the trace index.

• customdata
Parent: data[type=streamtube]
Type: array

Assigns extra data each datum. This may be useful when listening to hover, click and selection events. Note that, 'scatter' traces also appends customdata items in the markers DOM elements

• scene
Parent: data[type=streamtube]
Type: subplotid
Default: scene

Sets a reference between this trace's 3D coordinate system and a 3D scene. If 'scene' (the default value), the (x,y,z) coordinates refer to layout.scene. If 'scene2', the (x,y,z) coordinates refer to layout.scene2, and so on.

• coloraxis
Parent: data[type=streamtube]
Type: subplotid

Sets a reference to a shared color axis. References to these shared color axes are 'coloraxis', 'coloraxis2', 'coloraxis3', etc. Settings for these shared color axes are set in the layout, under layout.coloraxis, layout.coloraxis2, etc. Note that multiple color scales can be linked to the same color axis.

• colorbar
Parent: data[type=streamtube]
Type: struct containing one or more of the keys listed below.
• bgcolor
Parent: data[type=streamtube].colorbar
Type: color
Default: 'rgba(0,0,0,0)'

Sets the color of padded area.

• bordercolor
Parent: data[type=streamtube].colorbar
Type: color
Default: '#444'

Sets the axis line color.

• borderwidth
Parent: data[type=streamtube].colorbar
Type: number greater than or equal to 0
Default: 0

Sets the width (in px) or the border enclosing this color bar.

• dtick
Parent: data[type=streamtube].colorbar
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: data[type=streamtube].colorbar
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.

• labelalias
Parent: data[type=streamtube].colorbar
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.

• len
Parent: data[type=streamtube].colorbar
Type: number greater than or equal to 0
Default: 1

Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.

• lenmode
Parent: data[type=streamtube].colorbar
Type: enumerated , one of ( 'fraction' | 'pixels' )
Default: 'fraction'

Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot 'fraction' or in 'pixels. Use len to set the value.

• minexponent
Parent: data[type=streamtube].colorbar
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'.

• nticks
Parent: data[type=streamtube].colorbar
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'.

• orientation
Parent: data[type=streamtube].colorbar
Type: enumerated , one of ( 'h' | 'v' )
Default: 'v'

Sets the orientation of the colorbar.

• outlinecolor
Parent: data[type=streamtube].colorbar
Type: color
Default: '#444'

Sets the axis line color.

• outlinewidth
Parent: data[type=streamtube].colorbar
Type: number greater than or equal to 0
Default: 1

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

• separatethousands
Parent: data[type=streamtube].colorbar
Type: boolean

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

• showexponent
Parent: data[type=streamtube].colorbar
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.

• showticklabels
Parent: data[type=streamtube].colorbar
Type: boolean
Default: true

Determines whether or not the tick labels are drawn.

• showtickprefix
Parent: data[type=streamtube].colorbar
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: data[type=streamtube].colorbar
Type: enumerated , one of ( 'all' | 'first' | 'last' | 'none' )
Default: 'all'

Same as showtickprefix but for tick suffixes.

• thickness
Parent: data[type=streamtube].colorbar
Type: number greater than or equal to 0
Default: 30

Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.

• thicknessmode
Parent: data[type=streamtube].colorbar
Type: enumerated , one of ( 'fraction' | 'pixels' )
Default: 'pixels'

Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot 'fraction' or in 'pixels'. Use thickness to set the value.

• tick0
Parent: data[type=streamtube].colorbar
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: data[type=streamtube].colorbar
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: data[type=streamtube].colorbar
Type: color
Default: '#444'

Sets the tick color.

• tickfont
Parent: data[type=streamtube].colorbar
Type: struct containing one or more of the keys listed below.

Sets the color bar's tick label font

• color
Parent: data[type=streamtube].colorbar.tickfont
Type: color
• family
Parent: data[type=streamtube].colorbar.tickfont
Type: string

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

• size
Parent: data[type=streamtube].colorbar.tickfont
Type: number greater than or equal to 1
• tickformat
Parent: data[type=streamtube].colorbar
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: data[type=streamtube].colorbar
Type: cell array of struct where each struct has one or more of the keys listed below.
• dtickrange
Parent: data[type=streamtube].colorbar.tickformatstops[]
Type: cell 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: data[type=streamtube].colorbar.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: data[type=streamtube].colorbar.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: data[type=streamtube].colorbar.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: data[type=streamtube].colorbar.tickformatstops[]
Type: string
Default: ''

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

• ticklabeloverflow
Parent: data[type=streamtube].colorbar
Type: enumerated , one of ( 'allow' | 'hide past div' | 'hide past domain' )

Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is 'hide past domain'. In other cases the default is 'hide past div'.

• ticklabelposition
Parent: data[type=streamtube].colorbar
Type: enumerated , one of ( 'outside' | 'inside' | 'outside top' | 'inside top' | 'outside left' | 'inside left' | 'outside right' | 'inside right' | 'outside bottom' | 'inside bottom' )
Default: 'outside'

Determines where tick labels are drawn relative to the ticks. Left and right options are used when orientation is 'h', top and bottom when orientation is 'v'.

• ticklabelstep
Parent: data[type=streamtube].colorbar
Type: integer greater than or equal to 1
Default: 1

Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. tick0 determines which labels are shown. Not implemented for axes with type 'log' or 'multicategory', or when tickmode is 'array'.

• ticklen
Parent: data[type=streamtube].colorbar
Type: number greater than or equal to 0
Default: 5

Sets the tick length (in px).

• tickmode
Parent: data[type=streamtube].colorbar
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: data[type=streamtube].colorbar
Type: string
Default: ''

Sets a tick label prefix.

• ticks
Parent: data[type=streamtube].colorbar
Type: enumerated , one of ( 'outside' | 'inside' | '' )
Default: ''

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: data[type=streamtube].colorbar
Type: string
Default: ''

Sets a tick label suffix.

• ticktext
Parent: data[type=streamtube].colorbar
Type: 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: data[type=streamtube].colorbar
Type: 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: data[type=streamtube].colorbar
Type: number greater than or equal to 0
Default: 1

Sets the tick width (in px).

• title
Parent: data[type=streamtube].colorbar
Type: struct containing one or more of the keys listed below.
• font
Parent: data[type=streamtube].colorbar.title
Type: struct containing one or more of the keys listed below.

Sets this color bar's title font. Note that the title's font used to be set by the now deprecated titlefont attribute.

• color
Parent: data[type=streamtube].colorbar.title.font
Type: color
• family
Parent: data[type=streamtube].colorbar.title.font
Type: string

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

• size
Parent: data[type=streamtube].colorbar.title.font
Type: number greater than or equal to 1
• side
Parent: data[type=streamtube].colorbar.title
Type: enumerated , one of ( 'right' | 'top' | 'bottom' )

Determines the location of color bar's title with respect to the color bar. Defaults to 'top' when orientation if 'v' and defaults to 'right' when orientation if 'h'. Note that the title's location used to be set by the now deprecated titleside attribute.

• text
Parent: data[type=streamtube].colorbar.title
Type: string

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

• x
Parent: data[type=streamtube].colorbar
Type: number

Sets the x position with respect to xref of the color bar (in plot fraction). When xref is 'paper', defaults to 1.02 when orientation is 'v' and 0.5 when orientation is 'h'. When xref is 'container', defaults to '1' when orientation is 'v' and 0.5 when orientation is 'h'. Must be between '0' and '1' if xref is 'container' and between '-2' and '3' if xref is 'paper'.

• xanchor
Parent: data[type=streamtube].colorbar
Type: enumerated , one of ( 'left' | 'center' | 'right' )

Sets this color bar's horizontal position anchor. This anchor binds the x position to the 'left', 'center' or 'right' of the color bar. Defaults to 'left' when orientation is 'v' and 'center' when orientation is 'h'.

• xpad
Parent: data[type=streamtube].colorbar
Type: number greater than or equal to 0
Default: 10

Sets the amount of padding (in px) along the x direction.

• xref
Parent: data[type=streamtube].colorbar
Type: enumerated , one of ( 'container' | 'paper' )
Default: 'paper'

Sets the container x refers to. 'container' spans the entire width of the plot. 'paper' refers to the width of the plotting area only.

• y
Parent: data[type=streamtube].colorbar
Type: number

Sets the y position with respect to yref of the color bar (in plot fraction). When yref is 'paper', defaults to 0.5 when orientation is 'v' and 1.02 when orientation is 'h'. When yref is 'container', defaults to 0.5 when orientation is 'v' and 1 when orientation is 'h'. Must be between '0' and '1' if yref is 'container' and between '-2' and '3' if yref is 'paper'.

• yanchor
Parent: data[type=streamtube].colorbar
Type: enumerated , one of ( 'top' | 'middle' | 'bottom' )

Sets this color bar's vertical position anchor This anchor binds the y position to the 'top', 'middle' or 'bottom' of the color bar. Defaults to 'middle' when orientation is 'v' and 'bottom' when orientation is 'h'.

• ypad
Parent: data[type=streamtube].colorbar
Type: number greater than or equal to 0
Default: 10

Sets the amount of padding (in px) along the y direction.

• yref
Parent: data[type=streamtube].colorbar
Type: enumerated , one of ( 'container' | 'paper' )
Default: 'paper'

Sets the container y refers to. 'container' spans the entire height of the plot. 'paper' refers to the height of the plotting area only.

• autocolorscale
Parent: data[type=streamtube]
Type: boolean
Default: true

Determines whether the colorscale is a default palette (autocolorscale: true) or the palette determined by colorscale. In case colorscale is unspecified or autocolorscale is true, the default palette will be chosen according to whether numbers in the color array are all positive, all negative or mixed.

• colorscale
Parent: data[type=streamtube]
Type: colorscale

Sets the colorscale. The colorscale must be an array containing arrays mapping a normalized value to an rgb, rgba, hex, hsl, hsv, or named color string. At minimum, a mapping for the lowest (0) and highest (1) values are required. For example, [[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]. To control the bounds of the colorscale in color space, use cmin and cmax. Alternatively, colorscale may be a palette name string of the following list: Blackbody,Bluered,Blues,Cividis,Earth,Electric,Greens,Greys,Hot,Jet,Picnic,Portland,Rainbow,RdBu,Reds,Viridis,YlGnBu,YlOrRd.

• showscale
Parent: data[type=streamtube]
Type: boolean
Default: true

Determines whether or not a colorbar is displayed for this trace.

• reversescale
Parent: data[type=streamtube]
Type: boolean

Reverses the color mapping if true. If true, cmin will correspond to the last color in the array and cmax will correspond to the first color.

• zhoverformat
Parent: data[type=streamtube]
Type: string
Default: ''

Sets the hover text formatting rulefor z 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'By default the values are formatted using zaxis.hoverformat.

• cauto
Parent: data[type=streamtube]
Type: boolean
Default: true

Determines whether or not the color domain is computed with respect to the input data (here u/v/w norm) or the bounds set in cmin and cmax Defaults to false when cmin and cmax are set by the user.

• cmax
Parent: data[type=streamtube]
Type: number

Sets the upper bound of the color domain. Value should have the same units as u/v/w norm and if set, cmin must be set as well.

• cmid
Parent: data[type=streamtube]
Type: number

Sets the mid-point of the color domain by scaling cmin and/or cmax to be equidistant to this point. Value should have the same units as u/v/w norm. Has no effect when cauto is false.

• cmin
Parent: data[type=streamtube]
Type: number

Sets the lower bound of the color domain. Value should have the same units as u/v/w norm and if set, cmax must be set as well.

• hoverlabel
Parent: data[type=streamtube]
Type: struct containing one or more of the keys listed below.
• align
Parent: data[type=streamtube].hoverlabel
Type: enumerated or array of enumerateds , one of ( 'left' | 'right' | 'auto' )
Default: 'auto'

Sets the horizontal alignment of the text content within hover label box. Has an effect only if the hover label text spans more two or more lines

• bgcolor
Parent: data[type=streamtube].hoverlabel
Type: color or array of colors

Sets the background color of the hover labels for this trace

• bordercolor
Parent: data[type=streamtube].hoverlabel
Type: color or array of colors

Sets the border color of the hover labels for this trace.

• font
Parent: data[type=streamtube].hoverlabel
Type: struct containing one or more of the keys listed below.

Sets the font used in hover labels.

• color
Parent: data[type=streamtube].hoverlabel.font
Type: color or array of colors
• family
Parent: data[type=streamtube].hoverlabel.font
Type: string or array of strings

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

• size
Parent: data[type=streamtube].hoverlabel.font
Type: number or array of numbers greater than or equal to 1
• namelength
Parent: data[type=streamtube].hoverlabel
Type: integer or array of integers greater than or equal to -1
Default: 15

Sets the default length (in number of characters) of the trace name in the hover labels for all traces. -1 shows the whole name regardless of length. 0-3 shows the first 0-3 characters, and an integer >3 will show the whole name if it is less than that many characters, but if it is longer, will truncate to namelength - 3 characters and add an ellipsis.

• lighting
Parent: data[type=streamtube]
Type: struct containing one or more of the keys listed below.
• ambient
Parent: data[type=streamtube].lighting
Type: number between or equal to 0 and 1
Default: 0.8

Ambient light increases overall color visibility but can wash out the image.

• diffuse
Parent: data[type=streamtube].lighting
Type: number between or equal to 0 and 1
Default: 0.8

Represents the extent that incident rays are reflected in a range of angles.

• facenormalsepsilon
Parent: data[type=streamtube].lighting
Type: number between or equal to 0 and 1
Default: 1e-06

Epsilon for face normals calculation avoids math issues arising from degenerate geometry.

• fresnel
Parent: data[type=streamtube].lighting
Type: number between or equal to 0 and 5
Default: 0.2

Represents the reflectance as a dependency of the viewing angle; e.g. paper is reflective when viewing it from the edge of the paper (almost 90 degrees), causing shine.

• roughness
Parent: data[type=streamtube].lighting
Type: number between or equal to 0 and 1
Default: 0.5

Alters specular reflection; the rougher the surface, the wider and less contrasty the shine.

• specular
Parent: data[type=streamtube].lighting
Type: number between or equal to 0 and 2
Default: 0.05

Represents the level that incident rays are reflected in a single direction, causing shine.

• vertexnormalsepsilon
Parent: data[type=streamtube].lighting
Type: number between or equal to 0 and 1
Default: 1e-12

Epsilon for vertex normals calculation avoids math issues arising from degenerate geometry.

• lightposition
Parent: data[type=streamtube]
Type: struct containing one or more of the keys listed below.
• x
Parent: data[type=streamtube].lightposition
Type: number between or equal to -100000 and 100000
Default: 100000

Numeric vector, representing the X coordinate for each vertex.

• y
Parent: data[type=streamtube].lightposition
Type: number between or equal to -100000 and 100000
Default: 100000

Numeric vector, representing the Y coordinate for each vertex.

• z
Parent: data[type=streamtube].lightposition
Type: number between or equal to -100000 and 100000
Default: 0

Numeric vector, representing the Z coordinate for each vertex.

• maxdisplayed
Parent: data[type=streamtube]
Type: integer greater than or equal to 0
Default: 1000

The maximum number of displayed segments in a streamtube.

• sizeref
Parent: data[type=streamtube]
Type: number greater than or equal to 0
Default: 1

The scaling factor for the streamtubes. The default is 1, which avoids two max divergence tubes from touching at adjacent starting positions.

• starts
Parent: data[type=streamtube]
Type: struct containing one or more of the keys listed below.
• x
Parent: data[type=streamtube].starts
Type: array

Sets the x components of the starting position of the streamtubes

• y
Parent: data[type=streamtube].starts
Type: array

Sets the y components of the starting position of the streamtubes

• z
Parent: data[type=streamtube].starts
Type: array

Sets the z components of the starting position of the streamtubes

• uirevision
Parent: data[type=streamtube]
Type: number or categorical coordinate string

Controls persistence of some user-driven changes to the trace: constraintrange in parcoords traces, as well as some editable: true modifications such as name and colorbar.title. Defaults to layout.uirevision. Note that other user-driven trace attribute changes are controlled by layout attributes: trace.visible is controlled by layout.legend.uirevision, selectedpoints is controlled by layout.selectionrevision, and colorbar.(x|y) (accessible with config: {editable: true}) is controlled by layout.editrevision. Trace changes are tracked by uid, which only falls back on trace index if no uid is provided. So if your app can add/remove traces before the end of the data array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a uid that stays with it as it moves.