Annotation
public struct Annotation : Encodable
Undocumented
-
Determines whether or not this annotation is visible.
Declaration
Swift
public var visible: Bool? -
Sets the annotation text font.
Declaration
Swift
public var font: Font? -
Sets an explicit width for the text box.
null (default) lets the text set the box width. Wider text will be clipped. There is no automatic wrapping; use
to start a new line.Declaration
Swift
public var width: Double? -
Sets an explicit height for the text box.
null (default) lets the text set the box height. Taller text will be clipped.
Declaration
Swift
public var height: Double? -
Sets the opacity of the annotation (text + arrow).
Declaration
Swift
public var opacity: Double? -
Sets the horizontal alignment of the
textwithin the box.Has an effect only if
textspans two or more lines (i.e.textcontains one or more
HTML tags) or if an explicit width is set to override the text width.Declaration
Swift
public var align: HorizontalAlign? -
Sets the vertical alignment of the
textwithin the box.Has an effect only if an explicit height is set to override the text height.
Declaration
Swift
public var verticalAlign: VerticalAlign? -
Sets the background color of the annotation.
Declaration
Swift
public var backgroundColor: Color? -
Sets the padding (in px) between the
textand the enclosing border.Declaration
Swift
public var borderPadding: Double? -
Sets the width (in px) of the border enclosing the annotation
text.Declaration
Swift
public var borderWidth: Double? -
Sets the color of the annotation arrow.
Declaration
Swift
public var arrowColor: Color? -
Sets the end annotation arrow head style.
Declaration
Swift
public var arrowHead: Int? -
Sets the start annotation arrow head style.
Declaration
Swift
public var startArrowHead: Int? -
Sets the annotation arrow head position.
See moreDeclaration
Swift
public struct ArrowSide : OptionSet, Encodable -
Sets the annotation arrow head position.
Declaration
Swift
public var arrowSide: ArrowSide? -
Sets the size of the end annotation arrow head, relative to
arrowwidth.A value of 1 (default) gives a head about 3x as wide as the line.
Declaration
Swift
public var arrowSize: Double? -
Sets the size of the start annotation arrow head, relative to
arrowwidth.A value of 1 (default) gives a head about 3x as wide as the line.
Declaration
Swift
public var startArrowSize: Double? -
Sets the width (in px) of annotation arrow line.
Declaration
Swift
public var arrowWidth: Double? -
Sets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom.
Note that this shortens the arrow from the
ax/ayvector, in contrast toxshift/yshiftwhich moves everything by this amount.Declaration
Swift
public var standoff: Double? -
Sets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom.
Note that this shortens the arrow from the
ax/ayvector, in contrast toxshift/yshiftwhich moves everything by this amount.Declaration
Swift
public var startStandoff: Double? -
Sets the x component of the arrow tail about the arrow head.
If
axrefispixel, a positive (negative) component corresponds to an arrow pointing from right to left (left to right). Ifaxrefis notpixeland is exactly the same asxref, this is an absolute value on that axis, likex, specified in the same coordinates asxref.Declaration
Swift
public var ax: Anything? -
Sets the y component of the arrow tail about the arrow head.
If
ayrefispixel, a positive (negative) component corresponds to an arrow pointing from bottom to top (top to bottom). Ifayrefis notpixeland is exactly the same asyref, this is an absolute value on that axis, likey, specified in the same coordinates asyref.Declaration
Swift
public var ay: Anything? -
Indicates in what coordinates the tail of the annotation (ax,ay) is specified.
If set to a ax axis id (e.g. ax or ax2), the
See moreaxposition refers to a ax coordinate. If set to paper, theaxposition refers to the distance from the left of the plotting area in normalized coordinates where 0 (1) corresponds to the left (right). If set to a ax axis ID followed by domain (separated by a space), the position behaves like for paper, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., ax2 domain refers to the domain of the second ax axis and a ax position of 0.5 refers to the point between the left and the right of the domain of the second ax axis. In order for absolute positioning of the arrow to work, axref must be exactly the same as xref, otherwise axref will revert to pixel (explained next). For relative positioning, axref can be set to pixel, in which case the ax value is specified in pixels relative to x. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.Declaration
Swift
public enum AxReference : Encodable -
Indicates in what coordinates the tail of the annotation (ax,ay) is specified.
If set to a ax axis id (e.g. ax or ax2), the
axposition refers to a ax coordinate. If set to paper, theaxposition refers to the distance from the left of the plotting area in normalized coordinates where 0 (1) corresponds to the left (right). If set to a ax axis ID followed by domain (separated by a space), the position behaves like for paper, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., ax2 domain refers to the domain of the second ax axis and a ax position of 0.5 refers to the point between the left and the right of the domain of the second ax axis. In order for absolute positioning of the arrow to work, axref must be exactly the same as xref, otherwise axref will revert to pixel (explained next). For relative positioning, axref can be set to pixel, in which case the ax value is specified in pixels relative to x. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.Declaration
Swift
public var axReference: AxReference? -
Indicates in what coordinates the tail of the annotation (ax,ay) is specified.
If set to a ay axis id (e.g. ay or ay2), the
See moreayposition refers to a ay coordinate. If set to paper, theayposition refers to the distance from the bottom of the plotting area in normalized coordinates where 0 (1) corresponds to the bottom (top). If set to a ay axis ID followed by domain (separated by a space), the position behaves like for paper, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., ay2 domain refers to the domain of the second ay axis and a ay position of 0.5 refers to the point between the bottom and the top of the domain of the second ay axis. In order for absolute positioning of the arrow to work, ayref must be exactly the same as yref, otherwise ayref will revert to pixel (explained next). For relative positioning, ayref can be set to pixel, in which case the ay value is specified in pixels relative to y. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.Declaration
Swift
public enum AyReference : Encodable -
Indicates in what coordinates the tail of the annotation (ax,ay) is specified.
If set to a ay axis id (e.g. ay or ay2), the
ayposition refers to a ay coordinate. If set to paper, theayposition refers to the distance from the bottom of the plotting area in normalized coordinates where 0 (1) corresponds to the bottom (top). If set to a ay axis ID followed by domain (separated by a space), the position behaves like for paper, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., ay2 domain refers to the domain of the second ay axis and a ay position of 0.5 refers to the point between the bottom and the top of the domain of the second ay axis. In order for absolute positioning of the arrow to work, ayref must be exactly the same as yref, otherwise ayref will revert to pixel (explained next). For relative positioning, ayref can be set to pixel, in which case the ay value is specified in pixels relative to y. Absolute positioning is useful for trendline annotations which should continue to indicate the correct trend when zoomed. Relative positioning is useful for specifying the text offset for an annotated point.Declaration
Swift
public var ayReference: AyReference? -
Sets the annotation’s x coordinate axis.
If set to a x axis id (e.g. x or x2), the
xposition refers to a x coordinate. If set to paper, thexposition refers to the distance from the left of the plotting area in normalized coordinates where 0 (1) corresponds to the left (right). If set to a x axis ID followed by domain (separated by a space), the position behaves like for paper, but refers to the distance in fractions of the domain length from the left of the domain of that axis: e.g., x2 domain refers to the domain of the second x axis and a x position of 0.5 refers to the point between the left and the right of the domain of the second x axis.Declaration
Swift
public var xReference: XAxisReference? -
Sets the annotation’s x position.
If the axis
typeis log, then you must take the log of your desired range. If the axistypeis date, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axistypeis category, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.Declaration
Swift
public var x: Anything? -
Sets the text box’s horizontal position anchor This anchor binds the
xposition to the left, center or right of the annotation.For example, if
xis set to 1,xrefto paper andxanchorto right then the right-most portion of the annotation lines up with the right-most edge of the plotting area. If auto, the anchor is equivalent to center for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.Declaration
Swift
public var xAnchor: XAutoAnchor? -
Shifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.
Declaration
Swift
public var xShift: Double? -
Sets the annotation’s y coordinate axis.
If set to a y axis id (e.g. y or y2), the
yposition refers to a y coordinate. If set to paper, theyposition refers to the distance from the bottom of the plotting area in normalized coordinates where 0 (1) corresponds to the bottom (top). If set to a y axis ID followed by domain (separated by a space), the position behaves like for paper, but refers to the distance in fractions of the domain length from the bottom of the domain of that axis: e.g., y2 domain refers to the domain of the second y axis and a y position of 0.5 refers to the point between the bottom and the top of the domain of the second y axis.Declaration
Swift
public var yReference: YAxisReference? -
Sets the annotation’s y position.
If the axis
typeis log, then you must take the log of your desired range. If the axistypeis date, it should be date strings, like date data, though Date objects and unix milliseconds will be accepted and converted to strings. If the axistypeis category, it should be numbers, using the scale where each category is assigned a serial number from zero in the order it appears.Declaration
Swift
public var y: Anything? -
Sets the text box’s vertical position anchor This anchor binds the
yposition to the top, middle or bottom of the annotation.For example, if
yis set to 1,yrefto paper andyanchorto top then the top-most portion of the annotation lines up with the top-most edge of the plotting area. If auto, the anchor is equivalent to middle for data-referenced annotations or if there is an arrow, whereas for paper-referenced with no arrow, the anchor picked corresponds to the closest side.Declaration
Swift
public var yAnchor: YAutoAnchor? -
Shifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.
Declaration
Swift
public var yShift: Double? -
Makes this annotation respond to clicks on the plot.
If you click a data point that exactly matches the
See morexandyvalues of this annotation, and it is hidden (visible: false), it will appear. In onoff mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In onout mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to differentxoryvalues, you can setxclickand/oryclick. This is useful for example to label the side of a bar. To label markers though,standoffis preferred overxclickandyclick.Declaration
Swift
public enum ClickToShow : Encodable -
Makes this annotation respond to clicks on the plot.
If you click a data point that exactly matches the
xandyvalues of this annotation, and it is hidden (visible: false), it will appear. In onoff mode, you must click the same point again to make it disappear, so if you click multiple points, you can show multiple annotations. In onout mode, a click anywhere else in the plot (on another data point or not) will hide this annotation. If you need to show/hide this annotation in response to differentxoryvalues, you can setxclickand/oryclick. This is useful for example to label the side of a bar. To label markers though,standoffis preferred overxclickandyclick.Declaration
Swift
public var clickToShow: ClickToShow? -
Sets text to appear when hovering over this annotation.
If omitted or blank, no hover label will appear.
Declaration
Swift
public var hoverText: String? -
Undocumented
See moreDeclaration
Swift
public struct HoverLabel : Encodable -
Undocumented
Declaration
Swift
public var hoverLabel: HoverLabel? -
Determines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation.
By default
captureeventsis false unlesshovertextis provided. If you use the eventplotly_clickannotationwithouthovertextyou must explicitly enablecaptureevents.Declaration
Swift
public var captureEvents: Bool? -
When used in a template, named items are created in the output figure in addition to any items the figure already has in this array.
You can modify these items in the output figure by making your own item with
templateitemnamematching thisnamealongside your modifications (includingvisible: falseorenabled: falseto hide it). Has no effect outside of a template.Declaration
Swift
public var name: String? -
Used to refer to a named item in this array in the template.
Named items from the template will be created even without a matching item in the input figure, but you can modify one by making an item with
templateitemnamematching itsname, alongside your modifications (includingvisible: falseorenabled: falseto hide it). If there is no template or no matching item, this item will be hidden unless you explicitly show it withvisible: true.Declaration
Swift
public var templateItemName: String? -
init(visible:text: textAngle: font: width: height: opacity: align: verticalAlign: backgroundColor: borderColor: borderPadding: borderWidth: showArrow: arrowColor: arrowHead: startArrowHead: arrowSide: arrowSize: startArrowSize: arrowWidth: standoff: startStandoff: ax: ay: axReference: ayReference: xReference: x: xAnchor: xShift: yReference: y: yAnchor: yShift: clickToShow: xClick: yClick: hoverText: hoverLabel: captureEvents: name: templateItemName: ) Creates
Annotationobject with specified properties.Declaration
Swift
public init(visible: Bool? = nil, text: String? = nil, textAngle: Angle? = nil, font: Font? = nil, width: Double? = nil, height: Double? = nil, opacity: Double? = nil, align: HorizontalAlign? = nil, verticalAlign: VerticalAlign? = nil, backgroundColor: Color? = nil, borderColor: Color? = nil, borderPadding: Double? = nil, borderWidth: Double? = nil, showArrow: Bool? = nil, arrowColor: Color? = nil, arrowHead: Int? = nil, startArrowHead: Int? = nil, arrowSide: ArrowSide? = nil, arrowSize: Double? = nil, startArrowSize: Double? = nil, arrowWidth: Double? = nil, standoff: Double? = nil, startStandoff: Double? = nil, ax: Anything? = nil, ay: Anything? = nil, axReference: AxReference? = nil, ayReference: AyReference? = nil, xReference: XAxisReference? = nil, x: Anything? = nil, xAnchor: XAutoAnchor? = nil, xShift: Double? = nil, yReference: YAxisReference? = nil, y: Anything? = nil, yAnchor: YAutoAnchor? = nil, yShift: Double? = nil, clickToShow: ClickToShow? = nil, xClick: Anything? = nil, yClick: Anything? = nil, hoverText: String? = nil, hoverLabel: HoverLabel? = nil, captureEvents: Bool? = nil, name: String? = nil, templateItemName: String? = nil)Parameters
visibleDetermines whether or not this annotation is visible.
textSets the text associated with this annotation.
textAngleSets the angle at which the
textis drawn with respect to the horizontal.fontSets the annotation text font.
widthSets an explicit width for the text box.
heightSets an explicit height for the text box.
opacitySets the opacity of the annotation (text + arrow).
alignSets the horizontal alignment of the
textwithin the box.verticalAlignSets the vertical alignment of the
textwithin the box.backgroundColorSets the background color of the annotation.
borderColorSets the color of the border enclosing the annotation
text.borderPaddingSets the padding (in px) between the
textand the enclosing border.borderWidthSets the width (in px) of the border enclosing the annotation
text.showArrowDetermines whether or not the annotation is drawn with an arrow.
arrowColorSets the color of the annotation arrow.
arrowHeadSets the end annotation arrow head style.
startArrowHeadSets the start annotation arrow head style.
arrowSideSets the annotation arrow head position.
arrowSizeSets the size of the end annotation arrow head, relative to
arrowwidth.startArrowSizeSets the size of the start annotation arrow head, relative to
arrowwidth.arrowWidthSets the width (in px) of annotation arrow line.
standoffSets a distance, in pixels, to move the end arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom.
startStandoffSets a distance, in pixels, to move the start arrowhead away from the position it is pointing at, for example to point at the edge of a marker independent of zoom.
axSets the x component of the arrow tail about the arrow head.
aySets the y component of the arrow tail about the arrow head.
axReferenceIndicates in what coordinates the tail of the annotation (ax,ay) is specified.
ayReferenceIndicates in what coordinates the tail of the annotation (ax,ay) is specified.
xReferenceSets the annotation’s x coordinate axis.
xSets the annotation’s x position.
xAnchorSets the text box’s horizontal position anchor This anchor binds the
xposition to the left, center or right of the annotation.xShiftShifts the position of the whole annotation and arrow to the right (positive) or left (negative) by this many pixels.
yReferenceSets the annotation’s y coordinate axis.
ySets the annotation’s y position.
yAnchorSets the text box’s vertical position anchor This anchor binds the
yposition to the top, middle or bottom of the annotation.yShiftShifts the position of the whole annotation and arrow up (positive) or down (negative) by this many pixels.
clickToShowMakes this annotation respond to clicks on the plot.
xClickyClickhoverTextSets text to appear when hovering over this annotation.
hoverLabelcaptureEventsDetermines whether the annotation text box captures mouse move and click events, or allows those events to pass through to data points in the plot that may be behind the annotation.
nameWhen used in a template, named items are created in the output figure in addition to any items the figure already has in this array.
templateItemNameUsed to refer to a named item in this array in the template.
View on GitHub
Install in Dash
Annotation Structure Reference