Path

extends Mark
Subclasses: Rect, Area, Polygon, Arc, Ring

The Path class represents a geometric path consisting of multiple vertices connected by segments. To create a path object, use the mark method in the Scene class, for example:

    let path = scene.mark("path", {
                  vertices: [
                        [200, 50], [350, 50], [500, 50]
                  ],
                  strokeColor: "#95D0F5"
              });

A straight line is also represented as a path object in Mascot. The following code returns a Path object with two vertices.

    let line = scene.mark("line", {x1: 0, y1: 20, x2: 300, y2: 50});

Properties

propertyexplanationtypedefault value
curveModehow the segments are drawn, possible valuesString“linear”
firstSegment returns the first segment of the pathSegment
firstVertex returns the first vertex of the pathVertex
segments the segments on the pathArray of Segment
vertices the vertices along the pathArray of Vertex
vxFillColorthe fill color of the vertices on this pathColor“#555555”
vxHeightthe height of the vertices on this pathNumber0
vxOpacitythe opacity of the vertices on this pathNumber1
vxRadiusthe radius of the vertices on this path if the shape is “circle”Number0
vxShapethe shape of the vertices on this path
possible values: “rect”, “circle”
Stringundefined
vxStrokeColorthe stroke color of the vertices on this pathColor“#aaaaaa”
vxStrokeWidththe stroke width of the vertices on this path in pixelsNumber0
vxWidththe width of the vertices on this pathNumber0
x the x coordinate of the center of the path boundsNumber
y the y coordinate of the center of the path boundsNumber

Properties inherited from Mark

propertyexplanationtypedefault value
bounds the bounding rectangle of the pathRectangle
dataScopethe data scope of the pathDataScopeundefined
fillColorthe fill color of the path if it is closedColor“none”
id the unique id of the pathString
opacitythe opacity value of the path (between 0 and 1)Number1
strokeColorthe stroke color of the pathColor“#ccc”
strokeDashthe dashes and gaps for the path strokeString“none”
strokeWidththe stroke width of the path in pixelsNumber1
type the type of the pathString“path”
visibilitywhether the path is visible (“visible” or “hidden”)String“visible”

Methods

methodexplanationreturn type
addVertex(x, y, i)adds a vertex at the specified index with specified coordinates
x (Number): x coordinate
y (Number): y coordinate
i (Number): index to add the vertex
void
getSVGPathData()returns a string to be used as the d parameter in an SVG path elementString
resize(wd, ht, xRef, yRef)change the width and height of the path
wd (Number): width
ht (Number): height
xRef (String, optional): horizontal reference point
yRef (String, optional): vertical reference point
void
sortVertices
(channel, descending)
sort the vertices by a visual channel
channel (String): the channel to sort the vertices by
descending (Boolean, optional): setting to true will sort in descending order;
default is false.
void
sortVerticesByData
(field, descending, order)
sort the vertices by a data field
field (String): the data field to sort the vertices by
descending (Boolean, optional): setting to true will sort in descending order;
default is false.
order (Array, optional): an array of field values in ascending order
void