Trace2DStyle Type

Create various functions for applying 2D chart styles to traces

Constructors

Constructor Description

Trace2DStyle()

Full Usage: Trace2DStyle()

Returns: Trace2DStyle
Returns: Trace2DStyle

Static members

Static member Description

Trace2DStyle.Bar(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?Y, ?MultiY, ?Y0, ?DY, ?Base, ?Width, ?MultiWidth, ?Offset, ?MultiOffset, ?Text, ?MultiText, ?TextPosition, ?MultiTextPosition, ?TextTemplate, ?MultiTextTemplate, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?Orientation, ?AlignmentGroup, ?OffsetGroup, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?Marker, ?TextAngle, ?TextFont, ?XError, ?YError, ?SelectedPoints, ?Selected, ?Unselected, ?ClipOnAxis, ?Constraintext, ?HoverLabel, ?InsideTextAnchor, ?InsideTextFont, ?OutsideTextFont, ?XCalendar, ?YCalendar, ?UIRevision)

Full Usage: Trace2DStyle.Bar(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?Y, ?MultiY, ?Y0, ?DY, ?Base, ?Width, ?MultiWidth, ?Offset, ?MultiOffset, ?Text, ?MultiText, ?TextPosition, ?MultiTextPosition, ?TextTemplate, ?MultiTextTemplate, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?Orientation, ?AlignmentGroup, ?OffsetGroup, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?Marker, ?TextAngle, ?TextFont, ?XError, ?YError, ?SelectedPoints, ?Selected, ?Unselected, ?ClipOnAxis, ?Constraintext, ?HoverLabel, ?InsideTextAnchor, ?InsideTextFont, ?OutsideTextFont, ?XCalendar, ?YCalendar, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Ids : seq<'a> - 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 : seq<'b> - Sets the x coordinates.
    ?MultiX : seq<seq<'b>> - Sets the x coordinates.
    ?X0 : 'c - Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
    ?DX : 'd - Sets the x coordinate step. See `x0` for more info.
    ?Y : seq<'e> - Sets the y coordinates.
    ?MultiY : seq<seq<'e>> - Sets the y coordinates.
    ?Y0 : 'f - Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
    ?DY : 'g - Sets the y coordinate step. See `y0` for more info.
    ?Base : 'h - Sets where the bar base is drawn (in position axis units). In "stack" or "relative" barmode, traces that set "base" will be excluded and drawn in "overlay" mode instead.
    ?Width : 'i - Sets the bar width (in position axis units).
    ?MultiWidth : seq<'i> - Sets the bar width (in position axis units).
    ?Offset : 'j - Shifts the position where the bar is drawn (in position axis units). In "group" barmode, traces that set "offset" will be excluded and drawn in "overlay" mode instead.
    ?MultiOffset : seq<'j> - Shifts the position where the bar is drawn (in position axis units). In "group" barmode, traces that set "offset" will be excluded and drawn in "overlay" mode instead.
    ?Text : 'k - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?MultiText : seq<'k> - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?TextPosition : TextPosition - Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.
    ?MultiTextPosition : seq<TextPosition> - Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.
    ?TextTemplate : string - Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.
    ?MultiTextTemplate : seq<string> - Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.
    ?HoverText : string - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?MultiHoverText : seq<string> - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?HoverInfo : HoverInfo - 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 : string - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?MultiHoverTemplate : seq<string> - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?XHoverFormat : string - 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 : string - 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 `xaxis.hoverformat`.
    ?Meta : 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 : seq<'l> - 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
    ?XAxis : LinearAxisId - Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.
    ?YAxis : LinearAxisId - Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.
    ?Orientation : Orientation - Only relevant when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Sets the stacking direction. With "v" ("h"), the y (x) values of subsequent traces are added. Also affects the default value of `fill`.
    ?AlignmentGroup : string - Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.
    ?OffsetGroup : string - Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.
    ?XPeriod : 'm - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?XPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.
    ?XPeriod0 : 'n - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?YPeriod : 'o - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?YPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.
    ?YPeriod0 : 'p - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?Marker : Marker - Sets the marker of this trace.
    ?TextAngle : float - Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With "auto" the texts may automatically be rotated to fit with the maximum size in bars.
    ?TextFont : Font - Sets the font used for `text`.
    ?XError : Error - Sets the x error of this trace.
    ?YError : Error - Sets the y error of this trace.
    ?SelectedPoints : seq<'q> - Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
    ?Selected : TraceSelection - Sets the style of selected points of this trace.
    ?Unselected : TraceSelection - Sets the style of unselected points of this trace.
    ?ClipOnAxis : bool - Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".
    ?Constraintext : ConstrainText - Constrain the size of text inside or outside a bar to be no larger than the bar itself.
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?InsideTextAnchor : InsideTextAnchor - Determines if texts are kept at center or start/end points in `textposition` "inside" mode.
    ?InsideTextFont : Font - Sets the font used for `text` lying inside the bar.
    ?OutsideTextFont : Font - Sets the font used for `text` lying outside the bar.
    ?XCalendar : Calendar - Sets the calendar system to use with `x` date data.
    ?YCalendar : Calendar - Sets the calendar system to use with `y` date data.
    ?UIRevision : 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.

Returns: 'T -> 'T

Create a function that applies the styles of a bar plot to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Ids : seq<'a>

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 : seq<'b>

Sets the x coordinates.

?MultiX : seq<seq<'b>>

Sets the x coordinates.

?X0 : 'c

Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

?DX : 'd

Sets the x coordinate step. See `x0` for more info.

?Y : seq<'e>

Sets the y coordinates.

?MultiY : seq<seq<'e>>

Sets the y coordinates.

?Y0 : 'f

Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

?DY : 'g

Sets the y coordinate step. See `y0` for more info.

?Base : 'h

Sets where the bar base is drawn (in position axis units). In "stack" or "relative" barmode, traces that set "base" will be excluded and drawn in "overlay" mode instead.

?Width : 'i

Sets the bar width (in position axis units).

?MultiWidth : seq<'i>

Sets the bar width (in position axis units).

?Offset : 'j

Shifts the position where the bar is drawn (in position axis units). In "group" barmode, traces that set "offset" will be excluded and drawn in "overlay" mode instead.

?MultiOffset : seq<'j>

Shifts the position where the bar is drawn (in position axis units). In "group" barmode, traces that set "offset" will be excluded and drawn in "overlay" mode instead.

?Text : 'k

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?MultiText : seq<'k>

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?TextPosition : TextPosition

Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.

?MultiTextPosition : seq<TextPosition>

Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.

?TextTemplate : string

Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

?MultiTextTemplate : seq<string>

Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

?HoverText : string

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?MultiHoverText : seq<string>

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?HoverInfo : HoverInfo

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 : string

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?MultiHoverTemplate : seq<string>

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?XHoverFormat : string

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 : string

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 `xaxis.hoverformat`.

?Meta : 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 : seq<'l>

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

?XAxis : LinearAxisId

Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

?YAxis : LinearAxisId

Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

?Orientation : Orientation

Only relevant when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Sets the stacking direction. With "v" ("h"), the y (x) values of subsequent traces are added. Also affects the default value of `fill`.

?AlignmentGroup : string

Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

?OffsetGroup : string

Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

?XPeriod : 'm

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?XPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

?XPeriod0 : 'n

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?YPeriod : 'o

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?YPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

?YPeriod0 : 'p

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?Marker : Marker

Sets the marker of this trace.

?TextAngle : float

Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With "auto" the texts may automatically be rotated to fit with the maximum size in bars.

?TextFont : Font

Sets the font used for `text`.

?XError : Error

Sets the x error of this trace.

?YError : Error

Sets the y error of this trace.

?SelectedPoints : seq<'q>

Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

?Selected : TraceSelection

Sets the style of selected points of this trace.

?Unselected : TraceSelection

Sets the style of unselected points of this trace.

?ClipOnAxis : bool

Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".

?Constraintext : ConstrainText

Constrain the size of text inside or outside a bar to be no larger than the bar itself.

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?InsideTextAnchor : InsideTextAnchor

Determines if texts are kept at center or start/end points in `textposition` "inside" mode.

?InsideTextFont : Font

Sets the font used for `text` lying inside the bar.

?OutsideTextFont : Font

Sets the font used for `text` lying outside the bar.

?XCalendar : Calendar

Sets the calendar system to use with `x` date data.

?YCalendar : Calendar

Sets the calendar system to use with `y` date data.

?UIRevision : 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.

Returns: 'T -> 'T

Trace2DStyle.BoxPlot(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?Y, ?MultiY, ?Y0, ?DY, ?Width, ?Text, ?MultiText, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?Orientation, ?AlignmentGroup, ?OffsetGroup, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?Marker, ?Line, ?BoxMean, ?BoxPoints, ?Notched, ?NotchWidth, ?WhiskerWidth, ?Q1, ?Median, ?Q3, ?LowerFence, ?UpperFence, ?NotchSpan, ?Mean, ?SD, ?QuartileMethod, ?SelectedPoints, ?Selected, ?Unselected, ?FillColor, ?HoverLabel, ?HoverOn, ?PointPos, ?Jitter, ?XCalendar, ?YCalendar, ?UIRevision)

Full Usage: Trace2DStyle.BoxPlot(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?Y, ?MultiY, ?Y0, ?DY, ?Width, ?Text, ?MultiText, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?Orientation, ?AlignmentGroup, ?OffsetGroup, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?Marker, ?Line, ?BoxMean, ?BoxPoints, ?Notched, ?NotchWidth, ?WhiskerWidth, ?Q1, ?Median, ?Q3, ?LowerFence, ?UpperFence, ?NotchSpan, ?Mean, ?SD, ?QuartileMethod, ?SelectedPoints, ?Selected, ?Unselected, ?FillColor, ?HoverLabel, ?HoverOn, ?PointPos, ?Jitter, ?XCalendar, ?YCalendar, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Ids : seq<'a> - 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 : seq<'b> - Sets the x sample data or coordinates. See overview for more info.
    ?MultiX : seq<seq<'b>> - Sets the x sample data or coordinates. See overview for more info.
    ?X0 : 'c - Sets the x coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.
    ?DX : 'd - Sets the x coordinate step for multi-box traces set using q1/median/q3.
    ?Y : seq<'e> - Sets the y sample data or coordinates. See overview for more info.
    ?MultiY : seq<seq<'e>> - Sets the y sample data or coordinates. See overview for more info.
    ?Y0 : 'f - Sets the y coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.
    ?DY : 'g - Sets the y coordinate step for multi-box traces set using q1/median/q3.
    ?Width : float - Sets the width of the box in data coordinate If "0" (default value) the width is automatically selected based on the positions of other box traces in the same subplot.
    ?Text : 'h - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?MultiText : seq<'h> - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?HoverText : string - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?MultiHoverText : seq<string> - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?HoverInfo : HoverInfo - 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 : string - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?MultiHoverTemplate : seq<string> - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?XHoverFormat : string - 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 : string - 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 `xaxis.hoverformat`.
    ?Meta : 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 : seq<'i> - 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
    ?XAxis : LinearAxisId - Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.
    ?YAxis : LinearAxisId - Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.
    ?Orientation : Orientation - Sets the orientation of the box(es). If "v" ("h"), the distribution is visualized along the vertical (horizontal).
    ?AlignmentGroup : string - Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.
    ?OffsetGroup : string - Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.
    ?XPeriod : 'j - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?XPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.
    ?XPeriod0 : 'k - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?YPeriod : 'l - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?YPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.
    ?YPeriod0 : 'm - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?Marker : Marker - Sets the marker of this trace.
    ?Line : Line - Sets the line of this trace.
    ?BoxMean : BoxMean - If "true", the mean of the box(es)' underlying distribution is drawn as a dashed line inside the box(es). If "sd" the standard deviation is also drawn. Defaults to "true" when `mean` is set. Defaults to "sd" when `sd` is set Otherwise defaults to "false".
    ?BoxPoints : BoxPoints - If "outliers", only the sample points lying outside the whiskers are shown If "suspectedoutliers", the outlier points are shown and points either less than 4"Q1-3"Q3 or greater than 4"Q3-3"Q1 are highlighted (see `outliercolor`) If "all", all sample points are shown If "false", only the box(es) are shown with no sample points Defaults to "suspectedoutliers" when `marker.outliercolor` or `marker.line.outliercolor` is set. Defaults to "all" under the q1/median/q3 signature. Otherwise defaults to "outliers".
    ?Notched : bool - Determines whether or not notches are drawn. Notches displays a confidence interval around the median. We compute the confidence interval as median +/- 1.57 " IQR / sqrt(N), where IQR is the interquartile range and N is the sample size. If two boxes' notches do not overlap there is 95% confidence their medians differ. See https://sites.google.com/site/davidsstatistics/home/notched-box-plots for more info. Defaults to "false" unless `notchwidth` or `notchspan` is set.
    ?NotchWidth : float - Sets the width of the notches relative to the box' width. For example, with 0, the notches are as wide as the box(es).
    ?WhiskerWidth : float - Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).
    ?Q1 : seq<IConvertible> - Sets the Quartile 1 values. There should be as many items as the number of boxes desired.
    ?Median : seq<IConvertible> - Sets the Quartile 1 values. There should be as many items as the number of boxes desired.
    ?Q3 : seq<IConvertible> - Sets the Quartile 3 values. There should be as many items as the number of boxes desired.
    ?LowerFence : seq<IConvertible> - Sets the lower fence values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `lowerfence` is not provided but a sample (in `y` or `x`) is set, we compute the lower as the last sample point below 1.5 times the IQR.
    ?UpperFence : seq<IConvertible> - Sets the upper fence values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `upperfence` is not provided but a sample (in `y` or `x`) is set, we compute the lower as the last sample point above 1.5 times the IQR.
    ?NotchSpan : seq<IConvertible> - Sets the notch span from the boxes' `median` values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `notchspan` is not provided but a sample (in `y` or `x`) is set, we compute it as 1.57 " IQR / sqrt(N), where N is the sample size.
    ?Mean : seq<IConvertible> - Sets the mean values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `mean` is not provided but a sample (in `y` or `x`) is set, we compute the mean for each box using the sample values.
    ?SD : seq<IConvertible> - Sets the standard deviation values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `sd` is not provided but a sample (in `y` or `x`) is set, we compute the standard deviation for each box using the sample values.
    ?QuartileMethod : QuartileMethod - Sets the method used to compute the sample's Q1 and Q3 quartiles. The "linear" method uses the 25th percentile for Q1 and 75th percentile for Q3 as computed using method #10 (listed on http://www.amstat.org/publications/jse/v14n3/langford.html). The "exclusive" method uses the median to divide the ordered dataset into two halves if the sample is odd, it does not include the median in either half - Q1 is then the median of the lower half and Q3 the median of the upper half. The "inclusive" method also uses the median to divide the ordered dataset into two halves but if the sample is odd, it includes the median in both halves - Q1 is then the median of the lower half and Q3 the median of the upper half.
    ?SelectedPoints : seq<'n> - Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
    ?Selected : TraceSelection - Sets the style of selected points of this trace.
    ?Unselected : TraceSelection - Sets the style of unselected points of this trace.
    ?FillColor : Color - Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?HoverOn : HoverOn - Do the hover effects highlight individual boxes or sample points or both?
    ?PointPos : float - Sets the position of the sample points in relation to the box(es). If "0", the sample points are places over the center of the box(es). Positive (negative) values correspond to positions to the right (left) for vertical boxes and above (below) for horizontal boxes
    ?Jitter : float - Sets the amount of jitter in the sample points drawn. If "0", the sample points align along the distribution axis. If "1", the sample points are drawn in a random jitter of width equal to the width of the box(es).
    ?XCalendar : Calendar - Sets the calendar system to use with `x` date data.
    ?YCalendar : Calendar - Sets the calendar system to use with `y` date data.
    ?UIRevision : 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.

Returns: 'T -> 'T

Create a function that applies the styles of a boxplot to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Ids : seq<'a>

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 : seq<'b>

Sets the x sample data or coordinates. See overview for more info.

?MultiX : seq<seq<'b>>

Sets the x sample data or coordinates. See overview for more info.

?X0 : 'c

Sets the x coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.

?DX : 'd

Sets the x coordinate step for multi-box traces set using q1/median/q3.

?Y : seq<'e>

Sets the y sample data or coordinates. See overview for more info.

?MultiY : seq<seq<'e>>

Sets the y sample data or coordinates. See overview for more info.

?Y0 : 'f

Sets the y coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.

?DY : 'g

Sets the y coordinate step for multi-box traces set using q1/median/q3.

?Width : float

Sets the width of the box in data coordinate If "0" (default value) the width is automatically selected based on the positions of other box traces in the same subplot.

?Text : 'h

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?MultiText : seq<'h>

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?HoverText : string

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?MultiHoverText : seq<string>

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?HoverInfo : HoverInfo

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 : string

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?MultiHoverTemplate : seq<string>

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?XHoverFormat : string

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 : string

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 `xaxis.hoverformat`.

?Meta : 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 : seq<'i>

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

?XAxis : LinearAxisId

Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

?YAxis : LinearAxisId

Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

?Orientation : Orientation

Sets the orientation of the box(es). If "v" ("h"), the distribution is visualized along the vertical (horizontal).

?AlignmentGroup : string

Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

?OffsetGroup : string

Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

?XPeriod : 'j

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?XPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

?XPeriod0 : 'k

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?YPeriod : 'l

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?YPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

?YPeriod0 : 'm

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?Marker : Marker

Sets the marker of this trace.

?Line : Line

Sets the line of this trace.

?BoxMean : BoxMean

If "true", the mean of the box(es)' underlying distribution is drawn as a dashed line inside the box(es). If "sd" the standard deviation is also drawn. Defaults to "true" when `mean` is set. Defaults to "sd" when `sd` is set Otherwise defaults to "false".

?BoxPoints : BoxPoints

If "outliers", only the sample points lying outside the whiskers are shown If "suspectedoutliers", the outlier points are shown and points either less than 4"Q1-3"Q3 or greater than 4"Q3-3"Q1 are highlighted (see `outliercolor`) If "all", all sample points are shown If "false", only the box(es) are shown with no sample points Defaults to "suspectedoutliers" when `marker.outliercolor` or `marker.line.outliercolor` is set. Defaults to "all" under the q1/median/q3 signature. Otherwise defaults to "outliers".

?Notched : bool

Determines whether or not notches are drawn. Notches displays a confidence interval around the median. We compute the confidence interval as median +/- 1.57 " IQR / sqrt(N), where IQR is the interquartile range and N is the sample size. If two boxes' notches do not overlap there is 95% confidence their medians differ. See https://sites.google.com/site/davidsstatistics/home/notched-box-plots for more info. Defaults to "false" unless `notchwidth` or `notchspan` is set.

?NotchWidth : float

Sets the width of the notches relative to the box' width. For example, with 0, the notches are as wide as the box(es).

?WhiskerWidth : float

Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).

?Q1 : seq<IConvertible>

Sets the Quartile 1 values. There should be as many items as the number of boxes desired.

?Median : seq<IConvertible>

Sets the Quartile 1 values. There should be as many items as the number of boxes desired.

?Q3 : seq<IConvertible>

Sets the Quartile 3 values. There should be as many items as the number of boxes desired.

?LowerFence : seq<IConvertible>

Sets the lower fence values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `lowerfence` is not provided but a sample (in `y` or `x`) is set, we compute the lower as the last sample point below 1.5 times the IQR.

?UpperFence : seq<IConvertible>

Sets the upper fence values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `upperfence` is not provided but a sample (in `y` or `x`) is set, we compute the lower as the last sample point above 1.5 times the IQR.

?NotchSpan : seq<IConvertible>

Sets the notch span from the boxes' `median` values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `notchspan` is not provided but a sample (in `y` or `x`) is set, we compute it as 1.57 " IQR / sqrt(N), where N is the sample size.

?Mean : seq<IConvertible>

Sets the mean values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `mean` is not provided but a sample (in `y` or `x`) is set, we compute the mean for each box using the sample values.

?SD : seq<IConvertible>

Sets the standard deviation values. There should be as many items as the number of boxes desired. This attribute has effect only under the q1/median/q3 signature. If `sd` is not provided but a sample (in `y` or `x`) is set, we compute the standard deviation for each box using the sample values.

?QuartileMethod : QuartileMethod

Sets the method used to compute the sample's Q1 and Q3 quartiles. The "linear" method uses the 25th percentile for Q1 and 75th percentile for Q3 as computed using method #10 (listed on http://www.amstat.org/publications/jse/v14n3/langford.html). The "exclusive" method uses the median to divide the ordered dataset into two halves if the sample is odd, it does not include the median in either half - Q1 is then the median of the lower half and Q3 the median of the upper half. The "inclusive" method also uses the median to divide the ordered dataset into two halves but if the sample is odd, it includes the median in both halves - Q1 is then the median of the lower half and Q3 the median of the upper half.

?SelectedPoints : seq<'n>

Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

?Selected : TraceSelection

Sets the style of selected points of this trace.

?Unselected : TraceSelection

Sets the style of unselected points of this trace.

?FillColor : Color

Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?HoverOn : HoverOn

Do the hover effects highlight individual boxes or sample points or both?

?PointPos : float

Sets the position of the sample points in relation to the box(es). If "0", the sample points are places over the center of the box(es). Positive (negative) values correspond to positions to the right (left) for vertical boxes and above (below) for horizontal boxes

?Jitter : float

Sets the amount of jitter in the sample points drawn. If "0", the sample points align along the distribution axis. If "1", the sample points are drawn in a random jitter of width equal to the width of the box(es).

?XCalendar : Calendar

Sets the calendar system to use with `x` date data.

?YCalendar : Calendar

Sets the calendar system to use with `y` date data.

?UIRevision : 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.

Returns: 'T -> 'T

Trace2DStyle.Candlestick(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?Close, ?Open, ?High, ?Low, ?Text, ?MultiText, ?HoverText, ?MultiHoverText, ?HoverInfo, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?Line, ?WhiskerWidth, ?SelectedPoints, ?Increasing, ?Decreasing, ?HoverLabel, ?XCalendar, ?UIRevision)

Full Usage: Trace2DStyle.Candlestick(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?Close, ?Open, ?High, ?Low, ?Text, ?MultiText, ?HoverText, ?MultiHoverText, ?HoverInfo, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?Line, ?WhiskerWidth, ?SelectedPoints, ?Increasing, ?Decreasing, ?HoverLabel, ?XCalendar, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Ids : seq<'a> - 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 : seq<'b> - Sets the x coordinates.
    ?MultiX : seq<seq<'b>> - Sets the x coordinates.
    ?Close : seq<'c> - Sets the close values.
    ?Open : seq<'d> - Sets the open values.
    ?High : seq<'e> - Sets the high values.
    ?Low : seq<'f> - Sets the low values.
    ?Text : 'g - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?MultiText : seq<'g> - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?HoverText : string - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?MultiHoverText : seq<string> - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?HoverInfo : HoverInfo - 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.
    ?XHoverFormat : string - 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 : string - 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 `xaxis.hoverformat`.
    ?Meta : 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 : seq<'h> - 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
    ?XAxis : LinearAxisId - Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.
    ?YAxis : LinearAxisId - Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.
    ?XPeriod : 'i - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?XPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.
    ?XPeriod0 : 'j - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?YPeriod : 'k - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?YPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.
    ?YPeriod0 : 'l - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?Line : Line - Sets the line of this trace.
    ?WhiskerWidth : float - Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).
    ?SelectedPoints : seq<'m> - Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
    ?Increasing : FinanceMarker - Sets the styles for increasing candles
    ?Decreasing : FinanceMarker - Sets the styles for decreasing candles
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?XCalendar : Calendar - Sets the calendar system to use with `x` date data.
    ?UIRevision : 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.

Returns: 'T -> 'T

Create a function that applies the styles of a candlestick plot to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Ids : seq<'a>

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 : seq<'b>

Sets the x coordinates.

?MultiX : seq<seq<'b>>

Sets the x coordinates.

?Close : seq<'c>

Sets the close values.

?Open : seq<'d>

Sets the open values.

?High : seq<'e>

Sets the high values.

?Low : seq<'f>

Sets the low values.

?Text : 'g

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?MultiText : seq<'g>

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?HoverText : string

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?MultiHoverText : seq<string>

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?HoverInfo : HoverInfo

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.

?XHoverFormat : string

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 : string

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 `xaxis.hoverformat`.

?Meta : 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 : seq<'h>

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

?XAxis : LinearAxisId

Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

?YAxis : LinearAxisId

Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

?XPeriod : 'i

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?XPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

?XPeriod0 : 'j

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?YPeriod : 'k

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?YPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

?YPeriod0 : 'l

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?Line : Line

Sets the line of this trace.

?WhiskerWidth : float

Sets the width of the whiskers relative to the box' width. For example, with 1, the whiskers are as wide as the box(es).

?SelectedPoints : seq<'m>

Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

?Increasing : FinanceMarker

Sets the styles for increasing candles

?Decreasing : FinanceMarker

Sets the styles for decreasing candles

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?XCalendar : Calendar

Sets the calendar system to use with `x` date data.

?UIRevision : 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.

Returns: 'T -> 'T

Trace2DStyle.Contour(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?XType, ?Y, ?MultiY, ?Y0, ?DY, ?YType, ?Z, ?Text, ?MultiText, ?TextTemplate, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?ColorAxis, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?Line, ?TextFont, ?ColorBar, ?AutoColorScale, ?ColorScale, ?ShowScale, ?ReverseScale, ?ZAuto, ?ZHoverFormat, ?ZMax, ?ZMid, ?ZMin, ?AutoContour, ?ConnectGaps, ?Contours, ?FillColor, ?HoverLabel, ?HoverOnGaps, ?NContours, ?Transpose, ?XCalendar, ?YCalendar, ?UIRevision)

Full Usage: Trace2DStyle.Contour(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?XType, ?Y, ?MultiY, ?Y0, ?DY, ?YType, ?Z, ?Text, ?MultiText, ?TextTemplate, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?ColorAxis, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?Line, ?TextFont, ?ColorBar, ?AutoColorScale, ?ColorScale, ?ShowScale, ?ReverseScale, ?ZAuto, ?ZHoverFormat, ?ZMax, ?ZMid, ?ZMin, ?AutoContour, ?ConnectGaps, ?Contours, ?FillColor, ?HoverLabel, ?HoverOnGaps, ?NContours, ?Transpose, ?XCalendar, ?YCalendar, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Ids : seq<'a> - 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 : seq<'b> - Sets the x coordinates.
    ?MultiX : seq<seq<'b>> - Sets the x coordinates.
    ?X0 : 'c - Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
    ?DX : 'd - Sets the x coordinate step. See `x0` for more info.
    ?XType : CoordinateType - If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If "scaled", the heatmap's x coordinates are given by "x0" and "dx" (the default behavior when `x` is not provided).
    ?Y : seq<'e> - Sets the y coordinates.
    ?MultiY : seq<seq<'e>> - Sets the y coordinates.
    ?Y0 : 'f - Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
    ?DY : 'g - Sets the y coordinate step. See `y0` for more info.
    ?YType : CoordinateType - If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If "scaled", the heatmap's y coordinates are given by "y0" and "dy" (the default behavior when `y` is not provided)
    ?Z : seq<'h> - Sets the z data.
    ?Text : 'j - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?MultiText : seq<'j> - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?TextTemplate : string - For this trace it only has an effect if `coloring` is set to "heatmap". Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.
    ?HoverText : string - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?MultiHoverText : seq<string> - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?HoverInfo : HoverInfo - 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 : string - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?MultiHoverTemplate : seq<string> - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?XHoverFormat : string - 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 : string - 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 `xaxis.hoverformat`.
    ?Meta : 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 : seq<'k> - 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
    ?XAxis : LinearAxisId - Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.
    ?YAxis : LinearAxisId - Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.
    ?ColorAxis : 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.
    ?XPeriod : 'l - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?XPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.
    ?XPeriod0 : 'm - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?YPeriod : 'n - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?YPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.
    ?YPeriod0 : 'o - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?Line : Line - Sets the line of this trace.
    ?TextFont : Font - For this trace it only has an effect if `coloring` is set to "heatmap". Sets the text font of this trace.
    ?ColorBar : ColorBar - Sets the colorbar of this trace.
    ?AutoColorScale : bool - 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 : 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`zmin` and `zmax`. 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 : bool - Determines whether or not a colorbar is displayed for this trace.
    ?ReverseScale : bool - Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.
    ?ZAuto : bool - Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.
    ?ZHoverFormat : string - 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.By default the values are formatted using generic number format.
    ?ZMax : 'p - Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.
    ?ZMid : 'q - Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.
    ?ZMin : 'r - Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.
    ?AutoContour : bool - Determines whether or not the contour level attributes are picked by an algorithm. If "true", the number of contour levels can be set in `ncontours`. If "false", set the contour level attributes in `contours`.
    ?ConnectGaps : bool - Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted to true if `z` is a one dimensional array otherwise it is defaulted to false.
    ?Contours : Contours - Sets the contours of this trace.
    ?FillColor : Color - Sets the fill color if `contours.type` is "constraint". Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?HoverOnGaps : bool - Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.
    ?NContours : int - Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is "true" or if `contours.size` is missing.
    ?Transpose : bool - Transposes the z data.
    ?XCalendar : Calendar - Sets the calendar system to use with `x` date data.
    ?YCalendar : Calendar - Sets the calendar system to use with `y` date data.
    ?UIRevision : 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.

Returns: 'T -> 'T

Create a function that applies the styles of a contour plot to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Ids : seq<'a>

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 : seq<'b>

Sets the x coordinates.

?MultiX : seq<seq<'b>>

Sets the x coordinates.

?X0 : 'c

Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

?DX : 'd

Sets the x coordinate step. See `x0` for more info.

?XType : CoordinateType

If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If "scaled", the heatmap's x coordinates are given by "x0" and "dx" (the default behavior when `x` is not provided).

?Y : seq<'e>

Sets the y coordinates.

?MultiY : seq<seq<'e>>

Sets the y coordinates.

?Y0 : 'f

Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

?DY : 'g

Sets the y coordinate step. See `y0` for more info.

?YType : CoordinateType

If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If "scaled", the heatmap's y coordinates are given by "y0" and "dy" (the default behavior when `y` is not provided)

?Z : seq<'h>

Sets the z data.

?Text : 'j

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?MultiText : seq<'j>

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?TextTemplate : string

For this trace it only has an effect if `coloring` is set to "heatmap". Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

?HoverText : string

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?MultiHoverText : seq<string>

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?HoverInfo : HoverInfo

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 : string

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?MultiHoverTemplate : seq<string>

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?XHoverFormat : string

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 : string

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 `xaxis.hoverformat`.

?Meta : 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 : seq<'k>

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

?XAxis : LinearAxisId

Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

?YAxis : LinearAxisId

Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

?ColorAxis : 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.

?XPeriod : 'l

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?XPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

?XPeriod0 : 'm

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?YPeriod : 'n

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?YPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

?YPeriod0 : 'o

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?Line : Line

Sets the line of this trace.

?TextFont : Font

For this trace it only has an effect if `coloring` is set to "heatmap". Sets the text font of this trace.

?ColorBar : ColorBar

Sets the colorbar of this trace.

?AutoColorScale : bool

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 : 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`zmin` and `zmax`. 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 : bool

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

?ReverseScale : bool

Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

?ZAuto : bool

Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

?ZHoverFormat : string

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.By default the values are formatted using generic number format.

?ZMax : 'p

Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

?ZMid : 'q

Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

?ZMin : 'r

Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

?AutoContour : bool

Determines whether or not the contour level attributes are picked by an algorithm. If "true", the number of contour levels can be set in `ncontours`. If "false", set the contour level attributes in `contours`.

?ConnectGaps : bool

Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted to true if `z` is a one dimensional array otherwise it is defaulted to false.

?Contours : Contours

Sets the contours of this trace.

?FillColor : Color

Sets the fill color if `contours.type` is "constraint". Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?HoverOnGaps : bool

Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.

?NContours : int

Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is "true" or if `contours.size` is missing.

?Transpose : bool

Transposes the z data.

?XCalendar : Calendar

Sets the calendar system to use with `x` date data.

?YCalendar : Calendar

Sets the calendar system to use with `y` date data.

?UIRevision : 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.

Returns: 'T -> 'T

Trace2DStyle.Funnel(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?Y, ?MultiY, ?Y0, ?DY, ?Width, ?Offset, ?Text, ?MultiText, ?TextPosition, ?MultiTextPosition, ?TextTemplate, ?MultiTextTemplate, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?Orientation, ?AlignmentGroup, ?OffsetGroup, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?Marker, ?TextAngle, ?TextFont, ?TextInfo, ?SelectedPoints, ?ClipOnAxis, ?Connector, ?Constraintext, ?HoverLabel, ?InsideTextAnchor, ?InsideTextFont, ?OutsideTextFont, ?UIRevision)

Full Usage: Trace2DStyle.Funnel(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?Y, ?MultiY, ?Y0, ?DY, ?Width, ?Offset, ?Text, ?MultiText, ?TextPosition, ?MultiTextPosition, ?TextTemplate, ?MultiTextTemplate, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?Orientation, ?AlignmentGroup, ?OffsetGroup, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?Marker, ?TextAngle, ?TextFont, ?TextInfo, ?SelectedPoints, ?ClipOnAxis, ?Connector, ?Constraintext, ?HoverLabel, ?InsideTextAnchor, ?InsideTextFont, ?OutsideTextFont, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Ids : seq<'a> - 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 : seq<'b> - Sets the x coordinates.
    ?MultiX : seq<seq<'b>> - Sets the x coordinates.
    ?X0 : 'c - Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
    ?DX : 'd - Sets the x coordinate step. See `x0` for more info.
    ?Y : seq<'e> - Sets the y coordinates.
    ?MultiY : seq<seq<'e>> - Sets the y coordinates.
    ?Y0 : 'f - Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
    ?DY : 'g - Sets the y coordinate step. See `y0` for more info.
    ?Width : float - Sets the bar width (in position axis units).
    ?Offset : float - Shifts the position where the bar is drawn (in position axis units). In "group" barmode, traces that set "offset" will be excluded and drawn in "overlay" mode instead.
    ?Text : 'h - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?MultiText : seq<'h> - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?TextPosition : TextPosition - Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.
    ?MultiTextPosition : seq<TextPosition> - Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.
    ?TextTemplate : string - Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.
    ?MultiTextTemplate : seq<string> - Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.
    ?HoverText : string - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?MultiHoverText : seq<string> - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?HoverInfo : HoverInfo - 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 : string - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?MultiHoverTemplate : seq<string> - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?XHoverFormat : string - 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 : string - 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 `xaxis.hoverformat`.
    ?Meta : 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 : seq<'i> - 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
    ?XAxis : LinearAxisId - Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.
    ?YAxis : LinearAxisId - Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.
    ?Orientation : Orientation - Only relevant when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Sets the stacking direction. With "v" ("h"), the y (x) values of subsequent traces are added. Also affects the default value of `fill`.
    ?AlignmentGroup : string - Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.
    ?OffsetGroup : string - Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.
    ?XPeriod : 'j - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?XPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.
    ?XPeriod0 : 'k - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?YPeriod : 'l - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?YPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.
    ?YPeriod0 : 'm - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?Marker : Marker - Sets the marker of this trace.
    ?TextAngle : float - Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With "auto" the texts may automatically be rotated to fit with the maximum size in bars.
    ?TextFont : Font - Sets the font used for `text`.
    ?TextInfo : TextInfo - Determines which trace information appear on the graph. In the case of having multiple funnels, percentages and totals are computed separately (per trace).
    ?SelectedPoints : seq<'n> - Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
    ?ClipOnAxis : bool - Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".
    ?Connector : FunnelConnector - Sets the funnel connector of this trace
    ?Constraintext : ConstrainText - Constrain the size of text inside or outside a bar to be no larger than the bar itself.
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?InsideTextAnchor : InsideTextAnchor - Determines if texts are kept at center or start/end points in `textposition` "inside" mode.
    ?InsideTextFont : Font - Sets the font used for `text` lying inside the bar.
    ?OutsideTextFont : Font - Sets the font used for `text` lying outside the bar.
    ?UIRevision : 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.

Returns: 'o -> 'o

Create a function that applies the styles of a funnel plot to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Ids : seq<'a>

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 : seq<'b>

Sets the x coordinates.

?MultiX : seq<seq<'b>>

Sets the x coordinates.

?X0 : 'c

Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

?DX : 'd

Sets the x coordinate step. See `x0` for more info.

?Y : seq<'e>

Sets the y coordinates.

?MultiY : seq<seq<'e>>

Sets the y coordinates.

?Y0 : 'f

Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

?DY : 'g

Sets the y coordinate step. See `y0` for more info.

?Width : float

Sets the bar width (in position axis units).

?Offset : float

Shifts the position where the bar is drawn (in position axis units). In "group" barmode, traces that set "offset" will be excluded and drawn in "overlay" mode instead.

?Text : 'h

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?MultiText : seq<'h>

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?TextPosition : TextPosition

Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.

?MultiTextPosition : seq<TextPosition>

Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.

?TextTemplate : string

Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

?MultiTextTemplate : seq<string>

Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

?HoverText : string

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?MultiHoverText : seq<string>

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?HoverInfo : HoverInfo

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 : string

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?MultiHoverTemplate : seq<string>

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?XHoverFormat : string

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 : string

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 `xaxis.hoverformat`.

?Meta : 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 : seq<'i>

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

?XAxis : LinearAxisId

Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

?YAxis : LinearAxisId

Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

?Orientation : Orientation

Only relevant when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Sets the stacking direction. With "v" ("h"), the y (x) values of subsequent traces are added. Also affects the default value of `fill`.

?AlignmentGroup : string

Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

?OffsetGroup : string

Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

?XPeriod : 'j

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?XPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

?XPeriod0 : 'k

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?YPeriod : 'l

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?YPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

?YPeriod0 : 'm

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?Marker : Marker

Sets the marker of this trace.

?TextAngle : float

Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With "auto" the texts may automatically be rotated to fit with the maximum size in bars.

?TextFont : Font

Sets the font used for `text`.

?TextInfo : TextInfo

Determines which trace information appear on the graph. In the case of having multiple funnels, percentages and totals are computed separately (per trace).

?SelectedPoints : seq<'n>

Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

?ClipOnAxis : bool

Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".

?Connector : FunnelConnector

Sets the funnel connector of this trace

?Constraintext : ConstrainText

Constrain the size of text inside or outside a bar to be no larger than the bar itself.

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?InsideTextAnchor : InsideTextAnchor

Determines if texts are kept at center or start/end points in `textposition` "inside" mode.

?InsideTextFont : Font

Sets the font used for `text` lying inside the bar.

?OutsideTextFont : Font

Sets the font used for `text` lying outside the bar.

?UIRevision : 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.

Returns: 'o -> 'o

Trace2DStyle.Heatmap(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?XType, ?XGap, ?Y, ?MultiY, ?Y0, ?DY, ?YType, ?YGap, ?Z, ?Text, ?MultiText, ?TextTemplate, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?ColorAxis, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?TextFont, ?ColorBar, ?AutoColorScale, ?ColorScale, ?ShowScale, ?ReverseScale, ?ZAuto, ?ZHoverFormat, ?ZMax, ?ZMid, ?ZMin, ?ZSmooth, ?ConnectGaps, ?HoverLabel, ?HoverOnGaps, ?Transpose, ?XCalendar, ?YCalendar, ?UIRevision)

Full Usage: Trace2DStyle.Heatmap(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?XType, ?XGap, ?Y, ?MultiY, ?Y0, ?DY, ?YType, ?YGap, ?Z, ?Text, ?MultiText, ?TextTemplate, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?ColorAxis, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?TextFont, ?ColorBar, ?AutoColorScale, ?ColorScale, ?ShowScale, ?ReverseScale, ?ZAuto, ?ZHoverFormat, ?ZMax, ?ZMid, ?ZMin, ?ZSmooth, ?ConnectGaps, ?HoverLabel, ?HoverOnGaps, ?Transpose, ?XCalendar, ?YCalendar, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Ids : seq<'a> - 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 : seq<'b> - Sets the x coordinates.
    ?MultiX : seq<seq<'b>> - Sets the x coordinates.
    ?X0 : 'c - Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
    ?DX : 'd - Sets the x coordinate step. See `x0` for more info.
    ?XType : CoordinateType - If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If "scaled", the heatmap's x coordinates are given by "x0" and "dx" (the default behavior when `x` is not provided).
    ?XGap : int - Sets the horizontal gap (in pixels) between bricks.
    ?Y : seq<'e> - Sets the y coordinates.
    ?MultiY : seq<seq<'e>> - Sets the y coordinates.
    ?Y0 : 'f - Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
    ?DY : 'g - Sets the y coordinate step. See `y0` for more info.
    ?YType : CoordinateType - If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If "scaled", the heatmap's y coordinates are given by "y0" and "dy" (the default behavior when `y` is not provided)
    ?YGap : int - Sets the vertical gap (in pixels) between bricks.
    ?Z : seq<'h> - Sets the z data.
    ?Text : 'j - Sets the text elements associated with each z value.
    ?MultiText : seq<'j> - Sets the text elements associated with each z value.
    ?TextTemplate : string - Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.
    ?HoverText : string - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?MultiHoverText : seq<string> - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?HoverInfo : HoverInfo - 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 : string - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?MultiHoverTemplate : seq<string> - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?XHoverFormat : string - 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 : string - 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 `xaxis.hoverformat`.
    ?Meta : 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 : seq<'k> - 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
    ?XAxis : LinearAxisId - Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.
    ?YAxis : LinearAxisId - Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.
    ?ColorAxis : 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.
    ?XPeriod : 'l - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?XPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.
    ?XPeriod0 : 'm - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?YPeriod : 'n - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?YPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.
    ?YPeriod0 : 'o - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?TextFont : Font - Sets the text font of this trace.
    ?ColorBar : ColorBar - Sets the colorbar of this trace.
    ?AutoColorScale : bool - 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 : 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`zmin` and `zmax`. 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 : bool - Determines whether or not a colorbar is displayed for this trace.
    ?ReverseScale : bool - Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.
    ?ZAuto : bool - Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.
    ?ZHoverFormat : string - 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.By default the values are formatted using generic number format.
    ?ZMax : 'p - Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.
    ?ZMid : 'q - Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.
    ?ZMin : 'r - Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.
    ?ZSmooth : SmoothAlg - Picks a smoothing algorithm use to smooth `z` data.
    ?ConnectGaps : bool - Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted to true if `z` is a one dimensional array and `zsmooth` is not false; otherwise it is defaulted to false.
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?HoverOnGaps : bool - Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.
    ?Transpose : bool - Transposes the z data.
    ?XCalendar : Calendar - Sets the calendar system to use with `x` date data.
    ?YCalendar : Calendar - Sets the calendar system to use with `y` date data.
    ?UIRevision : 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.

Returns: 'T -> 'T

Create a function that applies the styles of a heatmap to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Ids : seq<'a>

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 : seq<'b>

Sets the x coordinates.

?MultiX : seq<seq<'b>>

Sets the x coordinates.

?X0 : 'c

Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

?DX : 'd

Sets the x coordinate step. See `x0` for more info.

?XType : CoordinateType

If "array", the heatmap's x coordinates are given by "x" (the default behavior when `x` is provided). If "scaled", the heatmap's x coordinates are given by "x0" and "dx" (the default behavior when `x` is not provided).

?XGap : int

Sets the horizontal gap (in pixels) between bricks.

?Y : seq<'e>

Sets the y coordinates.

?MultiY : seq<seq<'e>>

Sets the y coordinates.

?Y0 : 'f

Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

?DY : 'g

Sets the y coordinate step. See `y0` for more info.

?YType : CoordinateType

If "array", the heatmap's y coordinates are given by "y" (the default behavior when `y` is provided) If "scaled", the heatmap's y coordinates are given by "y0" and "dy" (the default behavior when `y` is not provided)

?YGap : int

Sets the vertical gap (in pixels) between bricks.

?Z : seq<'h>

Sets the z data.

?Text : 'j

Sets the text elements associated with each z value.

?MultiText : seq<'j>

Sets the text elements associated with each z value.

?TextTemplate : string

Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

?HoverText : string

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?MultiHoverText : seq<string>

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?HoverInfo : HoverInfo

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 : string

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?MultiHoverTemplate : seq<string>

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?XHoverFormat : string

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 : string

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 `xaxis.hoverformat`.

?Meta : 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 : seq<'k>

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

?XAxis : LinearAxisId

Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

?YAxis : LinearAxisId

Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

?ColorAxis : 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.

?XPeriod : 'l

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?XPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

?XPeriod0 : 'm

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?YPeriod : 'n

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?YPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

?YPeriod0 : 'o

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?TextFont : Font

Sets the text font of this trace.

?ColorBar : ColorBar

Sets the colorbar of this trace.

?AutoColorScale : bool

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 : 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`zmin` and `zmax`. 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 : bool

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

?ReverseScale : bool

Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

?ZAuto : bool

Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

?ZHoverFormat : string

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.By default the values are formatted using generic number format.

?ZMax : 'p

Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

?ZMid : 'q

Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

?ZMin : 'r

Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

?ZSmooth : SmoothAlg

Picks a smoothing algorithm use to smooth `z` data.

?ConnectGaps : bool

Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data are filled in. It is defaulted to true if `z` is a one dimensional array and `zsmooth` is not false; otherwise it is defaulted to false.

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?HoverOnGaps : bool

Determines whether or not gaps (i.e. {nan} or missing values) in the `z` data have hover labels associated with them.

?Transpose : bool

Transposes the z data.

?XCalendar : Calendar

Sets the calendar system to use with `x` date data.

?YCalendar : Calendar

Sets the calendar system to use with `y` date data.

?UIRevision : 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.

Returns: 'T -> 'T

Trace2DStyle.Histogram(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?Y, ?MultiY, ?Text, ?MultiText, ?TextPosition, ?TextTemplate, ?MultiTextTemplate, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?Orientation, ?HistFunc, ?HistNorm, ?AlignmentGroup, ?OffsetGroup, ?NBinsX, ?NBinsY, ?AutoBinX, ?AutoBinY, ?BinGroup, ?XBins, ?YBins, ?Marker, ?TextAngle, ?TextFont, ?Line, ?XError, ?YError, ?SelectedPoints, ?Selected, ?Unselected, ?ClipOnAxis, ?Constraintext, ?Cumulative, ?HoverLabel, ?InsideTextAnchor, ?InsideTextFont, ?OutsideTextFont, ?XCalendar, ?YCalendar, ?UIRevision)

Full Usage: Trace2DStyle.Histogram(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?Y, ?MultiY, ?Text, ?MultiText, ?TextPosition, ?TextTemplate, ?MultiTextTemplate, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?Orientation, ?HistFunc, ?HistNorm, ?AlignmentGroup, ?OffsetGroup, ?NBinsX, ?NBinsY, ?AutoBinX, ?AutoBinY, ?BinGroup, ?XBins, ?YBins, ?Marker, ?TextAngle, ?TextFont, ?Line, ?XError, ?YError, ?SelectedPoints, ?Selected, ?Unselected, ?ClipOnAxis, ?Constraintext, ?Cumulative, ?HoverLabel, ?InsideTextAnchor, ?InsideTextFont, ?OutsideTextFont, ?XCalendar, ?YCalendar, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Ids : seq<'a> - 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 : seq<'b> - Sets the sample data to be binned on the x axis.
    ?MultiX : seq<seq<'b>> - Sets the sample data to be binned on the x axis.
    ?Y : seq<'c> - Sets the sample data to be binned on the y axis.
    ?MultiY : seq<seq<'c>> - Sets the sample data to be binned on the y axis.
    ?Text : 'd - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?MultiText : seq<'d> - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?TextPosition : TextPosition - Sets the positions of the `text` elements with respects to the (x,y) coordinates.
    ?TextTemplate : string - Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.
    ?MultiTextTemplate : seq<string> - Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.
    ?HoverText : string - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?MultiHoverText : seq<string> - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?HoverInfo : HoverInfo - 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 : string - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?MultiHoverTemplate : seq<string> - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?XHoverFormat : string - 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 : string - 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 `xaxis.hoverformat`.
    ?Meta : 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 : seq<'e> - 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
    ?XAxis : LinearAxisId - Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.
    ?YAxis : LinearAxisId - Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.
    ?Orientation : Orientation - Sets the orientation of the bars. With "v" ("h"), the value of the each bar spans along the vertical (horizontal).
    ?HistFunc : HistFunc - Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by counting the number of values lying inside each bin. If "sum", "avg", "min", "max", the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.
    ?HistNorm : HistNorm - Specifies the type of normalization used for this histogram trace. If "", the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If "percent" / "probability", the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If "density", the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If "probability density", the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).
    ?AlignmentGroup : string - Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.
    ?OffsetGroup : string - Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.
    ?NBinsX : int - Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.
    ?NBinsY : int - Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.
    ?AutoBinX : bool - Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.
    ?AutoBinY : bool - Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.
    ?BinGroup : string - Set a group of histogram traces which will have compatible bin settings. Note that traces on the same subplot and with the same "orientation" under `barmode` "stack", "relative" and "group" are forced into the same bingroup, Using `bingroup`, traces under `barmode` "overlay" and on different axes (of the same axis type) can have compatible bin settings. Note that histogram and histogram2d" trace can share the same `bingroup`
    ?XBins : Bins - Sets the binning across the x dimension
    ?YBins : Bins - Sets the binning across the y dimension
    ?Marker : Marker - Sets the marker of this trace.
    ?TextAngle : float - Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With "auto" the texts may automatically be rotated to fit with the maximum size in bars.
    ?TextFont : Font - Sets the font used for `text`.
    ?Line : Line - Sets the line of this trace.
    ?XError : Error - Sets the x error of this trace.
    ?YError : Error - Sets the y error of this trace.
    ?SelectedPoints : seq<'f> - Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
    ?Selected : TraceSelection - Sets the style of selected points of this trace.
    ?Unselected : TraceSelection - Sets the style of unselected points of this trace.
    ?ClipOnAxis : bool - Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".
    ?Constraintext : ConstrainText - Constrain the size of text inside or outside a bar to be no larger than the bar itself.
    ?Cumulative : Cumulative - Sets whether and how the cumulative distribution is displayed
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?InsideTextAnchor : InsideTextAnchor - Determines if texts are kept at center or start/end points in `textposition` "inside" mode.
    ?InsideTextFont : Font - Sets the font used for `text` lying inside the bar.
    ?OutsideTextFont : Font - Sets the font used for `text` lying outside the bar.
    ?XCalendar : Calendar - Sets the calendar system to use with `x` date data.
    ?YCalendar : Calendar - Sets the calendar system to use with `y` date data.
    ?UIRevision : 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.

Returns: 'T -> 'T

Create a function that applies the styles of a histogram plot to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Ids : seq<'a>

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 : seq<'b>

Sets the sample data to be binned on the x axis.

?MultiX : seq<seq<'b>>

Sets the sample data to be binned on the x axis.

?Y : seq<'c>

Sets the sample data to be binned on the y axis.

?MultiY : seq<seq<'c>>

Sets the sample data to be binned on the y axis.

?Text : 'd

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?MultiText : seq<'d>

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?TextPosition : TextPosition

Sets the positions of the `text` elements with respects to the (x,y) coordinates.

?TextTemplate : string

Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

?MultiTextTemplate : seq<string>

Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

?HoverText : string

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?MultiHoverText : seq<string>

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?HoverInfo : HoverInfo

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 : string

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?MultiHoverTemplate : seq<string>

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?XHoverFormat : string

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 : string

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 `xaxis.hoverformat`.

?Meta : 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 : seq<'e>

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

?XAxis : LinearAxisId

Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

?YAxis : LinearAxisId

Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

?Orientation : Orientation

Sets the orientation of the bars. With "v" ("h"), the value of the each bar spans along the vertical (horizontal).

?HistFunc : HistFunc

Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by counting the number of values lying inside each bin. If "sum", "avg", "min", "max", the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.

?HistNorm : HistNorm

Specifies the type of normalization used for this histogram trace. If "", the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If "percent" / "probability", the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If "density", the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If "probability density", the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).

?AlignmentGroup : string

Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

?OffsetGroup : string

Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

?NBinsX : int

Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.

?NBinsY : int

Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.

?AutoBinX : bool

Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.

?AutoBinY : bool

Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.

?BinGroup : string

Set a group of histogram traces which will have compatible bin settings. Note that traces on the same subplot and with the same "orientation" under `barmode` "stack", "relative" and "group" are forced into the same bingroup, Using `bingroup`, traces under `barmode` "overlay" and on different axes (of the same axis type) can have compatible bin settings. Note that histogram and histogram2d" trace can share the same `bingroup`

?XBins : Bins

Sets the binning across the x dimension

?YBins : Bins

Sets the binning across the y dimension

?Marker : Marker

Sets the marker of this trace.

?TextAngle : float

Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With "auto" the texts may automatically be rotated to fit with the maximum size in bars.

?TextFont : Font

Sets the font used for `text`.

?Line : Line

Sets the line of this trace.

?XError : Error

Sets the x error of this trace.

?YError : Error

Sets the y error of this trace.

?SelectedPoints : seq<'f>

Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

?Selected : TraceSelection

Sets the style of selected points of this trace.

?Unselected : TraceSelection

Sets the style of unselected points of this trace.

?ClipOnAxis : bool

Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".

?Constraintext : ConstrainText

Constrain the size of text inside or outside a bar to be no larger than the bar itself.

?Cumulative : Cumulative

Sets whether and how the cumulative distribution is displayed

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?InsideTextAnchor : InsideTextAnchor

Determines if texts are kept at center or start/end points in `textposition` "inside" mode.

?InsideTextFont : Font

Sets the font used for `text` lying inside the bar.

?OutsideTextFont : Font

Sets the font used for `text` lying outside the bar.

?XCalendar : Calendar

Sets the calendar system to use with `x` date data.

?YCalendar : Calendar

Sets the calendar system to use with `y` date data.

?UIRevision : 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.

Returns: 'T -> 'T

Trace2DStyle.Histogram2D(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?XGap, ?Y, ?MultiY, ?YGap, ?Z, ?TextTemplate, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?ColorAxis, ?HistFunc, ?HistNorm, ?NBinsX, ?NBinsY, ?AutoBinX, ?AutoBinY, ?BinGroup, ?XBinGroup, ?XBins, ?YBinGroup, ?YBins, ?Marker, ?TextFont, ?ColorBar, ?AutoColorScale, ?ColorScale, ?ShowScale, ?ReverseScale, ?ZAuto, ?ZHoverFormat, ?ZMin, ?ZMid, ?ZMax, ?ZSmooth, ?HoverLabel, ?XCalendar, ?YCalendar, ?UIRevision)

Full Usage: Trace2DStyle.Histogram2D(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?XGap, ?Y, ?MultiY, ?YGap, ?Z, ?TextTemplate, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?ColorAxis, ?HistFunc, ?HistNorm, ?NBinsX, ?NBinsY, ?AutoBinX, ?AutoBinY, ?BinGroup, ?XBinGroup, ?XBins, ?YBinGroup, ?YBins, ?Marker, ?TextFont, ?ColorBar, ?AutoColorScale, ?ColorScale, ?ShowScale, ?ReverseScale, ?ZAuto, ?ZHoverFormat, ?ZMin, ?ZMid, ?ZMax, ?ZSmooth, ?HoverLabel, ?XCalendar, ?YCalendar, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Ids : seq<'a> - 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 : seq<'b> - Sets the sample data to be binned on the x axis.
    ?MultiX : seq<seq<'b>> - Sets the sample data to be binned on the x axis.
    ?XGap : int - Sets the horizontal gap (in pixels) between bricks.
    ?Y : seq<'c> - Sets the sample data to be binned on the y axis.
    ?MultiY : seq<seq<'c>> - Sets the sample data to be binned on the y axis.
    ?YGap : int - Sets the vertical gap (in pixels) between bricks.
    ?Z : seq<'d> - Sets the aggregation data.
    ?TextTemplate : string - Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.
    ?HoverInfo : HoverInfo - 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 : string - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?MultiHoverTemplate : seq<string> - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?XHoverFormat : string - 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 : string - 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 `xaxis.hoverformat`.
    ?Meta : 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 : seq<'f> - 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
    ?XAxis : LinearAxisId - Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.
    ?YAxis : LinearAxisId - Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.
    ?ColorAxis : 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.
    ?HistFunc : HistFunc - Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by counting the number of values lying inside each bin. If "sum", "avg", "min", "max", the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.
    ?HistNorm : HistNorm - Specifies the type of normalization used for this histogram trace. If "", the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If "percent" / "probability", the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If "density", the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If "probability density", the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).
    ?NBinsX : int - Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.
    ?NBinsY : int - Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.
    ?AutoBinX : bool - Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.
    ?AutoBinY : bool - Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.
    ?BinGroup : string - Set the `xbingroup` and `ybingroup` default prefix For example, setting a `bingroup` of "1" on two histogram2d traces will make them their x-bins and y-bins match separately.
    ?XBinGroup : string - Set a group of histogram traces which will have compatible x-bin settings. Using `xbingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible x-bin settings. Note that the same `xbingroup` value can be used to set (1D) histogram `bingroup`
    ?XBins : Bins - Sets the binning across the x dimension
    ?YBinGroup : string - Set a group of histogram traces which will have compatible y-bin settings. Using `ybingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible y-bin settings. Note that the same `ybingroup` value can be used to set (1D) histogram `bingroup`
    ?YBins : Bins - Sets the binning across the y dimension
    ?Marker : Marker - Sets the marker of this trace.
    ?TextFont : Font - Sets the text font of this trace.
    ?ColorBar : ColorBar - Sets the colorbar of this trace.
    ?AutoColorScale : bool - 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 : 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`zmin` and `zmax`. 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 : bool - Determines whether or not a colorbar is displayed for this trace.
    ?ReverseScale : bool - Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.
    ?ZAuto : bool - Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.
    ?ZHoverFormat : string - 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.By default the values are formatted using generic number format.
    ?ZMin : float - Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.
    ?ZMid : float - Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.
    ?ZMax : float - Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.
    ?ZSmooth : SmoothAlg - Picks a smoothing algorithm use to smooth `z` data.
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?XCalendar : Calendar - Sets the calendar system to use with `x` date data.
    ?YCalendar : Calendar - Sets the calendar system to use with `y` date data.
    ?UIRevision : 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.

Returns: 'T -> 'T

Create a function that applies the styles of a 2d histogram plot to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Ids : seq<'a>

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 : seq<'b>

Sets the sample data to be binned on the x axis.

?MultiX : seq<seq<'b>>

Sets the sample data to be binned on the x axis.

?XGap : int

Sets the horizontal gap (in pixels) between bricks.

?Y : seq<'c>

Sets the sample data to be binned on the y axis.

?MultiY : seq<seq<'c>>

Sets the sample data to be binned on the y axis.

?YGap : int

Sets the vertical gap (in pixels) between bricks.

?Z : seq<'d>

Sets the aggregation data.

?TextTemplate : string

Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

?HoverInfo : HoverInfo

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 : string

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?MultiHoverTemplate : seq<string>

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?XHoverFormat : string

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 : string

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 `xaxis.hoverformat`.

?Meta : 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 : seq<'f>

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

?XAxis : LinearAxisId

Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

?YAxis : LinearAxisId

Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

?ColorAxis : 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.

?HistFunc : HistFunc

Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by counting the number of values lying inside each bin. If "sum", "avg", "min", "max", the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.

?HistNorm : HistNorm

Specifies the type of normalization used for this histogram trace. If "", the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If "percent" / "probability", the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If "density", the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If "probability density", the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).

?NBinsX : int

Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.

?NBinsY : int

Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.

?AutoBinX : bool

Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.

?AutoBinY : bool

Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.

?BinGroup : string

Set the `xbingroup` and `ybingroup` default prefix For example, setting a `bingroup` of "1" on two histogram2d traces will make them their x-bins and y-bins match separately.

?XBinGroup : string

Set a group of histogram traces which will have compatible x-bin settings. Using `xbingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible x-bin settings. Note that the same `xbingroup` value can be used to set (1D) histogram `bingroup`

?XBins : Bins

Sets the binning across the x dimension

?YBinGroup : string

Set a group of histogram traces which will have compatible y-bin settings. Using `ybingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible y-bin settings. Note that the same `ybingroup` value can be used to set (1D) histogram `bingroup`

?YBins : Bins

Sets the binning across the y dimension

?Marker : Marker

Sets the marker of this trace.

?TextFont : Font

Sets the text font of this trace.

?ColorBar : ColorBar

Sets the colorbar of this trace.

?AutoColorScale : bool

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 : 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`zmin` and `zmax`. 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 : bool

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

?ReverseScale : bool

Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

?ZAuto : bool

Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

?ZHoverFormat : string

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.By default the values are formatted using generic number format.

?ZMin : float

Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

?ZMid : float

Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

?ZMax : float

Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

?ZSmooth : SmoothAlg

Picks a smoothing algorithm use to smooth `z` data.

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?XCalendar : Calendar

Sets the calendar system to use with `x` date data.

?YCalendar : Calendar

Sets the calendar system to use with `y` date data.

?UIRevision : 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.

Returns: 'T -> 'T

Trace2DStyle.Histogram2DContour(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?Y, ?MultiY, ?Z, ?TextTemplate, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?ColorAxis, ?HistFunc, ?HistNorm, ?NBinsX, ?NBinsY, ?AutoBinX, ?AutoBinY, ?BinGroup, ?XBinGroup, ?XBins, ?YBinGroup, ?YBins, ?Marker, ?Line, ?TextFont, ?ColorBar, ?AutoColorScale, ?ColorScale, ?ShowScale, ?ReverseScale, ?ZAuto, ?ZHoverFormat, ?Zmin, ?Zmid, ?Zmax, ?AutoContour, ?Contours, ?HoverLabel, ?NContours, ?XCalendar, ?YCalendar, ?UIRevision)

Full Usage: Trace2DStyle.Histogram2DContour(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?Y, ?MultiY, ?Z, ?TextTemplate, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?ColorAxis, ?HistFunc, ?HistNorm, ?NBinsX, ?NBinsY, ?AutoBinX, ?AutoBinY, ?BinGroup, ?XBinGroup, ?XBins, ?YBinGroup, ?YBins, ?Marker, ?Line, ?TextFont, ?ColorBar, ?AutoColorScale, ?ColorScale, ?ShowScale, ?ReverseScale, ?ZAuto, ?ZHoverFormat, ?Zmin, ?Zmid, ?Zmax, ?AutoContour, ?Contours, ?HoverLabel, ?NContours, ?XCalendar, ?YCalendar, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Ids : seq<'a> - 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 : seq<'b> - Sets the sample data to be binned on the x axis.
    ?MultiX : seq<seq<'b>> - Sets the sample data to be binned on the x axis.
    ?Y : seq<'c> - Sets the sample data to be binned on the y axis.
    ?MultiY : seq<seq<'c>> - Sets the sample data to be binned on the y axis.
    ?Z : seq<'d> - Sets the aggregation data.
    ?TextTemplate : string - For this trace it only has an effect if `coloring` is set to "heatmap". Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.
    ?HoverInfo : HoverInfo - 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 : string - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?MultiHoverTemplate : seq<string> - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?XHoverFormat : string - 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 : string - 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 `xaxis.hoverformat`.
    ?Meta : 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 : seq<'f> - 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
    ?XAxis : LinearAxisId - Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.
    ?YAxis : LinearAxisId - Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.
    ?ColorAxis : 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.
    ?HistFunc : HistFunc - Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by counting the number of values lying inside each bin. If "sum", "avg", "min", "max", the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.
    ?HistNorm : HistNorm - Specifies the type of normalization used for this histogram trace. If "", the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If "percent" / "probability", the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If "density", the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If "probability density", the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).
    ?NBinsX : int - Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.
    ?NBinsY : int - Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.
    ?AutoBinX : bool - Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.
    ?AutoBinY : bool - Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.
    ?BinGroup : string - Set the `xbingroup` and `ybingroup` default prefix For example, setting a `bingroup` of "1" on two histogram2d traces will make them their x-bins and y-bins match separately.
    ?XBinGroup : string - Set a group of histogram traces which will have compatible x-bin settings. Using `xbingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible x-bin settings. Note that the same `xbingroup` value can be used to set (1D) histogram `bingroup`
    ?XBins : Bins - Sets the binning across the x dimension
    ?YBinGroup : string - Set a group of histogram traces which will have compatible y-bin settings. Using `ybingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible y-bin settings. Note that the same `ybingroup` value can be used to set (1D) histogram `bingroup`
    ?YBins : Bins - Sets the binning across the y dimension
    ?Marker : Marker - Sets the marker of this trace.
    ?Line : Line - Sets the line of this trace.
    ?TextFont : Font - For this trace it only has an effect if `coloring` is set to "heatmap". Sets the text font of this trace.
    ?ColorBar : ColorBar - Sets the colorbar of this trace.
    ?AutoColorScale : bool - 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 : 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`zmin` and `zmax`. 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 : bool - Determines whether or not a colorbar is displayed for this trace.
    ?ReverseScale : bool - Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.
    ?ZAuto : bool - Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.
    ?ZHoverFormat : string - 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.By default the values are formatted using generic number format.
    ?Zmin : float - Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.
    ?Zmid : float - Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.
    ?Zmax : float - Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.
    ?AutoContour : bool - Determines whether or not the contour level attributes are picked by an algorithm. If "true", the number of contour levels can be set in `ncontours`. If "false", set the contour level attributes in `contours`.
    ?Contours : Contours - Sets the contours of this trace.
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?NContours : int - Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is "true" or if `contours.size` is missing.
    ?XCalendar : Calendar - Sets the calendar system to use with `x` date data.
    ?YCalendar : Calendar - Sets the calendar system to use with `y` date data.
    ?UIRevision : 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.

Returns: 'T -> 'T

Create a function that applies the styles of a 2d histogram contour plot to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Ids : seq<'a>

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 : seq<'b>

Sets the sample data to be binned on the x axis.

?MultiX : seq<seq<'b>>

Sets the sample data to be binned on the x axis.

?Y : seq<'c>

Sets the sample data to be binned on the y axis.

?MultiY : seq<seq<'c>>

Sets the sample data to be binned on the y axis.

?Z : seq<'d>

Sets the aggregation data.

?TextTemplate : string

For this trace it only has an effect if `coloring` is set to "heatmap". Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

?HoverInfo : HoverInfo

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 : string

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?MultiHoverTemplate : seq<string>

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?XHoverFormat : string

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 : string

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 `xaxis.hoverformat`.

?Meta : 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 : seq<'f>

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

?XAxis : LinearAxisId

Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

?YAxis : LinearAxisId

Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

?ColorAxis : 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.

?HistFunc : HistFunc

Specifies the binning function used for this histogram trace. If "count", the histogram values are computed by counting the number of values lying inside each bin. If "sum", "avg", "min", "max", the histogram values are computed using the sum, the average, the minimum or the maximum of the values lying inside each bin respectively.

?HistNorm : HistNorm

Specifies the type of normalization used for this histogram trace. If "", the span of each bar corresponds to the number of occurrences (i.e. the number of data points lying inside the bins). If "percent" / "probability", the span of each bar corresponds to the percentage / fraction of occurrences with respect to the total number of sample points (here, the sum of all bin HEIGHTS equals 100% / 1). If "density", the span of each bar corresponds to the number of occurrences in a bin divided by the size of the bin interval (here, the sum of all bin AREAS equals the total number of sample points). If "probability density", the area of each bar corresponds to the probability that an event will fall into the corresponding bin (here, the sum of all bin AREAS equals 1).

?NBinsX : int

Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `xbins.size` is provided.

?NBinsY : int

Specifies the maximum number of desired bins. This value will be used in an algorithm that will decide the optimal bin size such that the histogram best visualizes the distribution of the data. Ignored if `ybins.size` is provided.

?AutoBinX : bool

Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobinx` is not needed. However, we accept `autobinx: true` or `false` and will update `xbins` accordingly before deleting `autobinx` from the trace.

?AutoBinY : bool

Obsolete: since v1.42 each bin attribute is auto-determined separately and `autobiny` is not needed. However, we accept `autobiny: true` or `false` and will update `ybins` accordingly before deleting `autobiny` from the trace.

?BinGroup : string

Set the `xbingroup` and `ybingroup` default prefix For example, setting a `bingroup` of "1" on two histogram2d traces will make them their x-bins and y-bins match separately.

?XBinGroup : string

Set a group of histogram traces which will have compatible x-bin settings. Using `xbingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible x-bin settings. Note that the same `xbingroup` value can be used to set (1D) histogram `bingroup`

?XBins : Bins

Sets the binning across the x dimension

?YBinGroup : string

Set a group of histogram traces which will have compatible y-bin settings. Using `ybingroup`, histogram2d and histogram2dcontour traces (on axes of the same axis type) can have compatible y-bin settings. Note that the same `ybingroup` value can be used to set (1D) histogram `bingroup`

?YBins : Bins

Sets the binning across the y dimension

?Marker : Marker

Sets the marker of this trace.

?Line : Line

Sets the line of this trace.

?TextFont : Font

For this trace it only has an effect if `coloring` is set to "heatmap". Sets the text font of this trace.

?ColorBar : ColorBar

Sets the colorbar of this trace.

?AutoColorScale : bool

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 : 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`zmin` and `zmax`. 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 : bool

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

?ReverseScale : bool

Reverses the color mapping if true. If true, `zmin` will correspond to the last color in the array and `zmax` will correspond to the first color.

?ZAuto : bool

Determines whether or not the color domain is computed with respect to the input data (here in `z`) or the bounds set in `zmin` and `zmax` Defaults to `false` when `zmin` and `zmax` are set by the user.

?ZHoverFormat : string

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.By default the values are formatted using generic number format.

?Zmin : float

Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

?Zmid : float

Sets the mid-point of the color domain by scaling `zmin` and/or `zmax` to be equidistant to this point. Value should have the same units as in `z`. Has no effect when `zauto` is `false`.

?Zmax : float

Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

?AutoContour : bool

Determines whether or not the contour level attributes are picked by an algorithm. If "true", the number of contour levels can be set in `ncontours`. If "false", set the contour level attributes in `contours`.

?Contours : Contours

Sets the contours of this trace.

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?NContours : int

Sets the maximum number of contour levels. The actual number of contours will be chosen automatically to be less than or equal to the value of `ncontours`. Has an effect only if `autocontour` is "true" or if `contours.size` is missing.

?XCalendar : Calendar

Sets the calendar system to use with `x` date data.

?YCalendar : Calendar

Sets the calendar system to use with `y` date data.

?UIRevision : 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.

Returns: 'T -> 'T

Trace2DStyle.Image(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X0, ?DX, ?Y0, ?DY, ?Z, ?Source, ?Text, ?MultiText, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?ColorModel, ?ZMax, ?ZMin, ?ZSmooth, ?HoverLabel, ?UIRevision)

Full Usage: Trace2DStyle.Image(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X0, ?DX, ?Y0, ?DY, ?Z, ?Source, ?Text, ?MultiText, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?ColorModel, ?ZMax, ?ZMin, ?ZSmooth, ?HoverLabel, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Ids : seq<'a> - 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.
    ?X0 : 'b - Set the image's x position.
    ?DX : 'c - Set the pixel's horizontal size.
    ?Y0 : 'd - Set the image's y position.
    ?DY : 'e - Set the pixel's vertical size
    ?Z : 'f - A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color.
    ?Source : string - Specifies the data URI of the image to be visualized. The URI consists of "data:image/[][;base64],"
    ?Text : 'i - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?MultiText : seq<'i> - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?HoverText : string - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?MultiHoverText : seq<string> - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?HoverInfo : HoverInfo - 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 : string - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?MultiHoverTemplate : seq<string> - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?Meta : 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 : seq<'j> - 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
    ?XAxis : LinearAxisId - Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.
    ?YAxis : LinearAxisId - Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.
    ?ColorModel : ColorModel - Color model used to map the numerical color components described in `z` into colors. If `source` is specified, this attribute will be set to `rgba256` otherwise it defaults to `rgb`.
    ?ZMax : ColorComponentBound - Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.
    ?ZMin : ColorComponentBound - Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.
    ?ZSmooth : SmoothAlg - Picks a smoothing algorithm use to smooth `z` data.
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?UIRevision : 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.

Returns: 'T -> 'T

Create a function that applies the styles of a Image plot to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Ids : seq<'a>

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.

?X0 : 'b

Set the image's x position.

?DX : 'c

Set the pixel's horizontal size.

?Y0 : 'd

Set the image's y position.

?DY : 'e

Set the pixel's vertical size

?Z : 'f

A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color.

?Source : string

Specifies the data URI of the image to be visualized. The URI consists of "data:image/[][;base64],"

?Text : 'i

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?MultiText : seq<'i>

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?HoverText : string

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?MultiHoverText : seq<string>

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?HoverInfo : HoverInfo

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 : string

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?MultiHoverTemplate : seq<string>

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?Meta : 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 : seq<'j>

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

?XAxis : LinearAxisId

Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

?YAxis : LinearAxisId

Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

?ColorModel : ColorModel

Color model used to map the numerical color components described in `z` into colors. If `source` is specified, this attribute will be set to `rgba256` otherwise it defaults to `rgb`.

?ZMax : ColorComponentBound

Sets the upper bound of the color domain. Value should have the same units as in `z` and if set, `zmin` must be set as well.

?ZMin : ColorComponentBound

Sets the lower bound of the color domain. Value should have the same units as in `z` and if set, `zmax` must be set as well.

?ZSmooth : SmoothAlg

Picks a smoothing algorithm use to smooth `z` data.

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?UIRevision : 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.

Returns: 'T -> 'T

Trace2DStyle.OHLC(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?Close, ?Open, ?High, ?Low, ?Text, ?MultiText, ?HoverText, ?MultiHoverText, ?HoverInfo, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?Line, ?SelectedPoints, ?Increasing, ?Decreasing, ?HoverLabel, ?TickWidth, ?XCalendar, ?UIRevision)

Full Usage: Trace2DStyle.OHLC(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?Close, ?Open, ?High, ?Low, ?Text, ?MultiText, ?HoverText, ?MultiHoverText, ?HoverInfo, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?Line, ?SelectedPoints, ?Increasing, ?Decreasing, ?HoverLabel, ?TickWidth, ?XCalendar, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Ids : seq<'a> - 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 : seq<'b> - Sets the x coordinates.
    ?MultiX : seq<seq<'b>> - Sets the x coordinates.
    ?Close : seq<'c> - Sets the close values.
    ?Open : seq<'d> - Sets the open values.
    ?High : seq<'e> - Sets the high values.
    ?Low : seq<'f> - Sets the low values.
    ?Text : 'g - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?MultiText : seq<'g> - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?HoverText : string - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?MultiHoverText : seq<string> - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?HoverInfo : HoverInfo - 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.
    ?XHoverFormat : string - 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 : string - 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 `xaxis.hoverformat`.
    ?Meta : 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 : seq<'h> - 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
    ?XAxis : LinearAxisId - Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.
    ?YAxis : LinearAxisId - Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.
    ?XPeriod : 'i - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?XPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.
    ?XPeriod0 : 'j - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?YPeriod : 'k - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?YPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.
    ?YPeriod0 : 'l - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?Line : Line - Sets the line of this trace.
    ?SelectedPoints : seq<'m> - Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
    ?Increasing : FinanceMarker - Sets the styles for increasing candles
    ?Decreasing : FinanceMarker - Sets the styles for decreasing candles
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?TickWidth : float - Sets the width of the open/close tick marks relative to the "x" minimal interval.
    ?XCalendar : Calendar - Sets the calendar system to use with `x` date data.
    ?UIRevision : 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.

Returns: 'T -> 'T

Create a function that applies the styles of a OHLC plot to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Ids : seq<'a>

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 : seq<'b>

Sets the x coordinates.

?MultiX : seq<seq<'b>>

Sets the x coordinates.

?Close : seq<'c>

Sets the close values.

?Open : seq<'d>

Sets the open values.

?High : seq<'e>

Sets the high values.

?Low : seq<'f>

Sets the low values.

?Text : 'g

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?MultiText : seq<'g>

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?HoverText : string

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?MultiHoverText : seq<string>

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?HoverInfo : HoverInfo

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.

?XHoverFormat : string

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 : string

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 `xaxis.hoverformat`.

?Meta : 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 : seq<'h>

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

?XAxis : LinearAxisId

Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

?YAxis : LinearAxisId

Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

?XPeriod : 'i

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?XPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

?XPeriod0 : 'j

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?YPeriod : 'k

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?YPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

?YPeriod0 : 'l

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?Line : Line

Sets the line of this trace.

?SelectedPoints : seq<'m>

Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

?Increasing : FinanceMarker

Sets the styles for increasing candles

?Decreasing : FinanceMarker

Sets the styles for decreasing candles

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?TickWidth : float

Sets the width of the open/close tick marks relative to the "x" minimal interval.

?XCalendar : Calendar

Sets the calendar system to use with `x` date data.

?UIRevision : 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.

Returns: 'T -> 'T

Trace2DStyle.Scatter(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Mode, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?Y, ?MultiY, ?Y0, ?DY, ?Text, ?MultiText, ?TextPosition, ?MultiTextPosition, ?TextTemplate, ?MultiTextTemplate, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?Orientation, ?GroupNorm, ?AlignmentGroup, ?OffsetGroup, ?StackGroup, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?Marker, ?Line, ?TextFont, ?XError, ?YError, ?SelectedPoints, ?Selected, ?Unselected, ?ClipOnAxis, ?ConnectGaps, ?Fill, ?FillColor, ?FillPattern, ?HoverLabel, ?HoverOn, ?StackGaps, ?XCalendar, ?YCalendar, ?UIRevision)

Full Usage: Trace2DStyle.Scatter(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Mode, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?Y, ?MultiY, ?Y0, ?DY, ?Text, ?MultiText, ?TextPosition, ?MultiTextPosition, ?TextTemplate, ?MultiTextTemplate, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?Orientation, ?GroupNorm, ?AlignmentGroup, ?OffsetGroup, ?StackGroup, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?Marker, ?Line, ?TextFont, ?XError, ?YError, ?SelectedPoints, ?Selected, ?Unselected, ?ClipOnAxis, ?ConnectGaps, ?Fill, ?FillColor, ?FillPattern, ?HoverLabel, ?HoverOn, ?StackGaps, ?XCalendar, ?YCalendar, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Mode : Mode - Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is "lines+markers". Otherwise, "lines".
    ?Ids : seq<'a> - 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 : seq<'b> - Sets the x coordinates.
    ?MultiX : seq<seq<'b>> - Sets the x coordinates.
    ?X0 : 'c - Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
    ?DX : 'd - Sets the x coordinate step. See `x0` for more info.
    ?Y : seq<'e> - Sets the y coordinates.
    ?MultiY : seq<seq<'e>> - Sets the y coordinates.
    ?Y0 : 'f - Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
    ?DY : 'g - Sets the y coordinate step. See `y0` for more info.
    ?Text : 'h - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?MultiText : seq<'h> - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?TextPosition : TextPosition - Sets the positions of the `text` elements with respects to the (x,y) coordinates.
    ?MultiTextPosition : seq<TextPosition> - Sets the positions of the `text` elements with respects to the (x,y) coordinates.
    ?TextTemplate : string - Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.
    ?MultiTextTemplate : seq<string> - Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.
    ?HoverText : string - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?MultiHoverText : seq<string> - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?HoverInfo : HoverInfo - 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 : string - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?MultiHoverTemplate : seq<string> - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?XHoverFormat : string - 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 : string - 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 `xaxis.hoverformat`.
    ?Meta : 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 : seq<'i> - 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
    ?XAxis : LinearAxisId - Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.
    ?YAxis : LinearAxisId - Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.
    ?Orientation : Orientation - Only relevant when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Sets the stacking direction. With "v" ("h"), the y (x) values of subsequent traces are added. Also affects the default value of `fill`.
    ?GroupNorm : GroupNorm - Only relevant when `stackgroup` is used, and only the first `groupnorm` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Sets the normalization for the sum of this `stackgroup`. With "fraction", the value of each trace at each location is divided by the sum of all trace values at that location. "percent" is the same but multiplied by 100 to show percentages. If there are multiple subplots, or multiple `stackgroup`s on one subplot, each will be normalized within its own set.
    ?AlignmentGroup : string - Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.
    ?OffsetGroup : string - Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.
    ?StackGroup : string - Set several scatter traces (on the same subplot) to the same stackgroup in order to add their y values (or their x values if `orientation` is "h"). If blank or omitted this trace will not be stacked. Stacking also turns `fill` on by default, using "tonexty" ("tonextx") if `orientation` is "h" ("v") and sets the default `mode` to "lines" irrespective of point count. You can only stack on a numeric (linear or log) axis. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.
    ?XPeriod : 'j - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?XPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.
    ?XPeriod0 : 'k - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?YPeriod : 'l - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?YPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.
    ?YPeriod0 : 'm - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?Marker : Marker - Sets the marker of this trace.
    ?Line : Line - Sets the line of this trace.
    ?TextFont : Font - Sets the text font of this trace.
    ?XError : Error - Sets the x error of this trace.
    ?YError : Error - Sets the y error of this trace.
    ?SelectedPoints : seq<'n> - Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
    ?Selected : TraceSelection - Sets the style of selected points of this trace.
    ?Unselected : TraceSelection - Sets the style of unselected points of this trace.
    ?ClipOnAxis : bool - Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".
    ?ConnectGaps : bool - Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.
    ?Fill : Fill - Sets the area to fill with a solid color. Defaults to "none" unless this trace is stacked, then it gets "tonexty" ("tonextx") if `orientation` is "v" ("h") Use with `fillcolor` if not "none". "tozerox" and "tozeroy" fill to x=0 and y=0 respectively. "tonextx" and "tonexty" fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like "tozerox" and "tozeroy". "toself" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. "tonext" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like "toself" if there is no trace before it. "tonext" should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.
    ?FillColor : Color - Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
    ?FillPattern : Pattern - Sets the pattern within the marker.
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?HoverOn : HoverOn - Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is "toself" or "tonext" and there are no markers or text, then the default is "fills", otherwise it is "points".
    ?StackGaps : StackGaps - Only relevant when `stackgroup` is used, and only the first `stackgaps` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Determines how we handle locations at which other traces in this group have data but this one does not. With "infer zero" we insert a zero at these locations. With "interpolate" we linearly interpolate between existing values, and extrapolate a constant beyond the existing values.
    ?XCalendar : Calendar - Sets the calendar system to use with `x` date data.
    ?YCalendar : Calendar - Sets the calendar system to use with `y` date data.
    ?UIRevision : 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.

Returns: 'T -> 'T

Create a function that applies the styles of a scatter plot to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Mode : Mode

Determines the drawing mode for this scatter trace. If the provided `mode` includes "text" then the `text` elements appear at the coordinates. Otherwise, the `text` elements appear on hover. If there are less than 20 points and the trace is not stacked then the default is "lines+markers". Otherwise, "lines".

?Ids : seq<'a>

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 : seq<'b>

Sets the x coordinates.

?MultiX : seq<seq<'b>>

Sets the x coordinates.

?X0 : 'c

Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

?DX : 'd

Sets the x coordinate step. See `x0` for more info.

?Y : seq<'e>

Sets the y coordinates.

?MultiY : seq<seq<'e>>

Sets the y coordinates.

?Y0 : 'f

Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

?DY : 'g

Sets the y coordinate step. See `y0` for more info.

?Text : 'h

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?MultiText : seq<'h>

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?TextPosition : TextPosition

Sets the positions of the `text` elements with respects to the (x,y) coordinates.

?MultiTextPosition : seq<TextPosition>

Sets the positions of the `text` elements with respects to the (x,y) coordinates.

?TextTemplate : string

Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

?MultiTextTemplate : seq<string>

Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

?HoverText : string

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?MultiHoverText : seq<string>

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?HoverInfo : HoverInfo

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 : string

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?MultiHoverTemplate : seq<string>

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?XHoverFormat : string

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 : string

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 `xaxis.hoverformat`.

?Meta : 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 : seq<'i>

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

?XAxis : LinearAxisId

Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

?YAxis : LinearAxisId

Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

?Orientation : Orientation

Only relevant when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Sets the stacking direction. With "v" ("h"), the y (x) values of subsequent traces are added. Also affects the default value of `fill`.

?GroupNorm : GroupNorm

Only relevant when `stackgroup` is used, and only the first `groupnorm` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Sets the normalization for the sum of this `stackgroup`. With "fraction", the value of each trace at each location is divided by the sum of all trace values at that location. "percent" is the same but multiplied by 100 to show percentages. If there are multiple subplots, or multiple `stackgroup`s on one subplot, each will be normalized within its own set.

?AlignmentGroup : string

Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

?OffsetGroup : string

Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

?StackGroup : string

Set several scatter traces (on the same subplot) to the same stackgroup in order to add their y values (or their x values if `orientation` is "h"). If blank or omitted this trace will not be stacked. Stacking also turns `fill` on by default, using "tonexty" ("tonextx") if `orientation` is "h" ("v") and sets the default `mode` to "lines" irrespective of point count. You can only stack on a numeric (linear or log) axis. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.

?XPeriod : 'j

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?XPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

?XPeriod0 : 'k

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?YPeriod : 'l

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?YPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

?YPeriod0 : 'm

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?Marker : Marker

Sets the marker of this trace.

?Line : Line

Sets the line of this trace.

?TextFont : Font

Sets the text font of this trace.

?XError : Error

Sets the x error of this trace.

?YError : Error

Sets the y error of this trace.

?SelectedPoints : seq<'n>

Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

?Selected : TraceSelection

Sets the style of selected points of this trace.

?Unselected : TraceSelection

Sets the style of unselected points of this trace.

?ClipOnAxis : bool

Determines whether or not markers and text nodes are clipped about the subplot axes. To show markers and text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".

?ConnectGaps : bool

Determines whether or not gaps (i.e. {nan} or missing values) in the provided data arrays are connected.

?Fill : Fill

Sets the area to fill with a solid color. Defaults to "none" unless this trace is stacked, then it gets "tonexty" ("tonextx") if `orientation` is "v" ("h") Use with `fillcolor` if not "none". "tozerox" and "tozeroy" fill to x=0 and y=0 respectively. "tonextx" and "tonexty" fill between the endpoints of this trace and the endpoints of the trace before it, connecting those endpoints with straight lines (to make a stacked area graph); if there is no trace before it, they behave like "tozerox" and "tozeroy". "toself" connects the endpoints of the trace (or each segment of the trace if it has gaps) into a closed shape. "tonext" fills the space between two traces if one completely encloses the other (eg consecutive contour lines), and behaves like "toself" if there is no trace before it. "tonext" should not be used if one trace does not enclose the other. Traces in a `stackgroup` will only fill to (or be filled to) other traces in the same group. With multiple `stackgroup`s or some traces stacked and some not, if fill-linked traces are not already consecutive, the later ones will be pushed down in the drawing order.

?FillColor : Color

Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

?FillPattern : Pattern

Sets the pattern within the marker.

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?HoverOn : HoverOn

Do the hover effects highlight individual points (markers or line points) or do they highlight filled regions? If the fill is "toself" or "tonext" and there are no markers or text, then the default is "fills", otherwise it is "points".

?StackGaps : StackGaps

Only relevant when `stackgroup` is used, and only the first `stackgaps` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Determines how we handle locations at which other traces in this group have data but this one does not. With "infer zero" we insert a zero at these locations. With "interpolate" we linearly interpolate between existing values, and extrapolate a constant beyond the existing values.

?XCalendar : Calendar

Sets the calendar system to use with `x` date data.

?YCalendar : Calendar

Sets the calendar system to use with `y` date data.

?UIRevision : 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.

Returns: 'T -> 'T

Trace2DStyle.SetAxisAnchor(?X, ?Y)

Full Usage: Trace2DStyle.SetAxisAnchor(?X, ?Y)

Parameters:
Returns: Trace2D -> Trace2D

Sets the given axis anchor id(s) on a Trace object.

?X : LinearAxisId
?Y : LinearAxisId
Returns: Trace2D -> Trace2D

Trace2DStyle.Splom(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?Text, ?MultiText, ?Dimensions, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?Marker, ?Diagonal, ?XAxes, ?YAxes, ?ShowLowerHalf, ?ShowUpperHalf, ?SelectedPoints, ?Selected, ?Unselected, ?HoverLabel, ?UIRevision)

Full Usage: Trace2DStyle.Splom(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?Text, ?MultiText, ?Dimensions, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?Marker, ?Diagonal, ?XAxes, ?YAxes, ?ShowLowerHalf, ?ShowUpperHalf, ?SelectedPoints, ?Selected, ?Unselected, ?HoverLabel, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Ids : seq<'a> - 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.
    ?Text : 'b - Sets text elements associated with each (x,y) pair to appear on hover. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates.
    ?MultiText : seq<'b> - Sets text elements associated with each (x,y) pair to appear on hover. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates.
    ?Dimensions : seq<Dimension> - Sets the dimensions of this trace.
    ?HoverText : string - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?MultiHoverText : seq<string> - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?HoverInfo : HoverInfo - 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 : string - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?MultiHoverTemplate : seq<string> - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?XHoverFormat : string - 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 : string - 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 `xaxis.hoverformat`.
    ?Meta : 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 : seq<'c> - 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
    ?Marker : Marker - Sets the marker of this trace.
    ?Diagonal : SplomDiagonal - Sets the styles applied to the scatter plot matrix diagonal
    ?XAxes : seq<LinearAxisId> - Sets the list of x axes corresponding to dimensions of this splom trace. By default, a splom will match the first N xaxes where N is the number of input dimensions. Note that, in case where `diagonal.visible` is false and `showupperhalf` or `showlowerhalf` is false, this splom trace will generate one less x-axis and one less y-axis.
    ?YAxes : seq<LinearAxisId> - Sets the list of y axes corresponding to dimensions of this splom trace. By default, a splom will match the first N yaxes where N is the number of input dimensions. Note that, in case where `diagonal.visible` is false and `showupperhalf` or `showlowerhalf` is false, this splom trace will generate one less x-axis and one less y-axis.
    ?ShowLowerHalf : bool - Determines whether or not subplots on the lower half from the diagonal are displayed.
    ?ShowUpperHalf : bool - Determines whether or not subplots on the upper half from the diagonal are displayed.
    ?SelectedPoints : seq<'d> - Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
    ?Selected : TraceSelection - Sets the style of selected points of this trace.
    ?Unselected : TraceSelection - Sets the style of unselected points of this trace.
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?UIRevision : 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.

Returns: 'T -> 'T

Create a function that applies the styles of a scatter plot matrix (SPLOM) to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Ids : seq<'a>

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.

?Text : 'b

Sets text elements associated with each (x,y) pair to appear on hover. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates.

?MultiText : seq<'b>

Sets text elements associated with each (x,y) pair to appear on hover. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates.

?Dimensions : seq<Dimension>

Sets the dimensions of this trace.

?HoverText : string

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?MultiHoverText : seq<string>

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?HoverInfo : HoverInfo

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 : string

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?MultiHoverTemplate : seq<string>

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?XHoverFormat : string

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 : string

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 `xaxis.hoverformat`.

?Meta : 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 : seq<'c>

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

?Marker : Marker

Sets the marker of this trace.

?Diagonal : SplomDiagonal

Sets the styles applied to the scatter plot matrix diagonal

?XAxes : seq<LinearAxisId>

Sets the list of x axes corresponding to dimensions of this splom trace. By default, a splom will match the first N xaxes where N is the number of input dimensions. Note that, in case where `diagonal.visible` is false and `showupperhalf` or `showlowerhalf` is false, this splom trace will generate one less x-axis and one less y-axis.

?YAxes : seq<LinearAxisId>

Sets the list of y axes corresponding to dimensions of this splom trace. By default, a splom will match the first N yaxes where N is the number of input dimensions. Note that, in case where `diagonal.visible` is false and `showupperhalf` or `showlowerhalf` is false, this splom trace will generate one less x-axis and one less y-axis.

?ShowLowerHalf : bool

Determines whether or not subplots on the lower half from the diagonal are displayed.

?ShowUpperHalf : bool

Determines whether or not subplots on the upper half from the diagonal are displayed.

?SelectedPoints : seq<'d>

Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

?Selected : TraceSelection

Sets the style of selected points of this trace.

?Unselected : TraceSelection

Sets the style of unselected points of this trace.

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?UIRevision : 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.

Returns: 'T -> 'T

Trace2DStyle.Violin(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?Y, ?MultiY, ?Y0, ?DY, ?Width, ?Text, ?MultiText, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?Orientation, ?AlignmentGroup, ?OffsetGroup, ?Marker, ?Line, ?Box, ?SelectedPoints, ?Selected, ?Unselected, ?BandWidth, ?FillColor, ?HoverLabel, ?HoverOn, ?PointPos, ?Jitter, ?MeanLine, ?Points, ?ScaleGroup, ?ScaleMode, ?Side, ?Span, ?SpanMode, ?UIRevision)

Full Usage: Trace2DStyle.Violin(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?Y, ?MultiY, ?Y0, ?DY, ?Width, ?Text, ?MultiText, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?Orientation, ?AlignmentGroup, ?OffsetGroup, ?Marker, ?Line, ?Box, ?SelectedPoints, ?Selected, ?Unselected, ?BandWidth, ?FillColor, ?HoverLabel, ?HoverOn, ?PointPos, ?Jitter, ?MeanLine, ?Points, ?ScaleGroup, ?ScaleMode, ?Side, ?Span, ?SpanMode, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Ids : seq<'a> - 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 : seq<'b> - Sets the x sample data or coordinates. See overview for more info.
    ?MultiX : seq<seq<'b>> - Sets the x sample data or coordinates. See overview for more info.
    ?X0 : 'c - Sets the x coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.
    ?DX : 'd - Sets the x coordinate step for multi-box traces set using q1/median/q3.
    ?Y : seq<'e> - Sets the y sample data or coordinates. See overview for more info.
    ?MultiY : seq<seq<'e>> - Sets the y sample data or coordinates. See overview for more info.
    ?Y0 : 'f - Sets the y coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.
    ?DY : 'g - Sets the y coordinate step for multi-box traces set using q1/median/q3.
    ?Width : float - Sets the width of the violin in data coordinates. If "0" (default value) the width is automatically selected based on the positions of other violin traces in the same subplot.
    ?Text : 'h - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?MultiText : seq<'h> - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?HoverText : string - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?MultiHoverText : seq<string> - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?HoverInfo : HoverInfo - 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 : string - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?MultiHoverTemplate : seq<string> - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?XHoverFormat : string - 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 : string - 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 `xaxis.hoverformat`.
    ?Meta : 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 : seq<'i> - 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
    ?XAxis : LinearAxisId - Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.
    ?YAxis : LinearAxisId - Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.
    ?Orientation : Orientation - Sets the orientation of the violin(s). If "v" ("h"), the distribution is visualized along the vertical (horizontal).
    ?AlignmentGroup : string - Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.
    ?OffsetGroup : string - Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.
    ?Marker : Marker - Sets the Marker of this trace.
    ?Line : Line - Sets the line of this trace.
    ?Box : Box - Whether and how to draw a miniature box plot
    ?SelectedPoints : seq<'j> - Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
    ?Selected : TraceSelection - Sets the style of selected points of this trace.
    ?Unselected : TraceSelection - Sets the style of unselected points of this trace.
    ?BandWidth : float - Sets the bandwidth used to compute the kernel density estimate. By default, the bandwidth is determined by Silverman's rule of thumb.
    ?FillColor : Color - Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?HoverOn : HoverOn - Do the hover effects highlight individual boxes or sample points or both?
    ?PointPos : float - Sets the position of the sample points in relation to the box(es). If "0", the sample points are places over the center of the box(es). Positive (negative) values correspond to positions to the right (left) for vertical boxes and above (below) for horizontal boxes
    ?Jitter : float - Sets the amount of jitter in the sample points drawn. If "0", the sample points align along the distribution axis. If "1", the sample points are drawn in a random jitter of width equal to the width of the box(es).
    ?MeanLine : MeanLine - Whether and how to draw the meanline
    ?Points : JitterPoints - If "outliers", only the sample points lying outside the whiskers are shown If "suspectedoutliers", the outlier points are shown and points either less than 4"Q1-3"Q3 or greater than 4"Q3-3"Q1 are highlighted (see `outliercolor`) If "all", all sample points are shown If "false", only the violins are shown with no sample points. Defaults to "suspectedoutliers" when `marker.outliercolor` or `marker.line.outliercolor` is set, otherwise defaults to "outliers".
    ?ScaleGroup : string - If there are multiple violins that should be sized according to to some metric (see `scalemode`), link them by providing a non-empty group id here shared by every trace in the same group. If a violin's `width` is undefined, `scalegroup` will default to the trace's name. In this case, violins with the same names will be linked together
    ?ScaleMode : ScaleMode - Sets the metric by which the width of each violin is determined."width" means each violin has the same (max) width"count" means the violins are scaled by the number of sample points makingup each violin.
    ?Side : ViolinSide - Determines on which side of the position value the density function making up one half of a violin is plotted. Useful when comparing two violin traces under "overlay" mode, where one trace has `side` set to "positive" and the other to "negative".
    ?Span : Range - Sets the span in data space for which the density function will be computed. Has an effect only when `spanmode` is set to "manual".
    ?SpanMode : SpanMode - Sets the method by which the span in data space where the density function will be computed. "soft" means the span goes from the sample's minimum value minus two bandwidths to the sample's maximum value plus two bandwidths. "hard" means the span goes from the sample's minimum to its maximum value. For custom span settings, use mode "manual" and fill in the `span` attribute.
    ?UIRevision : 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.

Returns: 'T -> 'T

Create a function that applies the styles of a violin plot to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Ids : seq<'a>

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 : seq<'b>

Sets the x sample data or coordinates. See overview for more info.

?MultiX : seq<seq<'b>>

Sets the x sample data or coordinates. See overview for more info.

?X0 : 'c

Sets the x coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.

?DX : 'd

Sets the x coordinate step for multi-box traces set using q1/median/q3.

?Y : seq<'e>

Sets the y sample data or coordinates. See overview for more info.

?MultiY : seq<seq<'e>>

Sets the y sample data or coordinates. See overview for more info.

?Y0 : 'f

Sets the y coordinate for single-box traces or the starting coordinate for multi-box traces set using q1/median/q3. See overview for more info.

?DY : 'g

Sets the y coordinate step for multi-box traces set using q1/median/q3.

?Width : float

Sets the width of the violin in data coordinates. If "0" (default value) the width is automatically selected based on the positions of other violin traces in the same subplot.

?Text : 'h

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?MultiText : seq<'h>

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?HoverText : string

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?MultiHoverText : seq<string>

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?HoverInfo : HoverInfo

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 : string

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?MultiHoverTemplate : seq<string>

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?XHoverFormat : string

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 : string

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 `xaxis.hoverformat`.

?Meta : 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 : seq<'i>

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

?XAxis : LinearAxisId

Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

?YAxis : LinearAxisId

Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

?Orientation : Orientation

Sets the orientation of the violin(s). If "v" ("h"), the distribution is visualized along the vertical (horizontal).

?AlignmentGroup : string

Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

?OffsetGroup : string

Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

?Marker : Marker

Sets the Marker of this trace.

?Line : Line

Sets the line of this trace.

?Box : Box

Whether and how to draw a miniature box plot

?SelectedPoints : seq<'j>

Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

?Selected : TraceSelection

Sets the style of selected points of this trace.

?Unselected : TraceSelection

Sets the style of unselected points of this trace.

?BandWidth : float

Sets the bandwidth used to compute the kernel density estimate. By default, the bandwidth is determined by Silverman's rule of thumb.

?FillColor : Color

Sets the fill color. Defaults to a half-transparent variant of the line color, marker color, or marker line color, whichever is available.

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?HoverOn : HoverOn

Do the hover effects highlight individual boxes or sample points or both?

?PointPos : float

Sets the position of the sample points in relation to the box(es). If "0", the sample points are places over the center of the box(es). Positive (negative) values correspond to positions to the right (left) for vertical boxes and above (below) for horizontal boxes

?Jitter : float

Sets the amount of jitter in the sample points drawn. If "0", the sample points align along the distribution axis. If "1", the sample points are drawn in a random jitter of width equal to the width of the box(es).

?MeanLine : MeanLine

Whether and how to draw the meanline

?Points : JitterPoints

If "outliers", only the sample points lying outside the whiskers are shown If "suspectedoutliers", the outlier points are shown and points either less than 4"Q1-3"Q3 or greater than 4"Q3-3"Q1 are highlighted (see `outliercolor`) If "all", all sample points are shown If "false", only the violins are shown with no sample points. Defaults to "suspectedoutliers" when `marker.outliercolor` or `marker.line.outliercolor` is set, otherwise defaults to "outliers".

?ScaleGroup : string

If there are multiple violins that should be sized according to to some metric (see `scalemode`), link them by providing a non-empty group id here shared by every trace in the same group. If a violin's `width` is undefined, `scalegroup` will default to the trace's name. In this case, violins with the same names will be linked together

?ScaleMode : ScaleMode

Sets the metric by which the width of each violin is determined."width" means each violin has the same (max) width"count" means the violins are scaled by the number of sample points makingup each violin.

?Side : ViolinSide

Determines on which side of the position value the density function making up one half of a violin is plotted. Useful when comparing two violin traces under "overlay" mode, where one trace has `side` set to "positive" and the other to "negative".

?Span : Range

Sets the span in data space for which the density function will be computed. Has an effect only when `spanmode` is set to "manual".

?SpanMode : SpanMode

Sets the method by which the span in data space where the density function will be computed. "soft" means the span goes from the sample's minimum value minus two bandwidths to the sample's maximum value plus two bandwidths. "hard" means the span goes from the sample's minimum to its maximum value. For custom span settings, use mode "manual" and fill in the `span` attribute.

?UIRevision : 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.

Returns: 'T -> 'T

Trace2DStyle.Waterfall(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?Y, ?MultiY, ?Y0, ?DY, ?Base, ?Width, ?MultiWidth, ?Measure, ?Offset, ?MultiOffset, ?Text, ?MultiText, ?TextPosition, ?MultiTextPosition, ?TextTemplate, ?MultiTextTemplate, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?Orientation, ?AlignmentGroup, ?OffsetGroup, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?TextAngle, ?TextFont, ?TextInfo, ?SelectedPoints, ?ClipOnAxis, ?Connector, ?Constraintext, ?Increasing, ?Decreasing, ?HoverLabel, ?InsideTextAnchor, ?InsideTextFont, ?OutsideTextFont, ?Totals, ?UIRevision)

Full Usage: Trace2DStyle.Waterfall(?Name, ?Visible, ?ShowLegend, ?LegendRank, ?LegendGroup, ?LegendGroupTitle, ?Opacity, ?Ids, ?X, ?MultiX, ?X0, ?DX, ?Y, ?MultiY, ?Y0, ?DY, ?Base, ?Width, ?MultiWidth, ?Measure, ?Offset, ?MultiOffset, ?Text, ?MultiText, ?TextPosition, ?MultiTextPosition, ?TextTemplate, ?MultiTextTemplate, ?HoverText, ?MultiHoverText, ?HoverInfo, ?HoverTemplate, ?MultiHoverTemplate, ?XHoverFormat, ?YHoverFormat, ?Meta, ?CustomData, ?XAxis, ?YAxis, ?Orientation, ?AlignmentGroup, ?OffsetGroup, ?XPeriod, ?XPeriodAlignment, ?XPeriod0, ?YPeriod, ?YPeriodAlignment, ?YPeriod0, ?TextAngle, ?TextFont, ?TextInfo, ?SelectedPoints, ?ClipOnAxis, ?Connector, ?Constraintext, ?Increasing, ?Decreasing, ?HoverLabel, ?InsideTextAnchor, ?InsideTextFont, ?OutsideTextFont, ?Totals, ?UIRevision)

Parameters:
    ?Name : string - Sets the trace name. The trace name appear as the legend item and on hover.
    ?Visible : Visible - 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 : bool - Determines whether or not an item corresponding to this trace is shown in the legend.
    ?LegendRank : int - 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.
    ?LegendGroup : string - Sets the legend group for this trace. Traces part of the same legend group hide/show at the same time when toggling legend items.
    ?LegendGroupTitle : Title - Sets the legend group title for this trace.
    ?Opacity : float - Sets the opacity of the trace.
    ?Ids : seq<'a> - 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 : seq<'b> - Sets the x coordinates.
    ?MultiX : seq<seq<'b>> - Sets the x coordinates.
    ?X0 : 'c - Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.
    ?DX : 'd - Sets the x coordinate step. See `x0` for more info.
    ?Y : seq<'e> - Sets the y coordinates.
    ?MultiY : seq<seq<'e>> - Sets the y coordinates.
    ?Y0 : 'f - Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.
    ?DY : 'g - Sets the y coordinate step. See `y0` for more info.
    ?Base : 'h - Sets where the bar base is drawn (in position axis units).
    ?Width : float - Sets the bar width (in position axis units).
    ?MultiWidth : seq<float> - Sets the bar width (in position axis units).
    ?Measure : seq<WaterfallMeasure> - An array containing types of values. By default the values are considered as 'relative'. However; it is possible to use 'total' to compute the sums. Also 'absolute' could be applied to reset the computed total or to declare an initial value where needed.
    ?Offset : 'i - Shifts the position where the bar is drawn (in position axis units). In "group" barmode, traces that set "offset" will be excluded and drawn in "overlay" mode instead.
    ?MultiOffset : seq<'i> - Shifts the position where the bar is drawn (in position axis units). In "group" barmode, traces that set "offset" will be excluded and drawn in "overlay" mode instead.
    ?Text : 'j - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?MultiText : seq<'j> - Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.
    ?TextPosition : TextPosition - Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.
    ?MultiTextPosition : seq<TextPosition> - Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.
    ?TextTemplate : string - Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.
    ?MultiTextTemplate : seq<string> - Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.
    ?HoverText : string - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?MultiHoverText : seq<string> - Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.
    ?HoverInfo : HoverInfo - 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 : string - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?MultiHoverTemplate : seq<string> - 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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.
    ?XHoverFormat : string - 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 : string - 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 `xaxis.hoverformat`.
    ?Meta : 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 : seq<'k> - 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
    ?XAxis : LinearAxisId - Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.
    ?YAxis : LinearAxisId - Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.
    ?Orientation : Orientation - Only relevant when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Sets the stacking direction. With "v" ("h"), the y (x) values of subsequent traces are added. Also affects the default value of `fill`.
    ?AlignmentGroup : string - Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.
    ?OffsetGroup : string - Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.
    ?XPeriod : 'l - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?XPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.
    ?XPeriod0 : 'm - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?YPeriod : 'n - Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.
    ?YPeriodAlignment : PeriodAlignment - Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.
    ?YPeriod0 : 'o - Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.
    ?TextAngle : float - Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With "auto" the texts may automatically be rotated to fit with the maximum size in bars.
    ?TextFont : Font - Sets the font used for `text`.
    ?TextInfo : TextInfo - Determines which trace information appear on the graph. In the case of having multiple funnels, percentages and totals are computed separately (per trace).
    ?SelectedPoints : seq<'p> - Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.
    ?ClipOnAxis : bool - Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".
    ?Connector : WaterfallConnector - Sets the waterfall connector of this trace
    ?Constraintext : ConstrainText - Constrain the size of text inside or outside a bar to be no larger than the bar itself.
    ?Increasing : FinanceMarker - Sets the style parameters for markers for increasing bars
    ?Decreasing : FinanceMarker - Sets the style parameters for markers for decreasing bars
    ?HoverLabel : Hoverlabel - Sets the style of the hoverlabels of this trace.
    ?InsideTextAnchor : InsideTextAnchor - Determines if texts are kept at center or start/end points in `textposition` "inside" mode.
    ?InsideTextFont : Font - Sets the font used for `text` lying inside the bar.
    ?OutsideTextFont : Font - Sets the font used for `text` lying outside the bar.
    ?Totals : FinanceMarker - Sets the style parameters for markers for totals bars
    ?UIRevision : 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.

Returns: 'T -> 'T

Create a function that applies the styles of a waterfall plot to a Trace object

?Name : string

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

?Visible : Visible

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 : bool

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

?LegendRank : int

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.

?LegendGroup : string

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

?LegendGroupTitle : Title

Sets the legend group title for this trace.

?Opacity : float

Sets the opacity of the trace.

?Ids : seq<'a>

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 : seq<'b>

Sets the x coordinates.

?MultiX : seq<seq<'b>>

Sets the x coordinates.

?X0 : 'c

Alternate to `x`. Builds a linear space of x coordinates. Use with `dx` where `x0` is the starting coordinate and `dx` the step.

?DX : 'd

Sets the x coordinate step. See `x0` for more info.

?Y : seq<'e>

Sets the y coordinates.

?MultiY : seq<seq<'e>>

Sets the y coordinates.

?Y0 : 'f

Alternate to `y`. Builds a linear space of y coordinates. Use with `dy` where `y0` is the starting coordinate and `dy` the step.

?DY : 'g

Sets the y coordinate step. See `y0` for more info.

?Base : 'h

Sets where the bar base is drawn (in position axis units).

?Width : float

Sets the bar width (in position axis units).

?MultiWidth : seq<float>

Sets the bar width (in position axis units).

?Measure : seq<WaterfallMeasure>

An array containing types of values. By default the values are considered as 'relative'. However; it is possible to use 'total' to compute the sums. Also 'absolute' could be applied to reset the computed total or to declare an initial value where needed.

?Offset : 'i

Shifts the position where the bar is drawn (in position axis units). In "group" barmode, traces that set "offset" will be excluded and drawn in "overlay" mode instead.

?MultiOffset : seq<'i>

Shifts the position where the bar is drawn (in position axis units). In "group" barmode, traces that set "offset" will be excluded and drawn in "overlay" mode instead.

?Text : 'j

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?MultiText : seq<'j>

Sets text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. If trace `hoverinfo` contains a "text" flag and "hovertext" is not set, these elements will be seen in the hover labels.

?TextPosition : TextPosition

Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.

?MultiTextPosition : seq<TextPosition>

Specifies the location of the `text`. "inside" positions `text` inside, next to the bar end (rotated and scaled if needed). "outside" positions `text` outside, next to the bar end (scaled if needed), unless there is another bar stacked on this one, then the text gets pushed inside. "auto" tries to position `text` inside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside. If "none", no text appears.

?TextTemplate : string

Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

?MultiTextTemplate : seq<string>

Template string used for rendering the information text that appear on points. Note that this will override `textinfo`. Variables are inserted using %{variable}, for example "y: %{y}". 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. Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.

?HoverText : string

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?MultiHoverText : seq<string>

Sets hover text elements associated with each (x,y) pair. If a single string, the same string appears over all the data points. If an array of string, the items are mapped in order to the this trace's (x,y) coordinates. To be seen, trace `hoverinfo` must contain a "text" flag.

?HoverInfo : HoverInfo

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 : string

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?MultiHoverTemplate : seq<string>

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. variable `norm` Anything contained in tag `` is displayed in the secondary box, for example "{fullData.name}". To hide the secondary box completely, use an empty tag ``.

?XHoverFormat : string

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 : string

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 `xaxis.hoverformat`.

?Meta : 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 : seq<'k>

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

?XAxis : LinearAxisId

Sets a reference between this trace's x coordinates and a 2D cartesian x axis. If "x" (the default value), the x coordinates refer to `layout.xaxis`. If "x2", the x coordinates refer to `layout.xaxis2`, and so on.

?YAxis : LinearAxisId

Sets a reference between this trace's y coordinates and a 2D cartesian y axis. If "y" (the default value), the y coordinates refer to `layout.yaxis`. If "y2", the y coordinates refer to `layout.yaxis2`, and so on.

?Orientation : Orientation

Only relevant when `stackgroup` is used, and only the first `orientation` found in the `stackgroup` will be used - including if `visible` is "legendonly" but not if it is `false`. Sets the stacking direction. With "v" ("h"), the y (x) values of subsequent traces are added. Also affects the default value of `fill`.

?AlignmentGroup : string

Set several traces linked to the same position axis or matching axes to the same alignmentgroup. This controls whether bars compute their positional range dependently or independently.

?OffsetGroup : string

Set several traces linked to the same position axis or matching axes to the same offsetgroup where bars of the same position coordinate will line up.

?XPeriod : 'l

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the x axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?XPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the x axis.

?XPeriod0 : 'm

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the x0 axis. When `x0period` is round number of weeks, the `x0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?YPeriod : 'n

Only relevant when the axis `type` is "date". Sets the period positioning in milliseconds or "M" on the y axis. Special values in the form of "M" could be used to declare the number of months. In this case `n` must be a positive integer.

?YPeriodAlignment : PeriodAlignment

Only relevant when the axis `type` is "date". Sets the alignment of data points on the y axis.

?YPeriod0 : 'o

Only relevant when the axis `type` is "date". Sets the base for period positioning in milliseconds or date string on the y0 axis. When `y0period` is round number of weeks, the `y0period0` by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.

?TextAngle : float

Sets the angle of the tick labels with respect to the bar. For example, a `tickangle` of -90 draws the tick labels vertically. With "auto" the texts may automatically be rotated to fit with the maximum size in bars.

?TextFont : Font

Sets the font used for `text`.

?TextInfo : TextInfo

Determines which trace information appear on the graph. In the case of having multiple funnels, percentages and totals are computed separately (per trace).

?SelectedPoints : seq<'p>

Array containing integer indices of selected points. Has an effect only for traces that support selections. Note that an empty array means an empty selection where the `unselected` are turned on for all points, whereas, any other non-array values means no selection all where the `selected` and `unselected` styles have no effect.

?ClipOnAxis : bool

Determines whether the text nodes are clipped about the subplot axes. To show the text nodes above axis lines and tick labels, make sure to set `xaxis.layer` and `yaxis.layer` to "below traces".

?Connector : WaterfallConnector

Sets the waterfall connector of this trace

?Constraintext : ConstrainText

Constrain the size of text inside or outside a bar to be no larger than the bar itself.

?Increasing : FinanceMarker

Sets the style parameters for markers for increasing bars

?Decreasing : FinanceMarker

Sets the style parameters for markers for decreasing bars

?HoverLabel : Hoverlabel

Sets the style of the hoverlabels of this trace.

?InsideTextAnchor : InsideTextAnchor

Determines if texts are kept at center or start/end points in `textposition` "inside" mode.

?InsideTextFont : Font

Sets the font used for `text` lying inside the bar.

?OutsideTextFont : Font

Sets the font used for `text` lying outside the bar.

?Totals : FinanceMarker

Sets the style parameters for markers for totals bars

?UIRevision : 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.

Returns: 'T -> 'T