Shape
public struct Shape : Encodable
Undocumented
-
Determines whether or not this shape is visible.
Declaration
Swift
public var visible: Bool?
-
Specifies the shape type to be drawn.
If line, a line is drawn from (
See morex0
,y0
) to (x1
,y1
) with respect to the axes’ sizing mode. If circle, a circle is drawn from ((x0
+x1
)/2, (y0
+y1
)/2)) with radius (|(x0
+x1
)/2 -x0
|, |(y0
+y1
)/2 -y0
)|) with respect to the axes’ sizing mode. If rect, a rectangle is drawn linking (x0
,y0
), (x1
,y0
), (x1
,y1
), (x0
,y1
), (x0
,y0
) with respect to the axes’ sizing mode. If path, draw a custom SVG path usingpath
. with respect to the axes’ sizing mode. -
Specifies the shape type to be drawn.
If line, a line is drawn from (
x0
,y0
) to (x1
,y1
) with respect to the axes’ sizing mode. If circle, a circle is drawn from ((x0
+x1
)/2, (y0
+y1
)/2)) with radius (|(x0
+x1
)/2 -x0
|, |(y0
+y1
)/2 -y0
)|) with respect to the axes’ sizing mode. If rect, a rectangle is drawn linking (x0
,y0
), (x1
,y0
), (x1
,y1
), (x0
,y1
), (x0
,y0
) with respect to the axes’ sizing mode. If path, draw a custom SVG path usingpath
. with respect to the axes’ sizing mode.Declaration
Swift
public var type: Type?
-
Specifies whether shapes are drawn below or above traces.
Declaration
Swift
public var layer: ShapeLayer?
-
Sets the shape’s x coordinate axis.
If set to a x axis id (e.g. x or x2), the
x
position refers to a x coordinate. If set to paper, thex
position 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. If the axistype
is log, then you must take the log of your desired range. If the axistype
is date, then you must convert the date to unix time in milliseconds.Declaration
Swift
public var xReference: XAxisReference?
-
Sets the shapes’s sizing mode along the x axis.
If set to scaled,
See morex0
,x1
and x coordinates withinpath
refer to data values on the x axis or a fraction of the plot area’s width (xref
set to paper). If set to pixel,xanchor
specifies the x position in terms of data or plot fraction butx0
,x1
and x coordinates withinpath
are pixels relative toxanchor
. This way, the shape can have a fixed width while maintaining a position relative to data or plot fraction.Declaration
Swift
public enum XSizeMode : String, Encodable
-
Sets the shapes’s sizing mode along the x axis.
If set to scaled,
x0
,x1
and x coordinates withinpath
refer to data values on the x axis or a fraction of the plot area’s width (xref
set to paper). If set to pixel,xanchor
specifies the x position in terms of data or plot fraction butx0
,x1
and x coordinates withinpath
are pixels relative toxanchor
. This way, the shape can have a fixed width while maintaining a position relative to data or plot fraction.Declaration
Swift
public var xSizeMode: XSizeMode?
-
Only relevant in conjunction with
xsizemode
set to pixel.Specifies the anchor point on the x axis to which
x0
,x1
and x coordinates withinpath
are relative to. E.g. useful to attach a pixel sized shape to a certain data value. No effect whenxsizemode
not set to pixel.Declaration
Swift
public var xAnchor: Anything?
-
Sets the annotation’s y coordinate axis.
If set to a y axis id (e.g. y or y2), the
y
position refers to a y coordinate. If set to paper, they
position 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 shapes’s sizing mode along the y axis.
If set to scaled,
See morey0
,y1
and y coordinates withinpath
refer to data values on the y axis or a fraction of the plot area’s height (yref
set to paper). If set to pixel,yanchor
specifies the y position in terms of data or plot fraction buty0
,y1
and y coordinates withinpath
are pixels relative toyanchor
. This way, the shape can have a fixed height while maintaining a position relative to data or plot fraction.Declaration
Swift
public enum YSizeMode : String, Encodable
-
Sets the shapes’s sizing mode along the y axis.
If set to scaled,
y0
,y1
and y coordinates withinpath
refer to data values on the y axis or a fraction of the plot area’s height (yref
set to paper). If set to pixel,yanchor
specifies the y position in terms of data or plot fraction buty0
,y1
and y coordinates withinpath
are pixels relative toyanchor
. This way, the shape can have a fixed height while maintaining a position relative to data or plot fraction.Declaration
Swift
public var ySizeMode: YSizeMode?
-
Only relevant in conjunction with
ysizemode
set to pixel.Specifies the anchor point on the y axis to which
y0
,y1
and y coordinates withinpath
are relative to. E.g. useful to attach a pixel sized shape to a certain data value. No effect whenysizemode
not set to pixel.Declaration
Swift
public var yAnchor: Anything?
-
For
type
path - a valid SVG path with the pixel values replaced by data values inxsizemode
/ysizemode
being scaled and taken unmodified as pixels relative toxanchor
andyanchor
in case of pixel size mode.There are a few restrictions / quirks only absolute instructions, not relative. So the allowed segments are: M, L, H, V, Q, C, T, S, and Z arcs (A) are not allowed because radius rx and ry are relative. In the future we could consider supporting relative commands, but we would have to decide on how to handle date and log axes. Note that even as is, Q and C Bezier paths that are smooth on linear axes may not be smooth on log, and vice versa. no chained “polybezier” commands
- specify the segment type for each one. On category axes, values are numbers scaled to the serial numbers of categories because using the categories themselves there would be no way to describe fractional positions On data axes: because space and T are both normal components of path strings, we can’t use either to separate date from time parts. Therefore we’ll use underscore for this purpose: 2015-02-21_13:45:56.789
Declaration
Swift
public var path: String?
-
Sets the opacity of the shape.
Declaration
Swift
public var opacity: Double?
-
Undocumented
Declaration
Swift
public var line: DashedLine?
-
Sets the color filling the shape’s interior.
Only applies to closed shapes.
Declaration
Swift
public var fillColor: Color?
-
Determines which regions of complex paths constitute the interior.
For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule
See moreDeclaration
Swift
public enum FillRule : String, Encodable
-
Determines which regions of complex paths constitute the interior.
For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule
Declaration
Swift
public var fillRule: FillRule?
-
Determines whether the shape could be activated for edit or not.
Has no effect when the older editable shapes mode is enabled via
config.editable
orconfig.edits.shapePosition
.Declaration
Swift
public var editable: 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
templateitemname
matching thisname
alongside your modifications (includingvisible: false
orenabled: false
to 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
templateitemname
matching itsname
, alongside your modifications (includingvisible: false
orenabled: false
to 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:
type: layer: xReference: xSizeMode: xAnchor: x0: x1: yReference: ySizeMode: yAnchor: y0: y1: path: opacity: line: fillColor: fillRule: editable: name: templateItemName: ) Creates
Shape
object with specified properties.Declaration
Swift
public init(visible: Bool? = nil, type: `Type`? = nil, layer: ShapeLayer? = nil, xReference: XAxisReference? = nil, xSizeMode: XSizeMode? = nil, xAnchor: Anything? = nil, x0: Anything? = nil, x1: Anything? = nil, yReference: YAxisReference? = nil, ySizeMode: YSizeMode? = nil, yAnchor: Anything? = nil, y0: Anything? = nil, y1: Anything? = nil, path: String? = nil, opacity: Double? = nil, line: DashedLine? = nil, fillColor: Color? = nil, fillRule: FillRule? = nil, editable: Bool? = nil, name: String? = nil, templateItemName: String? = nil)
Parameters
visible
Determines whether or not this shape is visible.
type
Specifies the shape type to be drawn.
layer
Specifies whether shapes are drawn below or above traces.
xReference
Sets the shape’s x coordinate axis.
xSizeMode
Sets the shapes’s sizing mode along the x axis.
xAnchor
Only relevant in conjunction with
xsizemode
set to pixel.x0
Sets the shape’s starting x position.
x1
Sets the shape’s end x position.
yReference
Sets the annotation’s y coordinate axis.
ySizeMode
Sets the shapes’s sizing mode along the y axis.
yAnchor
Only relevant in conjunction with
ysizemode
set to pixel.y0
Sets the shape’s starting y position.
y1
Sets the shape’s end y position.
path
For
type
path - a valid SVG path with the pixel values replaced by data values inxsizemode
/ysizemode
being scaled and taken unmodified as pixels relative toxanchor
andyanchor
in case of pixel size mode.opacity
Sets the opacity of the shape.
line
fillColor
Sets the color filling the shape’s interior.
fillRule
Determines which regions of complex paths constitute the interior.
editable
Determines whether the shape could be activated for edit or not.
name
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.
templateItemName
Used to refer to a named item in this array in the template.