D3简单使用整理

1. d3特点:可定制化程度高,但是复用性低,开发的流程相对固定。

2. 创建基本流程:

    a) 引入d3库;

    b) 加载数据;

    c) 创建比例尺;

    d) 创建svg;

    e) 注入数据绘制图表,设置过渡动画,绑定交互事件;

    f) 添加辅助信息。(数轴,提示标签,气泡)。

3. 静态图表的创建

    基本图形的创建:

        柱状图 条形图 饼图 折线图 面积图  

4. 动态图表的创建

动态图表:图表在某一时刻形状,颜色,位置等的变化,用户可以看到变化的过程

实现过程用到过渡

    (1) transition()

    (2) duration()

    (3) ease()  

        里面有四个参数:llinear   cirde   elastic   bounce

    (4) delay()

5. 比例尺:

    (1) 线性比例尺:d3.scale.linear()

常用方法:

    1) d3.scale.linear()   创建一个线性比例尺

          .domain([0,500]) 定义域

          .range([0,1000]) 值域

    2) linear(x)  输入定义域 返回 值域

    3) linear.invert(y) 输入值域,返回定义域

    4) linear.domain([numbers]) 设定或获取定义域

    5) linear.range([values])设定或获取值域

    6) linear.rangeRound([valuses]) 四舍五入,结果是整数

    7) linear.clamp([boolean])     false不收缩  true 收缩

    8) linear.nice([count])  扩展成理想状态

    9) linear.ticks([ticks]) 默认是10 用于选取坐标刻度

    10) linear.ticksFormat(count,[format]) 设置定义域内具有代表的值的表示形式,如小数

 

    (2) 序数比例尺:d3.scale.ordinal()

常用方法:

    1) d3.scale.orinal() 构建一个序数比例尺

    2) ordinal(x) 返回y  

    3) ordinal.domain([values]) 设定和获取x

    4) ordinal.range([values]) 设定或获取y

    5) ordinal.rangePoint(interval,[padding])  设置值域

    6) ordinal.rangeRoundPoints(interval,[padding]) 和ranggePoint()一样,但是会将结果取正

    7) ordinal.rangeRoundBands(interval,[padding],[outerpadding]) 代替 range()设定值域

    8) ordinal.rangeRoundRoundBands()  结果取整

    9) ordinal.rangeBand() 返回使用rangeBands() 设定后每一段的宽度

    10) ordinal.rangeExtend()  返回一个数组,值域的最大值和最小值

6. update enter exit(当选择集和数据的数量关系不确定的情况)

    (1) enter:数据比元素多,会用到enter()

    (2) update

    (3) exit

7. 图表交互:在图形元素上设置一个或者多个事件监听器

8. 饼图:

    1) 声明数据dataset,但是不能直接用于绘制图形,绘制饼图的一部分需要知道一段弧起始角度和终 止角度。通过d3.layout.pie() 声明布局,他的返回值为一个函数,然后将dataset作为参数传给它, 返回的数据即为转换后可以用的数据,是一个对象(起始角度,终止角度,原数据)。

    2) 生成器:

    path() 通过定义一段路径来绘制各种图形

        弧生成器:

            d3.svg.arc() 弧生成器

            .innerRadius() 设置内半径

            .outerRadius() 设置外半径

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js 是一个流行的前端框架,而 D3.js 则是一个广泛使用数据可视化库。将这两个工具结合起来可以实现非常强大的数据可视化功能。 以下是使用 Vue.js 和 D3.js 的一些步骤: 1. 在项目中引入 D3.js 库,可以通过在 index.html 中添加 script 标签或者使用 npm 安装。 2. 创建 Vue.js 组件,包含一个 DOM 元素用于渲染图表。 3. 在 Vue.js 组件中使用 D3.js 来绘制图表。可以使用 D3.js 提供的各种图表类型,如折线图、散点图、柱状图等。 4. 在 Vue.js 组件中绑定数据,使图表能够动态更新。 下面是一个简单的示例,展示如何在 Vue.js 中使用 D3.js 绘制一个简单的柱状图: ``` <template> <div ref="chart"></div> </template> <script> import * as d3 from 'd3'; export default { mounted() { // 绘制数据 const data = [4, 8, 15, 16, 23, 42]; // 创建 SVG 元素 const svg = d3.select(this.$refs.chart) .append("svg") .attr("width", 400) .attr("height", 200); // 创建柱状图 svg.selectAll("rect") .data(data) .enter() .append("rect") .attr("x", (d, i) => i * 70) .attr("y", (d, i) => 200 - 10 * d) .attr("width", 50) .attr("height", (d, i) => d * 10) .attr("fill", "steelblue"); } } </script> ``` 这个示例中,我们在 Vue.js 组件中的 mounted 钩子函数中使用 D3.js 绘制了一个简单的柱状图。我们使用D3.js 提供的 select 和 append 方法来创建 SVG 元素和矩形元素,并使用数据绑定来绘制图表。在 Vue.js 组件的模板中,我们使用 ref 属性来引用 DOM 元素,然后在 mounted 函数中使用 d3.select 方法来选中该元素,从而在该元素上绘制图表。 需要注意的是,在实际的应用中,我们可能需要更复杂的数据处理和图表绘制逻辑,但是以上步骤可以作为一个基础框架来使用

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值