D3 csv 返回行

2023-12-06

这是来自d3csv API 文档:

d3.csv("path/to/file.csv")
    .row(function(d) { return {key: d.key, value: +d.value}; })
    .get(function(error, rows) { console.log(rows); });

我怎样才能通过rows to a var data而不仅仅是console.log它。我只想要 csv 中的数据,但我不熟悉 JavaScript。


这里的答案仅适用于 d3 v4 及以下版本。从 d3 v5 开始,这种方法发生了变化。看这个答案以获得最新的解决方案。

请记住,这是不可能的d3.csv()返回任何数据,因为数据必须首先加载。这就是我们使用回调函数的原因,回调函数在数据加载后就会被调用(您可以通过研究“异步 javascript”了解更多信息)。

您仍然可以将加载的数据分配给变量,但必须记住异步函数的含义。

// This will be assigned to rows, once the data is ready.
var myData = null;

d3.csv("path/to/file.csv")
    .row(function(d) { return {key: d.key, value: +d.value}; })
    .get(function(error, rows) {
      console.log(rows);
      myData = rows;// Now you can assign it
      myDataIsReady()// Now you can draw it
    });

// IMPORTANT NOTE! Here myData is still null
console.log(myData);// will trace null

function myDataIsReady() {
  console.log(myData);// will trace the data that was loaded
  // Here you can draw your visualization
}

关键是,在加载并解析 CSV 之前,您无法绘制任何内容。因此,无论如何,您的绘图代码必须位于某个从d3.csv打回来。

可以构建您的代码,以便您永远不需要分配rows到一个变量(你只需传递rows进入绘制数据的函数)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

D3 csv 返回行 的相关文章

  • 关闭选项卡时要求确认[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我在某些浏览器上关闭页面时 我希望出现一个消息框 并询问我是否真的要关闭页面 有两个按钮 如果我单击No那么这个标签就不会被关闭 我怎样
  • 如何测试 javascript 闭包内的函数

    这似乎是不可能的 也可能是 但我正在尝试更多的 TDD 但我总是在闭包方面碰壁 假设我有以下内容 function createSomething init function privateMethod param return init
  • 了解设置 JQuery 变量

    了解设置 JQuery 变量 最近 我通过在 StackOverflow 上遇到的另一个问题寻找帮助 了解到如何设置 JQuery 变量 如下所示 您可以通过简单地调用变量来创建输入字段 并且锚变量似乎也定义了样式 var clicked
  • Web 串行 API - 未捕获(承诺中)DOMException:无法打开串行端口/所需成员 baudRate 未定义

    下面的代码可以在我的 Xubuntu 机器上运行 但现在我在 Kubuntu 上 它不再工作了 它不会打开端口 Arduino IDE 工作正常 可以向开发板写入代码 并且我可以在 Chrome 中选择设备 Arduino Uno 但当我尝
  • 在 Vue.js 中从父组件执行子方法

    目前 我有一个 Vue js 组件 其中包含其他组件的列表 我知道使用 vue 的常见方式是将数据传递给孩子 并从孩子向父母发出事件 但是 在这种情况下 我想在子组件中的按钮出现时执行子组件中的方法 parent被点击 哪种方法最好 一种建
  • 使用 Angular 下载具有动态 src 的脚本

    Angular 提供了通过动态名称动态加载模板的方法ng include 该部分中的内联 JS 和 CSS 可以正常加载 但没有一个好的方法来下载带有动态 url 的脚本 我们需要下载脚本 相对于调用它们的 html 部分的路径 即我们有一
  • Google App Engine:修改云运行环境

    我正在尝试部署一个使用自定义 Node js 服务器的 Next js 应用程序 我想将自定义构建变量注入应用程序 next config js const NODE ENV process env NODE ENV const envTy
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • Javascript正则表达式用于字母字符和空格? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一个
  • 如何将 Google Charts 与 Vue.js 库一起使用?

    我正在尝试使用 Vue js 库使用 Google Charts 制作图表 但我不知道如何添加到 div 这是我尝试做的 这是如何使用普通 javascript 添加图表 这是文档的代码示例 https developers google
  • 使用 KnockoutJs 映射插件进行递归模板化

    我正在尝试使用以下方法在树上进行递归模板化ko映射 插入 http knockoutjs com documentation plugins mapping html 但我无法渲染它 除非我定义separate每个级别的模板 在以下情况下
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • Grails 在 javascript 内的 GSP 站点中使用 grails var

    我有一个在 GSP 文件中的 javascript 代码中使用 grails 变量值的问题 例如 我有一个会话值session getAttribute selectedValue 我想在 javascript 代码部分使用这个值 我现在的
  • 如何在类似控制台的环境中运行 JavaScript?

    我正在尝试遵循这里的示例 http eloquentjavascript net chapter2 html http eloquentjavascript net chapter2 html and print blah 在浏览器中运行时
  • 有没有办法阻止 prettier / prettier-now 将函数参数分解为新行

    当使用 prettier prettier now 在保存时进行格式化时 当一个函数包装另一个函数时 它会中断到一个新行 我想知道是否有办法阻止这种行为 例如 期望的输出 app get campgrounds id catchAsync
  • 为什么 csv.DictReader 给我一个无属性错误?

    我的 CSV 文件是 200 Service 我放入解释器的代码是 snav csv DictReader open screennavigation csv delimiter print snav fieldnames 200 for
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示
  • 如何从图像输入中获取 xy 坐标?

    我有一个输入设置为图像类型

随机推荐

  • 用于批量重命名文件夹中文件的 Shell/Bash 快捷方式

    Shell Bash 中是否有一个快捷方式可以根据正则表达式或其他一些条件重命名文件夹中的所有文件 我在这里寻找的是我的文件夹文档 假设有 100 个具有以下命名约定的文本文件
  • “降级”MS dll 在升级时消失 - Windows Installer

    我们开发了一个通过 Windows Installer 分发的应用程序 该应用程序是使用 WiX 创建的 我们的客户可以从任何旧版本升级到最新版本 然而 我们的最新版本删除了 2 个 dll 这只能通过重新安装来纠正 有关 NuGet 包的
  • 如何配置 Socket.io 在 https 上的同一端口上运行?

    和往常一样 我绞尽脑汁地寻找问题的答案 所以我再次向你们所有的天才伸出援手 我已经使用 socket io 使用express 设置了一个 Node js 服务器 它使用端口 8443 运行良好 它运行良好 由于我的许多客户似乎不允许端口
  • 如何在 TPL 数据流中安排流控制?

    我正在尝试控制 TPL 数据流中的数据流 我有一个非常快的生产者和一个非常慢的消费者 我的真实代码更复杂 但尽管如此 这是一个非常好的模型 它重现了问题 当我运行它时 代码开始消耗内存 就像它已经过时一样 并且生产者上的输出队列会尽快填满
  • 2013 年密码哈希

    今天 最好 的解决方案是什么 这似乎是一个不错的选择 https defuse ca php pbkdf2 htm 但是升级到 PHP5 5 并使用它怎么样 http php net manual en function hash pbkd
  • 哪个标准措辞告诉我们 ref-to-const 临时生命周期扩展仅“有效一次”?

    我在聊天中看到了以下示例 include
  • CallKit 中的 CXStartCallAction isVideo 属性和本机视频按钮如何使用?

    我试图弄清楚当用户点击本机 iOS 通话屏幕中的视频按钮时会发生什么 我已经浏览了一些教程并查看了代码 它似乎不是委托方法或任何东西 CXStartCallAction有一个属性 var isVideo Bool 但我似乎无法弄清楚它是如何
  • 将变量从 bash 传递到可执行文件(使用 stdin 读取参数)

    我有以下内容test cppC 程序 include
  • XSLT 1.0 中的条件

    我有一个 XSLT 1 0 2 0 不是一个选项 样式表 它生成 XHTML 它可以根据参数生成完整的 XHTML 有效的文件或只是 div div 片段 旨在用于 包含在网页中 我的问题是在这两个中生成不同的 XML 声明 案例 对于独立
  • 通过比较 2 个相邻元素对数组进行分组

    我有一个对象数组 我想根据两个相邻元素的属性之间的差异对它们进行分组 该数组已按该属性排序 例如 原始数组 array a b c d e and a attribute 1 b attribute 3 c attribute 6 d at
  • 异步可插拔协议

    Using this作为参考 我正在尝试创建一个异步可插入协议 该协议仅暂时可供我的应用程序使用 并且未在系统范围内注册 我在用着CoInternetGetSession然后打电话RegisterNameSpace去做吧 然而 当我打电话给
  • 异步编程是否意味着多线程?

    让我们来谈谈 JavaScript 代码setInterval方法每个2 sec 我也有一个onblur某些控件的动画事件 在这种情况下onblur发生 动画 我可能会得到setInterval功能 Question 异步编程是否意味着多线
  • Nothing 等于 Default 吗?

    当我在 VB NET 中将变量设置为空时会发生什么 真的没有什么等于默认吗 还是我在这里遗漏了一些东西 如果它是值类型 如 Integer Double 等 则将变量设置为 Nothing 会将其设置为默认值 如果它是引用类型 它实际上会被
  • Spring Boot:热插拔不起作用

    我正在使用 Spring Boot 1 3 2 和 gradle 插件 在我的多部分项目中 HTML JS CSS 文件的热交换 重新加载不起作用 resources wro groovy application yml templates
  • Cosmos DB - 删除文档

    如何从 Cosmos DB 中删除单个记录 我可以使用 SQL 语法进行选择 SELECT FROM collection1 WHERE collection1 ts gt 0 果然所有文档 类似于行 都被返回 但是 当我尝试删除时这不起作
  • 如何配置代理设置以便 Eclipse 可以下载新插件?

    我正在使用 Eclipse 3 7 在 Web 代理后面的 Windows XP 环境中 我想安装Groovy 插件 on a 新解压的日食靛蓝 Eclipse Java EE Indigo M4 我添加了更新站点 to the Avail
  • 使用 lubridate 和 dplyr 将多列转换为日期

    我正在寻找一种简单的方法来将数据框中以 日期 开头的所有变量转换为日期lubridate dmy 它们目前是 dmy 格式的字符 我原以为 mutate if 或 mutate each 可以完成dplyr但我正在努力弄清楚如何做 您可以使
  • 在运行时更改一组特定车辆的传输信号强度

    我开始 大约一周以来 在 omnet 5 0 下使用静脉 4 4 我目前的任务是让车辆根据具体情况调整其传输范围 我确实阅读了很多像这样的问题 以及在其他主题 论坛中 ieee802 11p模块中的动态传输范围 车辆接收 RSU 范围外的信
  • 在R中绘制线段

    我有一些 x 和 y 坐标 我试图将它们绘制成线段 我从我认为应该有效的行为中得到了一些意想不到的行为 对于每个线段 都有一组起始坐标 x1 y1 和一组结束坐标 x2 y2 这是一个数据框 称为 df 如下所示 x1 y1 x2 y2 3
  • D3 csv 返回行

    这是来自d3csv API 文档 d3 csv path to file csv row function d return key d key value d value get function error rows console l