D3.js选择集与数据详解—1使用datum()绑定数据三少爷的剑123

上面的概念可能难以理解,不要着急,接下来依次剖析datum()和data(),来看看数据绑定是如何工作的,它们又有什么不同之处。虽然不理解原理也可直接使用这两个函数,但遇到意料之外的结果时往往会不知道如何调试,无从下手,因此大致知道其工作过程是必要的。

datum()绑定数据的方法很简单,在D3中使用较少,但能帮助你理解数据D3是如何绑定数据的。请先看下面的代码:

Fire

Water

Wind

这段代码中,使用datum()将数值7绑定到了选择集上,然后在控制台输出该选择集。在浏览器的控制台中,可以看到如图1所示的输出结果。其中包含有三个p元素,正是使用selectAll选择的三个段落,还可看到选择集的大小(length)、父节点(parentNode)等信息。

图1

展开任意一个p元素,其各属性如图2所示。可以看到,经过绑定之后,多出了一个__data__属性,其数值7正是刚才绑定的数据。展开其他的p元素,会发现每一个元素中都多出了一个__data__,并且数值都是7。

图2

那么datum()的工作过程就再明了不过了,即对于选择集中的每一个元素,都为其增加一个__data__属性,属性值为datum(value)的参数value。此处的value并非一定要是number(数值)型,也可以是string(字符串)、boolean(布尔型)和object(对象),无论是什么类型,其工作过程都是给__data__赋值。如果使用undefined和null作为参数,则将不会创建__data__属性。下面来看看datum()的源代码:

d3_selectionPrototype.datum=function(value){returnarguments.lengththis.property("__data__",value):this.property("__data__");};由上面的源代码可以知道,其实datum()是用D3的property()函数实现的:如果有参数value,则调用property给当前对象添加一个__data__属性,否则返回__data__属性值。下面来试验一下没有参数的情形:

varp=d3.select("body").selectAll("p");p.datum(7);console.log(p.datum());//在控制台输出被绑定的数据这段代码将在控制台输出数字7,正是被绑定的数据。现有有一个问题,数据被绑定在选择集上后,该如何使用呢,或者说D3希望我们如何使用呢。下面举一个例子,使用被绑定的字符串,替换掉原字符串:

Fire

Water

Wind

这段代码中,使用datum()绑定了一个字符串Thunder到选择集上,然后调用text()替换字符串。text()用于设置或获取被选择元素的文本。text()的参数是一个无名函数function(d,i),这两个参数分别代表数据(datum)和索引(index)。这两个参数的名称也可以不使用d和i,但意义是不变的。在D3中,建议写成d和i。最后,在这个无名函数里返回了由d和i结合而成的字符串,中间加一空格。结果如图3所示,网页中的三个段落元素p的字符串被替换成:Thunder0、Thunder1、Thunder2。

图3

由结果可知,无名函数的两个参数d和i,d表示被绑定的数据,i表示的索引号是从0开始的。在D3中使用被绑定的数据都是使用上述形式,即定义一个无名函数function(d,i),然后在函数的实现中使用d和i。D3还有一个特性,能使被绑定的数据传递给子元素。对前一段代码稍作修改:

p.datum("Thunder").append("span")//在每一个被选择元素后添加元素span.text(function(d,i){return""+d;});结果如图4所示,各段落元素的末尾被添加了span元素,内容为Thunder。

图4

下面使用console.log在控制台输出选择集p,输出结果如图5所示。可以看到,子元素span里也含有属性__data__,属性值也是字符串Thunder。于是可以得出一个结论:在被绑定数据的选择集中添加元素后,新元素也会具有被绑定数据。

THE END
1.datum是什么意思,datum中文翻译怎么读datum (n.) proper Latin singular of data (q.v.).双语例句1. "Data" is the Latin plural form of "datum". data在拉丁文中是datum的复数形式。 来自柯林斯例句 2. 'Data' is the Latin plural form of 'datum'. data在拉丁文中是datum的复数形式。 来自辞典例句 3. The piezpmetric head ishttps://3325.cn/dict/datum/
2.data单复数一样吗data和datum谁是单数形式,谁是复数形式?首先,datum 是单数, data是datum的复数形式。(类似 medium 和 media) 其次,datum很少被用到了,现在大家往往用data。data是个单数不可数词语。类似sand 和water。以下说明data为什么是单数。 在英语学界,关于data是单数还是复数本来就有很多的争议。 有些人说data就是复数,而datum是data的单数形式。理由是,像英语中https://blog.csdn.net/weixin_35231842/article/details/112037365
3."data"和"datum"的差別在哪裡?HiNative高評價回答者你知道如何提升自己的外語能力嗎?你要做的就是讓母語者來訂正你的寫作!使用HiNative,https://tw.hinative.com/questions/18745127
4.Geodeticdatum的解释和发音「欧路词典」英汉资料zī liàodata;datum; information; material 测地学的cè dì xué de geodesic,geodetic 分组资料fèn zǔ zī liàoclassifieddata 感觉材料gǎn jiàocái liào sensedatum 史料shǐ liàohistoricaldata, historical materials 仿真数据fǎng zhēn shù jù emulateddata; simulationdata https://www.frdic.com/mdicts/en/Geodetic_datum.html
5.datum是什么意思,datum的翻译,datum音标读音用法和例句datum相关词 英汉例句 "Data" is the Latin plural form of "datum". data在拉丁文中是datum的复数形式。 'Data' is the Latin plural form of 'datum'. data在拉丁文中是datum的复数形式。 The piezpmetric head is also measured from the same datum level. http://www.ndsq.cn/ndsq_en_cn_dict/396825---.html
6.Datum–TheDataMarketplacepoweredbyBlockchainUnlock the $120 Billion data economy. Datum is the decentralized marketplace for social and IoT data. Powered by Ethereum, BigchainDB and IPFS.https://webapp.datum.org/
7.data的意思在线翻译,解释data中文英文含义,短语词组,音标读音data 共找到1项关于data意思的翻译解释和用法说明 同义词 ?evidence ?information ?proof 相关词 ?data ?database ?viewdata 常用短语 ?data bank ?data carrier ?data diddling ?data processing ?data processor ?data sethttps://odict.net/data/
8.data的复数是datum?datum的复数是data?解答一 举报 data本身是复数 它的单数形式是datum 解析看不懂?免费查看同类题视频解析查看解答 相似问题 datum的复数是data? data的复数是datum?datum的复数是data? data的复数形式是datas还是data? 特别推荐 热点考点 2022年高考真题试卷汇总 2022年高中期中试卷汇总 2022年高中期末试卷汇总 2022年高中月考试卷汇https://www.zybang.com/question/22393c9120db5c77a801adecfaf4fe16.html
9.data什么意思及同义词翻译data的意思用法同义词例句沪江词库精选data是什么意思、英语单词推荐、用法及解释、中英文句子翻译、英语短语 英音 ['deit?] ; 美音 ['dɑ:t?] ; 名词1.不可数名词: 数据;资料;材料2.不可数名词:(储存在计算机中的)数据资料3. datum的复数 单词分析 这些名词都含有“资料、信息”之意。information和data作“资料”解时,https://www.hujiang.com/ciku/Data/
10.data什么意思及同义词翻译data的意思四级英语词汇3. datum的复数 单词分析 这些名词都含有“资料、信息”之意。information和data作“资料”解时,前者仅指所获得、提供或描述的慨况,而不指具体的数据或资料,后者则指具体的资料。data是datum的复数形式,本义指作为计算和测量基础的资料。 message指通过书写、谈话和信号等方式所进行的通讯“信息”。 英语解释 https://www.isixue.com/article/400863/
11.词汇精选:data的用法和辨析词汇精选:data的用法和辨析 一、详细释义: n. data的单数;数据,资料 例句: Each datum has a unique key. 每个数据都有一个独特的键。 例句: Let's get back to the datum to be explained. 让我们回到要解释的这份资料。 二、相关短语: sense datumhttps://www.hjenglish.com/new/p801169/
12.WaterDatumNOAA CO-OPS is the source for Water Datum Data and it can be found on their website Specific questions about Water Datums should be directed to the CO-OPS Datums team at the following email address: nos.coops.datums@noaa.gov Direct links to Louisiana Tide Stations 8761108 BAY GARDENE, http://c4g.lsu.edu/index.php/about-us/research-projects/water-datums
13.data是什么意思data在线翻译英语读音用法例句data的英文翻译是什么意思,词典释义与在线翻译: 详尽释义 n.(名词) 资料,材料 数据,数据资料,数字(datum的复数) 论据 事实,知识 已知条件 信息 已知数 查看更多 双解释义 英英释义 data的用法和样例: 例句 用作名词 (n.) The data should be updated once a week. https://dict.cn/data
14.data是什么意思data中文意思data英译汉“data”的中文翻译 词典解释 美音:[ ] 英音:[ ] 名词n. 1. 资料,数据(datum的复数) 相关词语 database management systemdatabase reporting softwaredatabase user interface and query softwaredatabusdatacommunication protocoldatacompression softwaredataconversion softwareData Encryptiondataencryption softwareData https://tran.httpcn.com/Html/EnglishtoChinese/24/data_pwililpwazuypwkoilmepw.html
15.DATUMDefinition&MeaningMerriamThe meaning of DATUM is something given or admitted especially as a basis for reasoning or inference. How to use datum in a sentence. Is data singular or plural?: Usage Guidehttps://www.merriam-webster.com/dictionary/datum
16.DATUMdatum在《牛津英西词典》中的词汇 单语范例(未经PONS编辑处理) datum在《牛津英西词典》中的词汇 词条datum在英语?西班牙语中的译文 datum<pldata>[美?de?d?m,?d?d?m,英?de?t?m]名词书 datum datom 参见:data data[美,,英]plof名词 https://zh.pons.com/%E7%BF%BB%E8%AF%91/%E8%8B%B1%E8%AF%AD-%E8%A5%BF%E7%8F%AD%E7%89%99%E8%AF%AD/datum
17.每日单词整理1. a clear appearance. 2. A manifestation of disease. Everything has some external physicalmanifestation. Depression has physicalmanifestationinside the brain. He say his new job is anothermanifestationof his dedication to his community. 4 statistic =data point =datum statistic data https://m.douban.com/note/782278150/
18.data是什么意思data怎么读data翻译dataprocessing is from 1954. 展开全部 双语例句 1. "Data" is the Latin plural form of "datum".data在拉丁文中是datum的复数形式。 2. If they value thesedata, let them pay for them. 他们要是看重这些数据,就让他们出钱买。 3. We gained a rich supply ofdatawhich would normally be inaccessibhttps://www.kaoyan365.cn/dict/data.html