Waterfall
Draws waterfall trace which is useful graph to displays the contribution of various elements (either positive or negative) in a bar chart.
The data visualized by the span of the bars is set in y if orientation is set th v (the
default) and the labels are set in x. By setting orientation to h, the roles are
interchanged.
-
Corresponding Plotly trace type.
Declaration
Swift
public let type: String -
Switch indicating whether the trace supports animation of its data.
Declaration
Swift
public static var animatable: Bool { get } -
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).
Declaration
Swift
public var visible: Visible? -
Determines whether or not an item corresponding to this trace is shown in the legend.
Declaration
Swift
public var showLegend: Bool? -
Sets the legend group for this trace.
Traces part of the same legend group hide/show at the same time when toggling legend items.
Declaration
Swift
public var legendGroup: String? -
Sets the opacity of the trace.
Declaration
Swift
public var opacity: Double? -
Sets the trace name.
The trace name appear as the legend item and on hover.
Declaration
Swift
public var name: String? -
Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
Declaration
Swift
public var uid: String? -
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.
Declaration
Swift
public var ids: [String]? -
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
Declaration
Swift
public var customData: [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 colorbartitle.text, annotationtextrangeselector,updatemenuesandsliderslabeltext all supportmeta. To access the tracemetavalues in an attribute in the same trace, simply use%{meta[i]}whereiis the index or key of themetaitem in question. To access tracemetain layout attributes, use%{data[n[.meta[i]}whereiis the index or key of themetaandnis the trace index. -
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
unselectedare turned on for all points, whereas, any other non-array values means no selection all where theselectedandunselectedstyles have no effect.Declaration
Swift
public var selectedPoints: Anything? -
Undocumented
Declaration
Swift
public var hoverLabel: HoverLabel? -
Undocumented
Declaration
Swift
public var stream: Stream? -
Undocumented
Declaration
Swift
public var transforms: [Transform] -
Controls persistence of some user-driven changes to the trace:
constraintrangeinparcoordstraces, as well as someeditable: truemodifications such asnameandcolorbar.title.Defaults to
layout.uirevision. Note that other user-driven trace attribute changes are controlled bylayoutattributes:trace.visibleis controlled bylayout.legend.uirevision,selectedpointsis controlled bylayout.selectionrevision, andcolorbar.(x|y)(accessible withconfig: {editable: true}) is controlled bylayout.editrevision. Trace changes are tracked byuid, which only falls back on trace index if nouidis provided. So if your app can add/remove traces before the end of thedataarray, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace auidthat stays with it as it moves.Declaration
Swift
public var uiRevision: Anything? -
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.
Declaration
Swift
public var measure: [String]? -
Sets where the bar base is drawn (in position axis units).
Declaration
Swift
public var base: Double? -
Sets the x coordinates.
Declaration
Swift
public var x: XData? -
Sets the x coordinate step.
See
x0for more info.Declaration
Swift
public var dx: Double? -
Sets the y coordinates.
Declaration
Swift
public var y: YData? -
Sets the y coordinate step.
See
y0for more info.Declaration
Swift
public var dy: Double? -
Only relevant when the axis
typeis date.Sets the base for period positioning in milliseconds or date string on the x0 axis. When
x0periodis round number of weeks, thex0period0by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.Declaration
Swift
public var xPeriod0: Anything? -
Only relevant when the axis
typeis date.Sets the base for period positioning in milliseconds or date string on the y0 axis. When
y0periodis round number of weeks, they0period0by default would be on a Sunday i.e. 2000-01-02, otherwise it would be at 2000-01-01.Declaration
Swift
public var yPeriod0: Anything? -
Only relevant when the axis
typeis date.Sets the alignment of data points on the x axis.
Declaration
Swift
public var xPeriodAlignment: XPeriodAlignment? -
Only relevant when the axis
typeis date.Sets the alignment of data points on the y axis.
Declaration
Swift
public var yPeriodAlignment: YPeriodAlignment? -
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
hoverinfomust contain a text flag.Declaration
Swift
public var hoverText: Data<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}”. Numbers are formatted using d3-format’s syntax %{variable:d3-format}, for example “Price: %{y:$.2f}”. https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#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#locale_format for details on the date formatting syntax. The variables available inhovertemplateare 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 arearrayOk: true) are available. variablesinitial,deltaandfinal. Anything contained in tag<extra>is displayed in the secondary box, for example “{fullData.name} ”. To hide the secondary box completely, use an empty tag<extra></extra>.Declaration
Swift
public var hoverTemplate: Data<String>? -
Determines which trace information appear on hover.
If
See morenoneorskipare set, no information is displayed upon hovering. But, ifnoneis set, click and hover events are still fired.Declaration
Swift
public struct HoverInfo : OptionSet, Encodable -
Determines which trace information appear on hover.
If
noneorskipare set, no information is displayed upon hovering. But, ifnoneis set, click and hover events are still fired.Declaration
Swift
public var hoverInfo: HoverInfo? -
Determines which trace information appear on the graph.
In the case of having multiple waterfalls, totals are computed separately (per trace).
See moreDeclaration
Swift
public struct TextInfo : OptionSet, Encodable -
Determines which trace information appear on the graph.
In the case of having multiple waterfalls, totals are computed separately (per trace).
Declaration
Swift
public var textInfo: TextInfo? -
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-3.x-api-reference/blob/master/Formatting.md#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#locale_format for details on the date formatting syntax. Every attributes that can be specified per-point (the ones that arearrayOk: true) are available. variablesinitial,delta,finalandlabel.Declaration
Swift
public var textTemplate: Data<String>? -
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
hoverinfocontains a text flag and hovertext is not set, these elements will be seen in the hover labels.Declaration
Swift
public var text: Data<String>? -
Specifies the location of the
text.inside positions
textinside, next to the bar end (rotated and scaled if needed). outside positionstextoutside, 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 positiontextinside the bar, but if the bar is too small and no bar is stacked on this one the text is moved outside.Declaration
Swift
public var textPosition: AdjacentPosition? -
Determines if texts are kept at center or start/end points in
textpositioninside mode.Declaration
Swift
public var insideTextAnchor: InsideTextAnchor? -
Sets the angle of the tick labels with respect to the bar.
For example, a
tickangleof -90 draws the tick labels vertically. With auto the texts may automatically be rotated to fit with the maximum size in bars.Declaration
Swift
public var textAngle: Angle? -
Sets the font used for
text.Declaration
Swift
public var textFont: VariableFont? -
Sets the font used for
textlying inside the bar.Declaration
Swift
public var insideTextFont: VariableFont? -
Sets the font used for
textlying outside the bar.Declaration
Swift
public var outsideTextFont: OutsideTextFont? -
Constrain the size of text inside or outside a bar to be no larger than the bar itself.
Declaration
Swift
public var constrainText: ConstrainText? -
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.layerandyaxis.layerto below traces.Declaration
Swift
public var clipOnAxis: Bool? -
Sets the orientation of the bars.
With v (h), the value of the each bar spans along the vertical (horizontal).
Declaration
Swift
public var orientation: Orientation? -
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.
Declaration
Swift
public var offset: Data<Double>? -
Sets the bar width (in position axis units).
Declaration
Swift
public var width: Data<Double>? -
Undocumented
See moreDeclaration
Swift
public struct Increasing : Encodable -
Undocumented
Declaration
Swift
public var increasing: Increasing? -
Undocumented
See moreDeclaration
Swift
public struct Decreasing : Encodable -
Undocumented
Declaration
Swift
public var decreasing: Decreasing? -
Undocumented
See moreDeclaration
Swift
public struct Totals : Encodable -
Undocumented
Declaration
Swift
public var totals: Totals? -
Undocumented
See moreDeclaration
Swift
public struct Connector : Encodable -
Undocumented
Declaration
Swift
public var connector: Connector? -
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.
Declaration
Swift
public var offsetGroup: 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.
Declaration
Swift
public var alignmentGroup: String? -
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 tolayout.xaxis2, and so on.Declaration
Swift
public var xAxis: XAxis -
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 tolayout.yaxis2, and so on.Declaration
Swift
public var yAxis: YAxis -
Creates
Waterfallobject from the most frequently used properties.Declaration
Parameters
nameSets the trace name.
xSets the x coordinates.
ySets the y coordinates.
hoverTextSets hover text elements associated with each (x,y) pair.
textSets text elements associated with each (x,y) pair.
-
init(visible:showLegend: legendGroup: opacity: name: uid: ids: customData: meta: selectedPoints: hoverLabel: stream: transforms: uiRevision: measure: base: x: x0: dx: y: y0: dy: xPeriod: yPeriod: xPeriod0: yPeriod0: xPeriodAlignment: yPeriodAlignment: hoverText: hoverTemplate: hoverInfo: textInfo: textTemplate: text: textPosition: insideTextAnchor: textAngle: textFont: insideTextFont: outsideTextFont: constrainText: clipOnAxis: orientation: offset: width: increasing: decreasing: totals: connector: offsetGroup: alignmentGroup: xAxis: yAxis: ) Creates
Waterfallobject with specified properties.Declaration
Swift
public init(visible: Visible? = nil, showLegend: Bool? = nil, legendGroup: String? = nil, opacity: Double? = nil, name: String? = nil, uid: String? = nil, ids: [String]? = nil, customData: [String]? = nil, meta: Data<Anything>? = nil, selectedPoints: Anything? = nil, hoverLabel: HoverLabel? = nil, stream: Stream? = nil, transforms: [Transform] = [], uiRevision: Anything? = nil, measure: [String]? = nil, base: Double? = nil, x: XData? = nil, x0: Anything? = nil, dx: Double? = nil, y: YData? = nil, y0: Anything? = nil, dy: Double? = nil, xPeriod: Anything? = nil, yPeriod: Anything? = nil, xPeriod0: Anything? = nil, yPeriod0: Anything? = nil, xPeriodAlignment: XPeriodAlignment? = nil, yPeriodAlignment: YPeriodAlignment? = nil, hoverText: Data<String>? = nil, hoverTemplate: Data<String>? = nil, hoverInfo: HoverInfo? = nil, textInfo: TextInfo? = nil, textTemplate: Data<String>? = nil, text: Data<String>? = nil, textPosition: AdjacentPosition? = nil, insideTextAnchor: InsideTextAnchor? = nil, textAngle: Angle? = nil, textFont: VariableFont? = nil, insideTextFont: VariableFont? = nil, outsideTextFont: OutsideTextFont? = nil, constrainText: ConstrainText? = nil, clipOnAxis: Bool? = nil, orientation: Orientation? = nil, offset: Data<Double>? = nil, width: Data<Double>? = nil, increasing: Increasing? = nil, decreasing: Decreasing? = nil, totals: Totals? = nil, connector: Connector? = nil, offsetGroup: String? = nil, alignmentGroup: String? = nil, xAxis: XAxis = .preset, yAxis: YAxis = .preset)Parameters
visibleDetermines whether or not this trace is visible.
showLegendDetermines whether or not an item corresponding to this trace is shown in the legend.
legendGroupSets the legend group for this trace.
opacitySets the opacity of the trace.
nameSets the trace name.
uidAssign an id to this trace, Use this to provide object constancy between traces during animations and transitions.
idsAssigns id labels to each datum.
customDataAssigns extra data each datum.
metaAssigns extra meta information associated with this trace that can be used in various text attributes.
selectedPointsArray containing integer indices of selected points.
hoverLabelstreamtransformsuiRevisionControls persistence of some user-driven changes to the trace:
constraintrangeinparcoordstraces, as well as someeditable: truemodifications such asnameandcolorbar.title.measureAn array containing types of values.
baseSets where the bar base is drawn (in position axis units).
xSets the x coordinates.
x0Alternate to
x.dxSets the x coordinate step.
ySets the y coordinates.
y0Alternate to
y.dySets the y coordinate step.
xPeriodOnly relevant when the axis
typeis date.yPeriodOnly relevant when the axis
typeis date.xPeriod0Only relevant when the axis
typeis date.yPeriod0Only relevant when the axis
typeis date.xPeriodAlignmentOnly relevant when the axis
typeis date.yPeriodAlignmentOnly relevant when the axis
typeis date.hoverTextSets hover text elements associated with each (x,y) pair.
hoverTemplateTemplate string used for rendering the information that appear on hover box.
hoverInfoDetermines which trace information appear on hover.
textInfoDetermines which trace information appear on the graph.
textTemplateTemplate string used for rendering the information text that appear on points.
textSets text elements associated with each (x,y) pair.
textPositionSpecifies the location of the
text.insideTextAnchorDetermines if texts are kept at center or start/end points in
textpositioninside mode.textAngleSets the angle of the tick labels with respect to the bar.
textFontSets the font used for
text.insideTextFontSets the font used for
textlying inside the bar.outsideTextFontSets the font used for
textlying outside the bar.constrainTextConstrain the size of text inside or outside a bar to be no larger than the bar itself.
clipOnAxisDetermines whether the text nodes are clipped about the subplot axes.
orientationSets the orientation of the bars.
offsetShifts the position where the bar is drawn (in position axis units).
widthSets the bar width (in position axis units).
increasingdecreasingtotalsconnectoroffsetGroupSet 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.
alignmentGroupSet several traces linked to the same position axis or matching axes to the same alignmentgroup.
xAxisSets a reference between this trace’s x coordinates and a 2D cartesian x axis.
yAxisSets a reference between this trace’s y coordinates and a 2D cartesian y axis.
-
Encodes the object in a format compatible with Plotly.
Declaration
Swift
public func encode(to encoder: Encoder) throws
View on GitHub
Install in Dash
Waterfall Structure Reference