diff --git a/src/svg/helper/ShadowManager.ts b/src/svg/helper/ShadowManager.ts
index f836444fa..5e2d5da50 100644
--- a/src/svg/helper/ShadowManager.ts
+++ b/src/svg/helper/ShadowManager.ts
@@ -36,6 +36,7 @@ export default class ShadowManager extends Definable {
         if (!shadowDom) {
             shadowDom = this.createElement('filter') as SVGFilterElement;
             shadowDom.setAttribute('id', 'zr' + this._zrId + '-shadow-' + this.nextId++);
+            shadowDom.setAttribute('filterUnits', 'userSpaceOnUse');
             const domChild = this.createElement('feDropShadow');
             shadowDom.appendChild(domChild);
             this.addDom(shadowDom);
diff --git a/test/svg-shadow.html b/test/svg-shadow.html
index 695f2bf9d..e70c3c1cb 100644
--- a/test/svg-shadow.html
+++ b/test/svg-shadow.html
@@ -8,9 +8,11 @@
     <meta name="viewport" content="width=device-width, initial-scale=1" />
 </head>
 <body>
+    <h4>Canvas</h4>
     <div id="main-canvas" style="width:1000px;height:200px;"></div>
+    <h4>SVG</h4>
     <div id="main-svg" style="width:1000px;height:200px;"></div>
-    <div style="position: absolute; left: 10px; top: 10px">
+    <div style="position: absolute; right: 10px; top: 10px">
         <button onclick="toggleShadow()">Toggle Shadow</button>
     </div>
     <script type="text/javascript">
@@ -46,6 +48,26 @@
             rects.push(rect);
             (k ? zrSvg : zrCanvas).add(rect);
         }
+
+        const line = new zrender.Line({
+            shape: {
+                x1: 60,
+                y1: 160,
+                x2: 310,
+                y2: 160
+            },
+            style: {
+                stroke: 'red',
+                lineWidth: 3,
+                shadowBlur: 10,
+                shadowColor: 'blue',
+                shadowOffsetX: 10,
+                shadowOffsetY: 10
+            }
+        });
+        line.__shadowBlur = 10;
+        rects.push(line);
+        (k ? zrSvg : zrCanvas).add(line);
     }
 
     function toggleShadow() {