using Compose
set_default_graphic_size(14cm,5cm)
θ, r = 2π*rand(3), 0.1.+0.08*rand(3)
c, s = r.*cos.(θ), r.*sin.(θ)
point_array = [[(0.5,0.5), 0.5.+(x,y)] for (x,y) in zip(c,s) ]
img = compose(context(), arrow(), stroke("black"), fill(nothing),
(context(), arc(0.18, 0.5, 0.08, -π/4, 1π)),
(context(), line(point_array), stroke(["red","green","deepskyblue"])),
(context(), curve((0.7,0.5), (0.8,-0.5), (0.8,1.5), (0.9,0.5)))
)
" id="img-9e6e16d5-1">
<g transform="translate(112,25)">
<path fill="none" d="M-14,0 C0,-50 0,50 14,0" class="primitive"/>
</g>
<g transform="translate(75.74,28.17)" stroke="%23FF0000">
<path fill="none" d="M-5.74,-3.17 L5.74,3.17 " class="primitive"/>
</g>
<g transform="translate(57.96,25.94)" stroke="%23008000">
<path fill="none" d="M12.04,-0.94 L-12.04,0.94 " class="primitive"/>
</g>
<g transform="translate(59.56,25.46)" stroke="%2300BFFF">
<path fill="none" d="M10.44,-0.46 L-10.44,0.46 " class="primitive"/>
</g>
<g transform="translate(25.2,25)">
<path d="M7.92,-7.92 A11.2,11.2 0 1 1 -11.2,0" class="primitive"/>
</g>
</g>
</svg>
)
using Colors, Compose
set_default_graphic_size(14cm,7cm)
X = rand(10,2)
colv = HSVA.(range(0,stop=180,length=10), 1, 1, 0.5)
img = compose(context(units=UnitBox(0,0,2,1)), stroke("black"),
(context(), rectangle(), fill(nothing)),
(context(), ngon([0.5,1.5],[0.5], [0.4], [10]), fill(nothing), stroke("lightgray")),
(context(), xgon(X[:,1],X[:,2],[0.2],[4]), fill(colv)),
(context(), xgon(X[:,1].+1,X[:,2],[0.2],[4]), fill(colv),
clip(points(ngon(1.5,0.5, 0.4, 10))) )
)
">
<g transform="translate(96.34,25.31)" fill="%23FF0000" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(109.98,22.3)" fill="%23FF5500" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 -0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 -0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(129.02,22.99)" fill="%23FFAA00" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(112.92,25.88)" fill="%23FFFF00" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(124.36,44.94)" fill="%23AAFF00" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(133.96,58.49)" fill="%2355FF00" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(122.19,15.63)" fill="%2300FF00" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(111.21,24.54)" fill="%2300FF55" fill-opacity="0.500">
<path d="M-4.2,-0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,-0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(93.8,65.26)" fill="%2300FFAA" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 -0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 -0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(128.61,2.85)" fill="%2300FFFF" fill-opacity="0.500">
<path d="M-4.2,-0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
</g>
<g transform="translate(26.34,25.31)" fill="%23FF0000" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(39.98,22.3)" fill="%23FF5500" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(59.02,22.99)" fill="%23FFAA00" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(42.92,25.88)" fill="%23FFFF00" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(54.36,44.94)" fill="%23AAFF00" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(63.96,58.49)" fill="%2355FF00" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(52.19,15.63)" fill="%2300FF00" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(41.21,24.54)" fill="%2300FF55" fill-opacity="0.500">
<path d="M-4.2,-0 L-11.77,-7.57 -7.57,-11.77 -0,-4.2 7.57,-11.77 11.77,-7.57 4.2,-0 11.77,7.57 7.57,11.77 -0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(23.8,65.26)" fill="%2300FFAA" fill-opacity="0.500">
<path d="M-4.2,0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g transform="translate(58.61,2.85)" fill="%2300FFFF" fill-opacity="0.500">
<path d="M-4.2,-0 L-11.77,-7.57 -7.57,-11.77 0,-4.2 7.57,-11.77 11.77,-7.57 4.2,0 11.77,7.57 7.57,11.77 0,4.2 -7.57,11.77 -11.77,7.57 z" class="primitive"/>
</g>
<g stroke="%23D3D3D3" fill="%23000000" fill-opacity="0.000" id="img-6f83c3e0-3">
<g transform="translate(35,32.45)">
<path d="M0,-25.45 L16.46,-20.11 26.63,-6.11 26.63,11.2 16.46,25.2 0,30.55 -16.46,25.2 -26.63,11.2 -26.63,-6.11 -16.46,-20.11 -0,-25.45 z" class="primitive"/>
</g>
<g transform="translate(105,32.45)">
<path d="M0,-25.45 L16.46,-20.11 26.63,-6.11 26.63,11.2 16.46,25.2 0,30.55 -16.46,25.2 -26.63,11.2 -26.63,-6.11 -16.46,-20.11 0,-25.45 z" class="primitive"/>
</g>
</g>
<g fill="%23000000" fill-opacity="0.000" id="img-6f83c3e0-4">
<g transform="translate(70,35)">
<path d="M-70,-35 L70,-35 70,35 -70,35 z" class="primitive"/>
</g>
</g>
</g>
<defs>
<clipPath id="img-6f83c3e0-2">
<path d="M105,7 L121.46,12.35 131.63,26.35 131.63,43.65 121.46,57.65 105,63 88.54,57.65 78.37,43.65 78.37,26.35 88.54,12.35 105,7 " />
</clipPath>
</defs>
</svg>
)
using Compose
set_default_graphic_size(14cm,4cm)
img = compose(context(),
(context(), circle(0.5, 0.5, 0.08), fillopacity(0.3), fill("orange")),
(context(), circle([0.1, 0.26], [0.5], [0.1]), fillopacity(0.3), fill("blue")),
(context(), circle([0.42, 0.58], [0.5], [0.1]), fillopacity(0.3), fill(["yellow","green"])),
(context(), circle([0.74, 0.90], [0.5], [0.1]), fillopacity([0.5,0.3]), fill(["yellow","red"]) )
)
" fill-opacity="0.5" fill="%23FFFF00">
<circle cx="0" cy="0" r="14" class="primitive"/>
</g>
<g transform="translate(126,20)" fill-opacity="0.3" fill="%23FF0000">
<circle cx="0" cy="0" r="14" class="primitive"/>
</g>
<g fill-opacity="0.3" id="img-24f69d2c-1">
<g transform="translate(58.8,20)" fill="%23FFFF00">
<circle cx="0" cy="0" r="14" class="primitive"/>
</g>
<g transform="translate(81.2,20)" fill="%23008000">
<circle cx="0" cy="0" r="14" class="primitive"/>
</g>
</g>
<g fill="%230000FF" fill-opacity="0.3" id="img-24f69d2c-2">
<g transform="translate(14,20)">
<circle cx="0" cy="0" r="14" class="primitive"/>
</g>
<g transform="translate(36.4,20)">
<circle cx="0" cy="0" r="14" class="primitive"/>
</g>
</g>
<g fill="%23FFA500" fill-opacity="0.3" id="img-24f69d2c-3">
<g transform="translate(70,20)">
<circle cx="0" cy="0" r="11.2" class="primitive"/>
</g>
</g>
</svg>
)