Programmatically generate SVG (vector) images, animations, and interactive Jupyter widgets
1<?xml version="1.0" encoding="UTF-8"?> 2<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 3 width="700" height="130" viewBox="0 0 700 130"> 4<defs> 5<path d="M30,75 Q240,30,300,120" stroke="black" fill="none" stroke-width="3" id="pathQ0" /> 6</defs> 7<use xlink:href="#pathQ0" /> 8<use xlink:href="#pathQ0" x="300" y="0" /> 9<g stroke="gray" fill="gray"> 10<circle cx="330" cy="75" r="3" /> 11<circle cx="600" cy="120" r="3" /> 12<circle cx="540" cy="30" r="3" /> 13<path d="M330,75 L540,30" /> 14<path d="M540,30 L600,120" /> 15<path d="M330,75 L600,120" stroke-dasharray="5,5" /> 16<circle cx="435" cy="52.5" r="3" /> 17<circle cx="570" cy="75" r="3" /> 18<path d="M435,52.5 L570,75" /> 19<circle cx="502.5" cy="63.75" r="4" fill="none" /> 20</g> 21</svg>