D3.js入门之D3?DataJoin的使用javascript技巧

DataJoin(数据连接)是D3中很重要的一个概念。上一章有提到D3是基于数据操作DOM的js库,DataJoin使我们能够根据现有HTML文档中的数据集注入、修改和删除元素。

上一章中我们用forEach循环的方式,画了三个圆,那么在D3中该怎样优雅的处理呢?

constcircles=[{text:1,color:"red"},{text:2,color:"green"},{text:3,color:"blue"}];svg.selectAll("circle").data(circles)//绑定数据.enter()//获取有数据没dom的集合.append("circle").attr("class","circle").attr("id",(d)=>`circle${d.text}`)//d表示data绑定的数据中的一项.attr("cx",(d)=>50*d.text).attr("cy",50).attr("r",20).attr("fill",(d)=>d.color);

constarr=[1,2,3,4,5,6,7,8,9];constupdate=d3.select("#dataEnter").selectAll("p").data(arr).text((d)=>d);

因为有5个p标签,所以从1开始渲染到5。

enter返回的是有数据没有dom的集合,也就是数据比dom多,所以enter和append基本上都是成对出现的。

d3.select("#dataEnter").selectAll("p").data(arr).enter().append("p").text((d)=>d);

exit返回的是有dom没有数据的集合,也就是dom比数据多,所以exit和remove基本上也是成对出现的。

constarr=[1,2,3]d3.select("#dataEnter").selectAll("p").data(arr).text((d)=>d).exit().remove();

如果datum()绑定的值是数组,那么整个数组会绑定到每个被选择的元素上。

而使用data()的话,那么会依次绑定数据。

constdatumDom=d3.select("#datum").selectAll("p").datum(circles).text((d)=>{console.log(d);returnJSON.stringify(d);});

selection.datum().append()如果选择集是空的,那么并不会添加元素,所以使用datum要确保选择项(dom)存在。实际项目中,图表都是从0到1绘制,所以一般都是使用data().append()。

constarr=[1,2,3];svg.selectAll("circle").data(arr).join("circle").attr("cx",(d)=>d*50).attr("cy",(d)=>d*50).attr("r",16).attr("fill","#F89301");join根据需要追加、删除和重新排列元素,以匹配先前通过选择绑定的数据,返回合并后的enter和update集合。

也就是说join是一个简化操作,我们可以把join分解一下:

constcircle=svg.selectAll("circle").data(arr);constnewCircle=circle.enter().append("circle").merge(circle).attr("cx",(d)=>d*50).attr("cy",(d)=>d*50).attr("r",16).attr("fill","#F89301");

这里有一个示例动态的显示了enter(绿色)、update(灰色)、exit(红色)效果:

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