d3js学习——4.svg

SVG 代表 scalable vector graphics,是一种基于 XML 的矢量图形格式,提供了绘制不同形状的选项:直线、矩形、圆形、椭圆等。

SVG的显著特征:

  • SVG是基于矢量的图像格式,它是基于文本的。
  • SVG在结构上与HTML类似。
  • SVG可以表示为Document object model
  • 可以将SVG属性指定为属性。
  • SVG应该具有相对于原点(0,0)的绝对位置。
  • SVG可以包含在HTML文档中。

svg 格式的默认单位的 Pixel.

直线-line

  • x1 - 这是第一个点的x坐标。
  • y1 - 这是第一个点的y坐标。
  • x2 - 这是第二个点的x坐标。
  • y2 - 这是第二个点的y坐标。
  • stroke - 线条的颜色。
  • stroke-width - 线的粗细。
<!-- 一条从(100,100)=>(200,200)的红色直线 -->
<svg width="500" height="500">
  <line
    x1="100"
    x2="200"
    y1="100"
    y2="200"
    style="stroke: brown; stroke-width: 2"
  ></line>
</svg>
<div id="svgcontainer"></div>

var width = 300;
var height = 300;
var svg = d3.select("#svgcontainer")
   .append("svg").attr("width", width).attr("height", height)
srv.append("line")
   .attr("x1", 100)
   .attr("y1", 100)
   .attr("x2", 200) 
   .attr("y2", 200)
   .style("stroke", "rgb(255,0,0)")
   .style("stroke-width", 2);

矩形-rect

  • x - 这是矩形左上角的x坐标。
  • y - 这是矩形左上角的y坐标。
  • width - 这表示矩形的宽度。
  • height - 表示矩形的高度。
  • fill - 表示矩形的颜色。
let svg = d3
    .select(".rec")
    .append("svg")
    .attr("width", 500)
    .attr("height", 500);
svg
    .append("rect")
    .attr("x", 10)
    .attr("y", 10)
    .attr("width", 200)
    .attr("height", 100)
    .attr("fill", "green");

圆元素-circle

  • cx - 这是圆心的x坐标。
  • cy - 这是圆心的y坐标。
  • r - 这表示圆的半径。
svg
    .append("circle")
    .attr("cx", 100)
    .attr("cy", 100)
    .attr("r", 50)
    .attr("fill", "red");

椭圆-ellipse

  • cx - 这是椭圆中心的x坐标。
  • cy - 这是椭圆中心的y坐标。
  • rx - 这是圆的x半径。
  • ry - 这是圆的y半径。
svg
    .append("ellipse")
    .attr("cx", 200)
    .attr("cy", 50)
    .attr("rx", 100)
    .attr("ry", 50)
    .attr("fill", "yellow");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
d3.js是一个用于数据可视化的JavaScript库,它提供了丰富的功能和工具来创建交互式和动态的数据可视化图表。其中,svg的path标签在d3.js中被称为"可以组成任何形状的形状"。d3.js提供了多种path生成器,可以用来创建不同类型的路径。 以下是一些常用的d3.js svg path生成器: 1. d3.svg.line() - 线path生成器 2. d3.svg.line.radial() - 径向path生成器 3. d3.svg.area() - 区域path生成器 4. d3.svg.area.radial() - 径向区域path生成器 5. d3.svg.arc() - 圆与圆弧path生成器 6. d3.svg.symbol() - 符号path生成器 7. d3.svg.chord() - chord path生成器 8. d3.svg.diagonal() - diagonal path生成器 9. d3.svg.diagonal.radial() - diagonal radial path生成器 这些生成器可以通过调用相应的方法来生成路径,并且还可以使用其他方法来改变其属性。此外,这些生成器还支持链式调用,可以方便地进行多个操作。 范例: ```javascript // 创建一个svg元素 var svg = d3.select("body") .append("svg") .attr("width", 500) .attr("height", 500); // 创建一个线path生成器 var lineGenerator = d3.svg.line(); // 创建一个路径并设置其属性 var path = svg.append("path") .attr("d", lineGenerator([[0, 0], [100, 100], [200, 50]])) .attr("stroke", "black") .attr("fill", "none"); // 创建一个圆与圆弧path生成器 var arcGenerator = d3.svg.arc() .innerRadius(50) .outerRadius(100) .startAngle(0) .endAngle(Math.PI); // 创建一个路径并设置其属性 var path = svg.append("path") .attr("d", arcGenerator()) .attr("transform", "translate(250, 250)") .attr("fill", "red"); ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值