如何在d3和SVG中创建阴影路径?

sakurashinken

我创建具有阴影效果的图表,并希望有类似效果的线图一个苹果的健康套件,除了没有最后一个数据点后急剧垂直线。从本质上讲,我希望在线条形状下方的阴影下着色,而不是像非常模糊的阴影一样。如何在d3中实现?

保罗·勒博

除了图线之外,您还需要创建一个放置在该线后面的多边形。给该多边形一个线性渐变。渐变颜色是白色,从顶部的半透明到底部的全透明不等。

下面的演示。我将离开您将其转换为d3。

    <svg width="750" height="384">
      <defs>
        <!-- The below-the-graph gradient fill -->
        <linearGradient id="grad" x2="0" y2="1">
          <stop offset="0%" stop-color="white" stop-opacity="0.5"/>
          <stop offset="100%" stop-color="white" stop-opacity="0"/>
        </linearGradient>

        <filter id="blur">
          <feGaussianBlur stdDeviation="10" />
        </filter>
      </defs>

      <!-- The orange background -->
      <rect x="10" y="10" width="734" height="368" rx="14" fill="#ff7744"/>

      <!-- This transform just moves the graph from the origin (top left) onto the orange background -->
      <g transform="translate(80,134)">

        <!-- Same shape as the graph but adds points at bottom right and bottom left to complete the polygon -->
        <polygon fill="url(#grad)" filter="url(#blur)"
                 points="0,127, 90,85, 180,115, 270,47, 360,143, 450,0
                         450,177, 0,177"/>

        <!-- The white graph line goes last (on top) -->
        <polyline fill="none" stroke="white" stroke-width="3"
                  points="0,127, 90,85, 180,115, 270,47, 360,143, 450,0"/>
      </g>
      
    </svg>

更新

抱歉,我想念您关于模糊线下渐变的观点。我在示例中添加了一些模糊,以向您展示模糊滤镜可以做什么。这只是一个快速的技巧,您可以看到它是如何流血的。要解决此问题,您需要制作一个遮罩或剪切路径以遮罩线条上方的区域,以使出血不可见。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在SVG中为D3画笔创建路径

来自分类Dev

d3从数组创建SVG路径

来自分类Dev

d3从JSON路径创建svg

来自分类Dev

d3从数组创建SVG路径

来自分类Dev

更新 svg 和 d3 中的路径样式

来自分类Dev

如何在 vue-cli 中创建 d3 svg?

来自分类Dev

如何在D3中移动SVG的位置?

来自分类Dev

如何在D3中创建连接节点的曲线

来自分类Dev

如何在d3线中创建折弯

来自分类Dev

如何获得SVG路径形状以缩放D3?

来自分类Dev

在d3中访问SVG路径长度

来自分类Dev

如何在D3中对齐文本和标签

来自分类Dev

如何在D3中对齐文本和标签

来自分类Dev

如何在CSS3中创建阴影边框?

来自分类Dev

为D3和SVG元素创建动画

来自分类Dev

如何在Qt / QML中实现3D深度和阴影?

来自分类Dev

在D3中将阴影添加到svg图像

来自分类Dev

D3 svg 路径重叠

来自分类Dev

使用视框时如何在D3中阻止路径模糊/消失?

来自分类Dev

如何在d3中为路径及其点设置动画

来自分类Dev

如何在Coffee脚本中的svg中使用“ g”来旋转d3中的对象?

来自分类Dev

如何在d3 javascript中为SVG文本元素分配唯一ID

来自分类Dev

如何在D3 svg.text对象中显示希腊字母?

来自分类Dev

如何在Drawdrect D3中选择SVG对象

来自分类Dev

如何在SVG / D3中围绕其质心旋转文本(垂直翻转)?

来自分类Dev

当应用蒙版时,由d3(d3.svg.arc)创建的SVG路径元素消失

来自分类Dev

当应用蒙版时,由d3(d3.svg.arc)创建的SVG路径元素消失

来自分类Dev

如何在D3.js中操作特定的SVG路径

来自分类Dev

如何在d3中创建的图例中匹配文本标签