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="250" height="100" viewBox="0 0 250 100"> 4<defs> 5<mask maskContentUnits="objectBoundingBox" id="mask30"> 6<rect x="0" y="0" width="1" height="1" fill-opacity="1.0" fill="white" /> 7</mask> 8<mask maskContentUnits="objectBoundingBox" id="mask31"> 9<rect x="0" y="0" width="1" height="1" fill-opacity="0.75" fill="white" /> 10</mask> 11<mask maskContentUnits="objectBoundingBox" id="mask32"> 12<rect x="0" y="0" width="1" height="1" fill-opacity="0.5" fill="white" /> 13</mask> 14<mask maskContentUnits="objectBoundingBox" id="mask33"> 15<rect x="0" y="0" width="1" height="1" fill-opacity="0.25" fill="white" /> 16</mask> 17</defs> 18<g mask="url(#mask30)"> 19<circle cx="35" cy="35" r="25" /> 20<text x="35" y="80" font-size="14" text-anchor="middle">100%</text> 21</g> 22<g mask="url(#mask31)"> 23<circle cx="95" cy="35" r="25" /> 24<text x="95" y="80" font-size="14" text-anchor="middle">50%</text> 25</g> 26<g mask="url(#mask32)"> 27<circle cx="155" cy="35" r="25" /> 28<text x="155" y="80" font-size="14" text-anchor="middle">50%</text> 29</g> 30<g mask="url(#mask33)"> 31<circle cx="215" cy="35" r="25" /> 32<text x="215" y="80" font-size="14" text-anchor="middle">25%</text> 33</g> 34</svg>