美文网首页
vue + d3系列 -- 初始篇

vue + d3系列 -- 初始篇

作者: 神话降临 | 来源:发表于2018-11-06 09:41 被阅读0次

安装

npm install d3 --save-dev

使用

在.vue组件里引用

import * as d3 from 'd3';

在我看来,d3在很大的程度上借鉴了jquery,尤其是关于选择器这一块,当然现在d3在数据图表展现方面完全是自己的一套东西,你可以把它看成是一个强大的javascript函数库,用来做数据可视化的。
d3强大体现在它的可定制性,你可以发挥你的想象,运用d3提供的基础api,做到你想要的图表

几个基础知识介绍

在做图之前我们先了解一下基础知识点

选择集(可以参考jquery选择器,用法基本一致)
 d3.select()  //是选择所有指定元素的第一个
 d3.selectAll() //是选择指定元素的全部

举个例子

       <div id="force">
            <p id="p-one">我是page one</p>
            <p class="commonP">我是page two</p>
            <p class="commonP">我是page three</p>
        </div>
       <script>
            //选择第一个p
            d3.select("#force").select("#p-one").style("color","red")
            //选择第二个p sellect一个class后,默认第一个
            d3.select("#force").select(".commonP").style("color","blue")
            //selectAll选择全部class节点
            d3.select("#force").selectAll(".commonP").style("font-size","24px")
       </script>

效果图


image.png
绑定数据--把数据绑定到dom节点上
datum() //绑定一个数据到选择集上
data() //绑定一个数组到选择集上,数组的各项值分别与选择集的各元素绑定

举个例子

 <div>
        <div id="force">
            <p></p>
            <p></p>
            <p></p>
        </div>
 </div>

<script>
    let strArr = ["apple","orange","banana"]
          d3.select("body")
            .selectAll("p")
            .data(strArr)
            .text(function (item,index) { 
                return index + "." + item
          })
</script>

看上面的例子结合前面的知识点,我们选择body下面的p,然后绑定数组strArr到p上,这就是把数据绑定到节点上,然后遍历一下,item是绑定数组的值,index是数组的下标
如果strArr不是数组是一个字符串或者一个值,那么这个值会轮流与选中元素绑定,有兴趣的同学可以试一下,注意绑定一个值使用dataum

效果图
image.png
append,insert,remove
           //append-- 在选择元素后插入元素
            d3.select("#force").select("#p-one").append("p").text("我是append新增元素")
           //insert-- 在选择元素前面插入元素
            d3.select("#force").insert("p","#p-one").text("我是insert新增元素")
           //删除元素
            d3.select("#force").selectAll(".commonP").remove()

效果图


image.png

坐一个简单的图表

介绍一下画布

html5画布有两种,svg和canvas

什么是svg

svg是一种二维的可缩放的矢量图形,用xml格式定义的图形,可直接放在html中使用

svg特点
  • 矢量图形放大缩小不会失真
  • 可对元素添加javascript事件处理
  • 可在节点上直接修改属性
  • 不能用于游戏开发
什么是canvas

canvas通过js来画2D的图形

canvas特点

1.放大会失真
2.不支持js事件处理
3.能以.jpg .png格式保存
4.适合游戏开发

从上面的总结可以看出来这两个画布各有优缺点,当然其实echarts用的就是canvas,里面模拟的有事件交互,用起来也是很不错的

下节画图

相关文章

  • vue + d3系列 -- 初始篇

    安装 使用 在.vue组件里引用 在我看来,d3在很大的程度上借鉴了jquery,尤其是关于选择器这一块,当然现在...

  • VUE系列---VUE+indexDB+JSZip+在线预览zi

    推荐我的vue教程:VUE系列教程目录 温馨连接提示:vue中级之路篇系列教程:VUE系列---VUE+index...

  • Vue源码分析(4)--实例的初始化过程

    前言 本文是vue2.x源码分析的第四篇,主要讲解vue实例的初始化过程init*系列! 先看调用形式 1、分析i...

  • VUE系列教程目录

    VUE系列教程目录 vue入门之路篇系列教程: vue最简单的入门教程+实战+Vue2+VueRouter2+we...

  • VUE系列教程目录

    VUE系列教程目录 vue入门之路篇系列教程:vue最简单的入门教程+实战+Vue2+VueRouter2+web...

  • vue生命周期理解

    1.Vue生命周期是什么? Vue实例在被创建时,会经历一系列的初始化过程:从开始创建-》初始化数据=》编译模板=...

  • vue生命周期

    vue生命周期: 每个Vue实例在被创建之前都要经过一系列的初始化过程,这个过程就是vue的生命周期。 在Vue的...

  • D3学习系列(三) 桑基图

    D3学习系列 D3学习系列(一) 基础知识与柱形图绘制D3学习系列(二) 弦图绘制 「前言」 网上关于桑基图的例子...

  • vue生命周期

    vue生命周期:每个Vue实例在被创建之前都要经过一系列的初始化过程,这个过程就是vue的生命周期。

  • vue生命周期

    每个Vue实例在被创建之前都要经过一系列的初始化过程,这个过程就是vue的生命周期

网友评论

      本文标题:vue + d3系列 -- 初始篇

      本文链接:https://www.haomeiwen.com/subject/bctexqtx.html