[JavaScript] HTML svg 動態畫圖
習作要用 HTML 的 <canvas> 或 <svg> 畫統計圖形,就玩了一下這些標籤,這篇只討論 <svg> ,關於動態生成圖形,例如上圖是按了 <button> 後的結果,本來全是空的如下: 生成的部份我用「原本有無標籤」分成兩類 已有形狀tag 如果 <svg>裡已經有要畫的標籤 tag,例如<line>、<rect>、... ,只要動態賦予屬性即可,例如 HTML 是: <body> <svg id="idSvg" width="300" height="300"> <line id="line" x1="0" y1="0" x2="0" y2="0"></line> <circle id="circ" cx="0" cy="0" r="0"></circle> </svg> <button onclick="draw()">畫</button> <script> </script> </body> 即使直線與圖形的標籤已存在,只要直線的點重合、圓形半徑為零,等等的情形下也是不會畫出來的,而寫在 <button> 中的事件要做的是 抓取 #line 與 #circ 的 DOM,改變直線的坐標、改變圓心坐標和半徑 : <script> function draw() { let line = document.getElementById('line'); line.setAttribute('x1', 220); line.setAttribute('y1', 40); line.setAttribute('x2',...