The basic usage syntax is ResourceFunction["PolygonMarker"][shape,spec], where shape is the name of a predefined shape or a list of 2D coordinates describing a simple polygon, and spec can be either size or {size, angle}.
The size can be given as a number or in Scaled or Offset form.
The angle in radians determines the angle of the counterclockwise rotation of shape about its centroid.
ResourceFunction["PolygonMarker"][shape,spec] returns a Polygon graphics primitive that can be used in Graphics.
ResourceFunction["PolygonMarker"][shape,spec,style], where style is a list of graphics directives applied to shape, returns a Graphics object that can be used as a marker for PlotMarkers.
ResourceFunction["PolygonMarker"][shape,spec,style,options] returns a Graphics object with options applied.
The centroid of the Polygon generated by ResourceFunction["PolygonMarker"] is always placed at {0,0} in the internal coordinate system of Graphics.
ResourceFunction["PolygonMarker"][shape,spec,positions], where positions is a list of 2D coordinates and spec contains a numeric specification for size, returns a list of Polygon graphics primitives with centroids placed at positions.
ResourceFunction["PolygonMarker"][shape,spec,positions], where positions is a list of 2D coordinates and spec contains Scaled or Offset specifications for size, evaluates to Translate[ResourceFunction["PolygonMarker"][shape,spec],positions]. It represents a collection of multiple identical copies of shape with centroids placed at positions.
With an Offsetsize specification, the plot marker has a fixed size specified in printer's points, independent of ImageSize.
ResourceFunction["PolygonMarker"][shape,size] returns a Polygon with area size2 in the internal coordinate system of Graphics. ResourceFunction["PolygonMarker"][shape,Offset[size]] returns a Polygon with area size2 square printer's points. The area taken by the boundary of the returned Polygon is not taken into account.
ResourceFunction["PolygonMarker"][All] and ResourceFunction["PolygonMarker"][] both return the complete list of names of predefined shapes.
Use the third argument of PolygonMarker to specify the coordinate(s) where the marker should be placed:
In[19]:=
Out[19]=
Construct a list plot directly from graphics primitives:
In[20]:=
Out[20]=
Construct a custom list plot where open plot markers have transparent faces for each other (but not for the plotted lines):
In[21]:=
Out[21]=
Construct a custom list plot where the plot lines do not go through the plot markers (the corresponding portions of the lines are explicitly removed). Other objects like grid lines and background are visible through the markers.