SVG 渐变作为具有绝对位置的折线描边背景

Bre*_*siu 2 svg linear-gradients polyline

是否能够设置应用于折线的渐变背景的绝对位置?

例如当我设置渐变时:

<filter id="black-glow">
    <feColorMatrix type="matrix" values=
       "0 0 0 0   0        
        0 0 0 0   0
        0 0 0 0   0
        0 0 0 1   0" />
    <feGaussianBlur stdDeviation="3" result="coloredBlur" />
    <feMerge>
      <feMergeNode in="coloredBlur" />
      <feMergeNode in="SourceGraphic" />
    </feMerge>
</filter>
Run Code Online (Sandbox Code Playgroud)

折线的笔画:

<polyline points="50,350 ... 350,239" style="fill:none;" stroke="url(#grad1)" stroke-width="3" stroke-linecap="round" />
Run Code Online (Sandbox Code Playgroud)

(折线有最大/最小位置点)

结果没问题:

在此输入图像描述

但是,当折线平坦时:

在此输入图像描述

绿色的颜色要高得多。由于这是彩色图表,因此我需要实现不断查看背景,而与绘制折线的方式无关。

Eri*_*röm 5

如果您希望将渐变应用于用户空间,则可以通过如下表示渐变来实现:

<linearGradient id="grad1" gradientUnits="userSpaceOnUse" x1="0"
                y1="350" x2="0" y2="220">
Run Code Online (Sandbox Code Playgroud)

参见小提琴

x1、y1、x2 和 y2 中的值将相对于当前用户空间坐标系,因此如果您使用百分比,它们将相对于最近的视口,而不是相对于使用渐变的形状的边界框。有关详细信息,请参阅svg 规范。