返回顶部
首页 > 资讯 > 数据库 >D3数据连接之“更新”和“退出”
  • 106
分享到

D3数据连接之“更新”和“退出”

2024-04-02 19:04:59 106人浏览 安东尼
摘要

摘要: 昨天的推送中,我们阐述了数据连接的进入阶段。本文中,我们学习一下其更新和退出机制。 本文选自《图说D3:数据可视化利器从入门到进阶》。  让我们回到之前那个“怪咖”Frank那里,重新审视

摘要: 昨天的推送中,我们阐述了数据连接的进入阶段。本文中,我们学习一下其更新和退出机制。 本文选自《图说D3:数据可视化利器从入门到进阶》。

  让我们回到之前那个“怪咖”Frank那里,重新审视一下他的那些小报封面数据,看一下Frank手头前3个月的数据,以及我们之前做过的事情。
  到目前为止,我们只让1月的数据“进入”页面,并渲染出一系列文本元素。
  让文本进入页面。
        D3数据连接之“更新”和“退出”
  页面上有文本元素,每个都表示janData中的一个数据点。现在我们要更新页面,显示2月的数据。就像“进入”一样,我们选中页面上的文本元素,并用data()方法调用数据连接。区别在于,这次页面上已经有文本元素了。所以,我们要将数据绑定到已经存在的数据上,而不是创建新的元素。
        D3数据连接之“更新”和“退出”

  这就是“更新”。我们使用新的数据更新元素。现在,由于新数据被绑定到元素上,我们可以通知页面顶部的文本读取“Jennifer Aniston”,而不是“Angelina Jolie”(将在后面的章节描述具体细节)。
  注意,此处并没有update()的方法。通过enter()方法调用,你创建了一个特殊的对象占位集,每一个占位表示数据集中一个尚未绑定的数据点。但是,为了更新页面上已有的元素,你并不需要这么做。只要创建这些元素的选择集,就可以通知它们基于最新绑定的数据进行渲染了。
  你可能会很好奇,上图中那个很醒目的问号是什么?其存在的理由是:2月的数据有5个点,而1月只有4个。那么,这第5个数据点该如何操作?它还没有绑定任何元素啊!
  如果你猜这时它会自动“进入”页面,那就错了。我们可以像以前那样使用enter()方法调用。
D3数据连接之“更新”和“退出”

  但是,这次该方法只会创建一个没有元素关联的数据点,而会不像以前那样创建5个全新的占位元素。D3这时可以很好地满足你的要求。
  现在,我们像往常一样调用就可以新建一个文本元素,数据和元素又再次全部匹配了。
D3数据连接之“更新”和“退出”
  很好,我们将目光移到3月。我们要做的还是选中页面上的所有文本元素,然后将3月的数据连接上去。
D3数据连接之“更新”和“退出”

  但是,由于3月只有4条数据,所以数据点实际上比待绑定的元素还要少。有数据进来的元素可以很简单地得到更新,但是那些没有匹配到数据的元素呢?现在就是“退出”出场的时候了。我们需要删掉第5个文本元素(就像离开舞台的演员一样),exit()方法就能派上用场了。一般而言,执行完数据连接后,我们可以使用exit()方法来选中所有不再有数据绑定的元素。然后,我们可以利用另外一个方法remove()来移除它。
D3数据连接之“更新”和“退出”

  就这样,我们介绍了数据连接的整个生命过程——进入、更新和退出。数据连接的基础概念非常简单:图形总是出现在页面上,不断变换,最终离开页面,就像剧场舞台上的演员,登台,表演,退场。D3通过将数据点和元素进行连接、绑定、比较来处理这3种状态的轮换 。其只可能出现以下3种结果。

  1. 数据点比元素多。这将触发“进入”状态(也有可能是“更新”状态)。

  2. 数据点和元素一样多。这将触发“更新”状态。

  3. 元素比数据点多。这将触发“退出”状态(也可能是“更新”状态)。

但是,也有和剧场这个比喻不一样的地方:在一场表演中,演员必须遵循登台、表演、退场这样的节奏,但是在D3中,你不一定要全部经历这3种状态的变迁。有时候,你会用D3制作一个静态的图形,只需要调用enter()即可。在其他场景下,数据点和元素保持一致,所以你永远不需要调用(实际上,我们的条形图就是这种情况)。

  本文选自《图说D3:数据可视化利器从入门到进阶》,点此链接可在博文视点官网查看此书。
                   D3数据连接之“更新”和“退出”
  想及时获得更多精彩文章,可在微信中搜索“博文视点”或者扫描下方二维码并关注。
                      D3数据连接之“更新”和“退出”


您可能感兴趣的文档:

--结束END--

本文标题: D3数据连接之“更新”和“退出”

本文链接: https://lsjlt.com/news/42782.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • D3数据连接之“更新”和“退出”
    摘要: 昨天的推送中,我们阐述了数据连接的进入阶段。本文中,我们学习一下其更新和退出机制。 本文选自《图说D3:数据可视化利器从入门到进阶》。  让我们回到之前那个“怪咖”Frank那里,重新审视...
    99+
    2024-04-02
  • D3数据连接:进入
    引言:数据连接是D3中的面包和黄油。D3不提供制图的基础函数,相反,它靠的是数据连接。数据连接可以让页面元素进入网页,一旦进入,可以修改、更新及退出。本文将主要介绍“进入”部分。本文选自《图说D3:数据可视...
    99+
    2024-04-02
  • 如何更新或删除数据库连接
    如何更新或删除数据库连接,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。当您创建数据库连接后,Dreamweaver 会将连接信...
    99+
    2024-04-02
  • Mybatis之批量更新数据
    Mybatis之批量更新数据(批量update) 前言 当我们使用mybatis的时候,可能经常会碰到一批数据的批量更新问题,因为如果一条数据一更新,那每一条数据就需要涉及到一次数据库的操作,包括网络...
    99+
    2023-09-12
    mybatis 数据库 mysql
  • oracle10g在通过Enterprise Manager Console 连接数据库时出现闪退
      在win7 64位旗舰版上安装oracle 10数据库服务端、客户端,通过Enterprise Manager Console 连接数据库时输入后用户名和口令后,点击确认时会出现闪退 ...
    99+
    2024-04-02
  • MongoDB之数据更新(修改器)
    对MongoDB数据库而言,数据的修改会牵扯到内容的变更,结构的变更(包含有数组)。所以在进行MongoDB设计的时候就提供有一系列修改器的应用。之前使用的“$set”就是一个修改器。 1、$inc:主要...
    99+
    2024-04-02
  • PHP之 连接MySql数据库
    上一节已经成功配置了php+mysql开发环境(https://mp.csdn.net/mp_blog/creation/editor/129432310),下面将进行实战连接数据库 一,打开sublime3编辑器,配置php开发环境 1....
    99+
    2023-09-01
    数据库 php mysql
  • 使用@CachePut 更新数据库和更新缓存
    目录关于更新缓存 ,要注意两点1、@Cacheable的key2、@CachePut的返回值缓存的CachePut冲突Cacheable可以分解成两个关于更新缓存 ,要注意两点 1、...
    99+
    2024-04-02
  • navicat新建连接为什么会带有之前的数据
    navicat 连接时出现之前数据可能是因为:1. 之前连接缓存;2. 自动连接;3. 连接字符串指定了特定 schema。解决方法:清除连接缓存、禁用自动连接、编辑连接字符串或手动选择...
    99+
    2024-04-24
    navicat
  • oracle超出数据库连接(ORA-12519)
    1、使用sqlplus登录,查询当前的连接数 select count(*) from v$process; 2、设置的最大连接数(默认值为150) select value from ...
    99+
    2024-04-02
  • 数据库的左连接、右连接和全连接用法
    这篇文章主要讲解了“数据库的左连接、右连接和全连接用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据库的左连接、右连接和全连接用法”吧! ...
    99+
    2024-04-02
  • DDC从新配置连接数据库
    在注册表中查找connectionstring来修改数据库连接串,修改数据库连接地址。重启所有citrix的服务使用下面的命令查看monitor和logging的connectionstring是否正确Ge...
    99+
    2024-04-02
  • plsql怎么重新连接数据库
    在PL/SQL中重新连接到数据库的方式取决于你是使用什么工具或环境来运行PL/SQL代码。一般来说,你可以使用以下步骤重新连接到数据...
    99+
    2024-05-14
    plsql
  • 如何使用@CachePut更新数据库和更新缓存
    小编给大家分享一下如何使用@CachePut更新数据库和更新缓存,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!关于更新缓存 ,要注意两点1、@Cacheable的...
    99+
    2023-06-22
  • unity连接mysql数据库-最新详细
    文章目录 写在前面MysqlMySQL Installer for WindowsConnector/NETMySQL for Visual Studio Visual Studiouni...
    99+
    2023-09-01
    mysql dba unity3d unity visual studio
  • C# (江湖小新)- 连接Mysql数据库
    依赖插件 MySql.Data安装  使用之前需要先在 vs中安装MySql.Data 插件,本文采用 Nuget 方式安装 ,步骤如下: 选中项目右键——》管理Nuget程序包  输入 MySql.Data ,搜索安装即可 ...
    99+
    2023-10-04
    数据库 c# .net wpf mysql
  • 数据库之取出表中最新时间的数据
    以下内容仅做备忘 假设有以下表格【FM_ALARM】 RES_ID : 资源的唯一标识 OCCUR_TIME : 发生时间(毫秒时间戳) SEVERITY : 告警级别 数据会实时变更,我要取出所有数据的最...
    99+
    2024-04-02
  • Node.js数据库操作之连接MySQL数据库(一)
    介绍 首先说来介绍一下MySQL(非广告)。MySQL是由瑞典的MySQL AB公司开发,后来被甲骨文公司收购。和Oracle一样,MySQL是一个典型的关系型数据库,在百度百科中,把MySQL称为是最好的...
    99+
    2022-06-04
    数据库 操作 Node
  • Sql server 新建连接服务器连接第三方数据库
    ...
    99+
    2024-04-02
  • MySQL学习之数据更新操作详解
    目录UPDATE 语句UPDATE 语句练习①UPDATE 语句练习②UPDATE 语句练习③UPDATE 语句的表连接UPDATE 语句练习④UPDATE 语句 UPDATE 语句用于修改表的记录,语法如下 UPDAT...
    99+
    2022-08-08
    MySQL数据更新操作 MySQL数据更新
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作