d3+svg画图基础应用

d3+svg画图基础应用

1.svg
1.1 简介
SVG,是一种用于描述二维的可缩放矢量图形,基于XML的标记语言,像JPEG和JPG不同,SVG格式提供的是矢量图,这意味着它的图像能够被无限放大而不失真和降低质量,并且可以方便的修改内容。
1.2 常用标签和属性
svg:SVG容器;
defs:SVG允许定义以后需要重复使用的图形元素,建议所有需要再次使用的元素定义在defs元素里面;可以增强SVG内容的易读性和可访问性defs元素中定义的图形元素不会直接呈现,可以在视口的任意地方利用use标签呈现;
use:在SVG文档内取得目标节点,并在别的地方复制它们;
g:用于组合对象;可以通过use引用;
marker:定义了特定的path元素,line元素,polyline元素或者polygon元素上绘制的箭头或者多边标记图形;
path:用于定义图像形状;
在这里插入图片描述
在这里插入图片描述
Id:用以在别处引用;
M:控制虚拟笔移动到初始位置;
L:标识直线;
fill:填充颜色;
stroke:描边颜色;
markerWidth,markerHeight:代表箭头标签的高亮范围;
refX,refY:箭头图形和直线连接的坐标点;
orient=”auto”设置箭头方向为自动适应线条的方向;
1.3 代码示例
在这里插入图片描述
在这里插入图片描述
2.d3
2.1简介
D3js是一个可以基于数据来操作文档的JavaScript库。可以帮助你使用HTML,CSS,SVG以及Canvas来展示数据。D3遵循现有的web标准,可以不需要其他任何框架独立运行在现代浏览器中,它结合强大的可视化来驱动DOM操作。

2.2常用属性设置
(1)直接选择并设置属性
在这里插入图片描述
(2)选择并动态设置属性
在这里插入图片描述
注:hsl()为定义颜色的函数,参数分别为:色相,饱和度,亮度
(3)选择-绑定数据-动态设置属性
在这里插入图片描述
(4)Link
d3.js中的link是用来生成一个从source到target的三次贝塞尔曲线,他主要包括linkHorizontal,linkVertical,linkRadial三种。
三者的详细讲解
在这里插入图片描述
Source代表起点,target代表终点,link在二者之间画一条贝塞尔曲线
在这里插入图片描述
不使用这三种贝塞尔曲线时,可以自己定义曲线
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
d3其他模块:
d3-array 数组操作
d3-axis坐标轴组件
d3-brush刷取交互
d3-dsv 这个模块提供了一个针对分隔符文件/字符串的解析和格式化工具
d3-color提供各种空间颜色表示,并支持各种空间颜色的转换和操作
d3-zoom视图移动缩放

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JS+SVG流程图主动连线是一种通过JavaScript和SVG(可缩放矢量图形)来实现的流程图绘制方式。它可以实现在流程图中的不同节点之间绘制连线,以表示它们之间的关系和流转。 下面是JS+SVG流程图主动连线的基本步骤: 1. 创建SVG容器:使用HTML中的`<svg>`标签创建一个SVG容器,设置宽度和高度等属性。 2. 绘制节点:使用SVG的基本形状元素(如`<rect>`、`<circle>`、`<ellipse>`等)或者自定义路径(`<path>`)来绘制流程图中的节点。可以设置节点的位置、大小、样式等属性。 3. 绘制连线:使用SVG的`<line>`或者`<path>`元素来绘制节点之间的连线。可以设置连线的起点、终点、样式等属性。可以通过计算节点的位置来确定连线的起点和终点。 4. 添加事件监听:使用JavaScript为节点和连线添加事件监听器,以实现交互功能。例如,可以为节点添加点击事件,当点击节点时触发相应的操作。 5. 更新连线:当节点位置发生变化时,需要更新相应的连线。可以通过修改连线的起点和终点来实现。 6. 其他功能:根据需求,还可以添加其他功能,如节点拖拽、连线编辑等。 总结起来,JS+SVG流程图主动连线的流程包括创建SVG容器、绘制节点、绘制连线、添加事件监听、更新连线等步骤。通过JavaScript和SVG的组合,可以实现灵活、交互性强的流程图绘制效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大兵的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值