交互式数据可视化-D3.js(一)

在D3中会穿插SVG 方便大家对D3对使用

SVG简介

可缩放矢量图(scalabel vector graphics),是用于描述二维矢量图形的一种图形格式,是由W3C制订的开放标准。SVG使用XML格式来定义图形,IE8版本以后的浏览器绝大部份都支持SVG。

图形元素

使用SVG中的图形元素,可以在HTML文件中嵌入,也可以单独写成文件来使用。如:XXX.svg

    <svg width="300" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg">
        
    </svg>

其中,width和height表示绘制区域的宽高,varsion表示版本号。需要绘制的图形都要添加到这一组SVG之间。
SVG中预定了七种形状元素:

  1. 矩形 <rect>

  2. 圆形 <circle>

  3. 椭圆 <ellipse>

  4. 线段 <line>

  5. 折线 <polyline>

  6. 多边形 <polygon>

  7. 路径 <path>

这些元素表示形状的参数各有不同,但也有一些相同的属性。下面介绍这些元素的参数和示例。

矩形

矩形的参数共有6个:

  • x: 矩形左上角X坐标

  • y: 矩形右上角Y坐标

  • width: 矩形的宽度

  • height: 矩形的宽度

  • rx: 对于圆角矩形,指定椭圆在X方向的半径

  • ry: 对于圆角矩形,指定椭圆在X方向的半径

下面分别是绘制一个直角和圆角矩形:


    <svg width="300" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg">
        <rect x="10" y="10" width="100" height="70" fill="#000"></rect>
        <rect x="120" y="10" width="100" height="70" fill="#000" rx="40" ry="20"></rect>
    </svg>
圆形和椭圆形

圆形多产生是3个:

  • cx: 圆心的X坐标

  • cy: 圆心的Y坐标

  • r: 圆的半径

椭圆的参数和圆形类似,只是半径分为水平半径和垂直半径:

  • cx: 圆心的X坐标

  • cy: 圆心的Y坐标

  • rx: 椭圆的水平半径

  • ry: 椭圆的垂直半径

下面分别是绘制一个圆形和椭圆形:

    <svg width="300" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg">
        <circle cx="45" cy="45" r="35" fill="#0ff"></circle>
        <ellipse cx="155" cy="45" rx="55" ry="35" fill="#f0f"></ellipse>
    </svg>
线段

线段的参数是起点和终点的坐标:

  • x1: 起点的X坐标

  • y1: 起点的X坐标

  • x2: 终点的X坐标

  • y2: 终点的X坐标

绘制一个线段:

<svg width="300" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg">
        <line x1="10" y1="10" x2="100" y2="10" style="stroke:#000; stroke-width:5"></line>
</svg>
多边形和折线

多边形和折线意义都只有1个参数:

  • points: 一系列的坐标点

不同之处多边形将会和折线连起来折线不连。下面分别是绘制一个多边形和折线:

    <svg width="600" height="600" version="1.1" xmlns="http://www.w3.org/2000/svg">
        <polygon points="100, 20 20, 90 60, 160 140, 160 180, 90" style="fill: #fff; stroke: #0f0; stroke-width: 5;"></polygon>
        <polyline points="100, 20 20, 90 60, 160 140, 160 180, 90" style="fill: #fff; stroke: #0f0; stroke-width: 5;" transform="translate(200, 0)"></polyline>
    </svg>
路径

<path>标签功能最丰富,以上图形都可以使用路径制作出来,用法与折线类似给出一个坐标点在坐标前添加一个英文字母,表示如何运动到此坐标点点。英文字符按照功能分为五类。

  • 移动类

    • M=moveto: 将画笔移动到指定的坐标

  • 直线类

    • L=lineto: 绘制直线到指定坐标

    • H=horizontal lineto: 绘制水平直线到指定坐标

    • V=vertical lineto: 绘制垂直直线到指定坐标

  • 曲线类

    • C=curveto: 绘制三次贝塞尔曲线经过指定的控制点到达终点坐标

  • 弧线类

    • A=elliptical arc: 绘制椭圆曲线到指定坐标

  • 闭合类

    • Z=closepath: 绘制一条直线连接终点和起点。用来闭合图形

路径这里只做介绍。有兴趣的可以去[MOZ]: https://developer.mozilla.org... 了解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目:使用AngularJs编写的简单 益智游戏(附源代码)  这是一个简单的 javascript 项目。这是一个拼图游戏,也包含一个填字游戏。这个游戏玩起来很棒。有两个不同的版本可以玩这个游戏。你也可以玩填字游戏。 关于游戏 这款游戏的玩法很简单。如上所述,它包含拼图和填字游戏。您可以通过移动图像来玩滑动拼图。您还可以选择要在滑动面板中拥有的列数和网格数。 另一个是填字游戏。在这里你只需要找到浏览器左侧提到的那些单词。 要运行此游戏,您需要在系统上安装浏览器。下载并在代码编辑器中打开此项目。然后有一个 index.html 文件可供您修改。在命令提示符中运行该文件,或者您可以直接运行索引文件。使用 Google Chrome 或 FireFox 可获得更好的用户体验。此外,这是一款多人游戏,双方玩家都是人类。 这个游戏包含很多 JavaScript 验证。这个游戏很有趣,如果你能用一点 CSS 修改它,那就更好了。 总的来说,这个项目使用了很多 javascript 和 javascript 库。如果你可以添加一些具有不同颜色选项的级别,那么你一定可以利用其库来提高你的 javascript 技能。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值