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-8979561c-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(62.39,25.98)" stroke="%23FF0000">
<path fill="none" d="M7.61,-0.98 L-7.61,0.98 " class="primitive"/>
</g>
<g transform="translate(62.57,24.7)" stroke="%23008000">
<path fill="none" d="M7.43,0.3 L-7.43,-0.3 " class="primitive"/>
</g>
<g transform="translate(59.24,24.09)" stroke="%2300BFFF">
<path fill="none" d="M10.76,0.91 L-10.76,-0.91 " 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(98.47,23.2)" 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(86.34,64.92)" 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(102.95,13.83)" 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(108.06,19.75)" 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(82.17,61.68)" 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(98.99,4.31)" 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(80.52,48.26)" 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(90.17,12.23)" 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(139.5,65.81)" 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(76.64,40.22)" 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(28.47,23.2)" 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(16.34,64.92)" 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(32.95,13.83)" 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(38.06,19.75)" 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(12.17,61.68)" 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(28.99,4.31)" 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(10.52,48.26)" 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(20.17,12.23)" 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(69.5,65.81)" 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(6.64,40.22)" 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-1bbb1996-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-1bbb1996-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-1bbb1996-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-c76fb84b-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-c76fb84b-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-c76fb84b-3">
<g transform="translate(70,20)">
<circle cx="0" cy="0" r="11.2" class="primitive"/>
</g>
</g>
</svg>
)