【d3.js】学习笔记2 Data

//引入文件
FileAttachment("temperature.csv")

res:FileAttachment {name: “temperature.csv”}

//显示文件的文本信息
FileAttachment("temperature.csv").text()

res:
`date,temperature
2011-10-01,62.7
2011-10-02,59.9
2011-10-03,59.1
2011-10-04,58.8
2011-10-05,58.7
2011-10-06,57.0
2011-10-07,56.7
2011-10-08,56.8
2011-10-09,56.7
2011-10-10,60.1
2011-10-11,61.1
2011-10-12,61.5
2011-10-13,64.3
2011-10-14,67.1
2011-10-15,64.6
2011-10-16,61.6
2011-10-17,61.1
2011-10-18,59.2
2011-10-19,58.9Show 348 truncated lines

//将文本用.csv()函数做成对象
FileAttachment("temperature.csv").csv()

Array(366) [
0: Object {date: “2011-10-01”, temperature: “62.7”}
1: Object {date: “2011-10-02”, temperature: “59.9”}
2: Object {date: “2011-10-03”, temperature: “59.1”}
3: Object {date: “2011-10-04”, temperature: “58.8”}
4: Object {date: “2011-10-05”, temperature: “58.7”}
5: Object {date: “2011-10-06”, temperature: “57.0”}
6: Object {date: “2011-10-07”, temperature: “56.7”}
7: Object {date: “2011-10-08”, temperature: “56.8”}
8: Object {date: “2011-10-09”, temperature: “56.7”}
9: Object {date: “2011-10-10”, temperature: “60.1”}
10: Object {date: “2011-10-11”, temperature: “61.1”}
11: Object {date: “2011-10-12”, temperature: “61.5”}
12: Object {date: “2011-10-13”, temperature: “64.3”}
13: Object {date: “2011-10-14”, temperature: “67.1”}
14: Object {date: “2011-10-15”, temperature: “64.6”}
15: Object {date: “2011-10-16”, temperature: “61.6”}
16: Object {date: “2011-10-17”, temperature: “61.1”}
17: Object {date: “2011-10-18”, temperature: “59.2”}
18: Object {date: “2011-10-19”, temperature: “58.9”}
19: Object {date: “2011-10-20”, temperature: “57.2”}
… more
]

//在csv对象中所有的项都是字符串,不具有相加减的能力
"62.7" + "59.9" // 122.6? Nope!

res:“62.759.9”

//通过修改typed属性将字符串改成数字类型
FileAttachment("temperature.csv").csv({typed: true})

Array(366) [
0: Object {date: 2011-10-01, temperature: 62.7}
1: Object {date: 2011-10-02, temperature: 59.9}
2: Object {date: 2011-10-03, temperature: 59.1}
3: Object {date: 2011-10-04, temperature: 58.8}
4: Object {date: 2011-10-05, temperature: 58.7}
5: Object {date: 2011-10-06, temperature: 57}
6: Object {date: 2011-10-07, temperature: 56.7}
7: Object {date: 2011-10-08, temperature: 56.8}
8: Object {date: 2011-10-09, temperature: 56.7}
9: Object {date: 2011-10-10, temperature: 60.1}
10: Object {date: 2011-10-11, temperature: 61.1}
11: Object {date: 2011-10-12, temperature: 61.5}
12: Object {date: 2011-10-13, temperature: 64.3}
13: Object {date: 2011-10-14, temperature: 67.1}
14: Object {date: 2011-10-15, temperature: 64.6}
15: Object {date: 2011-10-16, temperature: 61.6}
16: Object {date: 2011-10-17, temperature: 61.1}
17: Object {date: 2011-10-18, temperature: 59.2}
18: Object {date: 2011-10-19, temperature: 58.9}
19: Object {date: 2011-10-20, temperature: 57.2}
… more
]

1 + 1

res: 2

name = "fred"
[...name].reverse().join("")

res:“derf”

//{}中可以写一些表达式,结果用return返回
sum = {
  let s = 0;
  for (let i = 0; i < 10; ++i) {
    s += i;
  }
  return s;
}

res:sum = 45

//结构化的将文件的内容转化为csv对象
data = {
  const text = await FileAttachment("temperature.csv").text();
  const parseDate = d3.utcParse("%Y-%m-%d");
  return d3.csvParse(text, ({date, temperature}) => ({
    date: parseDate(date),
    temperature: +temperature
  }));
}

res:
data = Array(366) [
0: Object {date: 2011-10-01, temperature: 62.7}
1: Object {date: 2011-10-02, temperature: 59.9}
2: Object {date: 2011-10-03, temperature: 59.1}
3: Object {date: 2011-10-04, temperature: 58.8}
4: Object {date: 2011-10-05, temperature: 58.7}
5: Object {date: 2011-10-06, temperature: 57}
6: Object {date: 2011-10-07, temperature: 56.7}
7: Object {date: 2011-10-08, temperature: 56.8}
8: Object {date: 2011-10-09, temperature: 56.7}
9: Object {date: 2011-10-10, temperature: 60.1}
10: Object {date: 2011-10-11, temperature: 61.1}
11: Object {date: 2011-10-12, temperature: 61.5}
12: Object {date: 2011-10-13, temperature: 64.3}
13: Object {date: 2011-10-14, temperature: 67.1}
14: Object {date: 2011-10-15, temperature: 64.6}
15: Object {date: 2011-10-16, temperature: 61.6}
16: Object {date: 2011-10-17, temperature: 61.1}
17: Object {date: 2011-10-18, temperature: 59.2}
18: Object {date: 2011-10-19, temperature: 58.9}
19: Object {date: 2011-10-20, temperature: 57.2}
… more
]

//显示的是最近的日期,和最远的日期
d3.extent(data, d => d.date)

res: Array(2) [2011-10-01, 2012-09-30]

//显示的是最低的气温,和最高的气温
d3.extent(data, d => d.temperature)

res: Array(2) [43.6, 67.1]

//导入直方图的包
import {Histogram} from "@d3/histogram"
height = 200
Histogram(data, {value: d => d.temperature, width, height})

res:
请添加图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
d3.js中的data()方法用于将数据集绑定到选择集上,以便进一步操作。它接受一个数组作为参数,该数组包含要绑定到选择集上的数据。例如,假设我们有一个包含一些数字的数组,我们可以使用以下代码将其绑定到一个段落元素上: ```javascript var dataset = [1, 2, 3, 4, 5]; d3.select("p") .data(dataset) .text(function(d) { return d; }); ``` 在上面的代码中,我们首先选择一个段落元素,然后使用data()方法将数据集绑定到该元素上。接下来,我们使用text()方法将每个数据点的值设置为段落元素的文本内容。在这种情况下,段落元素将显示数组中的每个数字。 此外,enter()方法用于创建新元素,exit()方法用于删除元素。当数据集中的元素数量大于选择集中的元素数量时,enter()方法将创建新元素。当数据集中的元素数量小于选择集中的元素数量时,exit()方法将删除多余的元素。 ```javascript var dataset = [1, 2, 3, 4, 5]; d3.select("body") .selectAll("p") .data(dataset) .enter() .append("p") .text(function(d) { return d; }); ``` 在上面的代码中,我们首先选择body元素,然后使用selectAll()方法选择所有段落元素。接下来,我们使用data()方法将数据集绑定到选择集上,并使用enter()方法创建新的段落元素。最后,我们使用text()方法将每个数据点的值设置为段落元素的文本内容。在这种情况下,我们将创建5个新的段落元素,每个元素都包含数据集中的一个数字。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值