将数据从 csv 复制到 D3 中的数组中

2024-04-21

我知道这个问题以前曾被问过,但由于某种原因,他们的解决方案对我不起作用。

我正在尝试使用 CSV 文件中的数据填充两个数组,其中:

name,value
alpha,34
beta,12
delta,49
gamma,89

我现在正在尝试的是

var field1=[];
var field2=[];

d3.csv("data.csv",function(csv){
            csv.map(function(d){
                field1.push(d.name);
                field2.push(+d.value);
            })
        });

console.log("field1",field1);
console.log("field2",field2);

当我在浏览器上查看控制台时,我看到:

字段 1 数组 [ ] field2 数组 [ ]

where:

field1:
Array[0]
  0:"alpha"
  1:"beta"
  2:"delta"
  3:"gamma"

field2:
Array[0]
  0:34
  1:12
  2:49
  3:89

但是,当我尝试访问 field1[0] 时,我得到的值是未定义的

field1 undefined

我猜发生的情况是 field1 数组有一个“name”列数组,但我也无法通过 field[0][0] 访问第一个元素。我得到的是:

TypeError: field1[0] is undefined 

我对 JavaScript 很陌生,我似乎不明白为什么数组没有正确填充为一维数组,或者我是否做错了什么。我知道我可以在访问每行 csv 时迭代每一行,但我想将 csv 值存储在数组中以便在脚本中全局使用。

我浏览过的链接是:

  • https://github.com/mbostock/d3/wiki/CSV https://github.com/mbostock/d3/wiki/CSV
  • 将 d3.csv 方法转换为 d3.csv.parse 方法 https://stackoverflow.com/questions/26111455/converting-a-d3-csv-method-to-d3-csv-parse-method
  • d3.js 中的 csv 到数组 https://stackoverflow.com/questions/9491885/csv-to-array-in-d3-js
  • http://learnjsdata.com/read_data.html http://learnjsdata.com/read_data.html
  • http://bl.ocks.org/enjalot/1525346 http://bl.ocks.org/enjalot/1525346

但我似乎遗漏或忽略了一些东西..请帮忙!


原因是

d3.csv("data.csv",function(csv){

是一个ajax调用,所以你不能写如下内容(您的控制台日志在 ajax 完成之前被调用,因此您会得到意外的结果):

var field1=[];
var field2=[];

d3.csv("data.csv",function(csv){
            //executed after successful loading of data
            csv.map(function(d){

                field1.push(d.name);
                field2.push(+d.value);
            })
        });
//called before the loading of AJAX call got completed
console.log("field1",field1);
console.log("field2",field2);

正确的做法是:

var field1=[];
var field2=[];

d3.csv("data.csv",function(csv){
            csv.map(function(d){
                field1.push(d.name);
                field2.push(+d.value);
            })
            //called after the AJAX is success
            console.log("field1",field1);
            console.log("field2",field2);
            console.log("field1",field1[0]);
        });

工作代码here http://plnkr.co/edit/8JjHzpr9NHKKEHW95tee?p=preview

希望这可以帮助!

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

将数据从 csv 复制到 D3 中的数组中 的相关文章

  • 如何在 DOM 中的每个元素中调用函数,即使它们是动态创建的

    我想对 DOM 上的特定元素调用函数 例如 red css backgroundColor pink 它适用于 DOM 中已经存在的任何元素 但我也希望在动态添加到 DOM 的元素中调用此方法 我尝试过类似的事情 red on functi
  • 使用 jQuery Select2 清除下拉菜单

    我正在尝试使用奇妙的方式以编程方式清除下拉菜单Select2 http ivaynberg github com select2 图书馆 使用 Select2 远程 ajax 调用动态填充下拉列表query option HTML
  • 在 R 传单中添加不透明度滑块

    如何在 R leaflet 应用程序中添加滑块来控制特定图层的不透明度 对于这个应用程序 我不想使用闪亮 这里建议 在 R 传单应用程序中添加滑块 https stackoverflow com questions 37682619 add
  • 在javascript中访问函数内的实例变量?

    如何以最简单的方式访问函数内的实例变量 function MyObject Instance variables this handler Methods this enableHandler function var button doc
  • 如何根据形状字段值将两个不同的形状添加到 D3 力向图?

    我是D3的新手 我正在使用力定向图 我想在节点的位置添加两种不同类型的形状 我的 json 如下 nodes name 00 00 00 00 00 00 00 01 group 0 shape 1 name 00 00 00 00 00
  • JS 保留以零结尾的小数[重复]

    这个问题在这里已经有答案了 在JavaScript中 是否可以 锁定 十进制数 以保留以零结尾的 浮点数 例如 我有 2 个不同的数字 如下所示 伪代码 let a 1 0 let b 1 00 a b true should be fal
  • 将 Excel 范围转换为 VBA 字符串

    我想将给定范围内的值转换为 VBA 字符串 其中原始单元格值由任何选定的列分隔符和行分隔符分隔 分隔符可以是一个字符或更长的字符串 行分隔符是行末尾的字符串 该字符串应该像我们从左上角 从左到右 到右下角读取文本一样完成 以下是范围 A1
  • 将 Firebase FCM 添加到 ReactJS 应用程序

    我正在尝试向我的 ReactJS 应用程序中的用户发送推送通知 我已添加 firebase 请求用户通知权限 这正在发挥作用 但现在我想注册设备令牌 但这给了我错误 消息传递 我们无法注册默认的 Service Worker 无法注册 Se
  • 使用 JQuery 禁用和启用所有超链接

    我有以下禁用所有超链接的内容 但在事件发生后我想再次启用它们 我该如何执行此操作 a click function return false 我认为这不仅仅是将其设置为 true 那么简单 谢谢大家 不要以这种方式绑定 点击 处理程序 而是
  • 模板中带有 ng-if 的 angularjs 指令

    我正在构建一个在模板内使用 ng if 的指令 奇怪的是 提供给链接函数的元素没有扩展ng if代码 它只是ng if的注释行 经过一番尝试 我发现通过将链接代码包装在 timeout 中似乎可以使其正常工作 但我想知道这是否不是正确的处理
  • Excel:#CALC!使用 MAP 函数计算间隔重叠时出现错误(嵌套数组)

    我正在努力解决以下公式 它适用于某些情况 但不适用于所有情况 名字input有失败的数据集 得到一个 CALC 描述 嵌套数组 错误 LET input N1 0 0 N1 0 10 N1 10 20 names INDEX input 1
  • Numpy - 根据表示一维的坐标向量的条件替换数组中的值

    我有一个data多维数组 最后一个是距离 另一方面 我有距离向量r 例如 Data np ones 20 30 100 r np linspace 10 50 100 最后 我还有一个临界距离值列表 称为r0 使得 r0 shape Dat
  • Web组件中嵌套槽的内容不可见

    我有一个 Web 组件 它应该接受任意元素来包装其内容 虽然我可以在 Chrome 开发工具中看到插槽已正确分配 但 DOM 中什么也没有出现 以前有人见过这个问题吗 定义 class ExampleParent extends HTMLE
  • 如何动态调整jqgrid到当前窗口大小?

    如何动态调整jqgrid到当前窗口大小 基于javascript jQuery 最好的例子在这里 TinyMCE 去 http www tinymce com tryit full php http www tinymce com tryi
  • 如何在 webpack 中渲染嵌套的 SASS?

    采取以下CSS MyComponent color blue Button color red 以及以下 React 组件 import React from react import classes from MyComponent sc
  • 扩展 RegExp 以获取文件扩展名

    我知道 已经有很多基于 RegExp 的解决方案 但是我找不到适合我需求的解决方案 我有以下函数来获取 URL 的各个部分 但我还需要文件扩展名 var getPathParts function url var m url match w
  • Service Worker 与 Shared Worker

    Service Worker 和 Shared Worker 有什么区别 我什么时候应该使用 Service Worker 而不是 Shared Worker 反之亦然 Service Worker 具有共享 Worker 之外的附加功能
  • ng-include 和 ng-view 不同时加载

    下面是我的应用程序的结构 很简单 页眉和页脚是非常小的文件 而主页上的 ng view 要大得多 当我进入该页面时 我注意到了这一点 首先加载两个 ng include 然后 ng view 出现 页脚被推到底部 页脚闪烁大约 0 1 秒
  • 如何在运行脚本之前提交活动单元格中所做的更改? (Google 表格/Google Apps 脚本)

    我正在使用 Google Apps 脚本在 Google 表格中创建提交表单 该表单位于一页上 提交内容被移至第二个隐藏页面 当用户填写表单后 他们按下提交页面上的按钮以激活脚本 我遇到的问题是 当用户填写最后一个单元格然后单击按钮时 输入
  • 如何在 Jquery/Javascript 中绑定模糊和更改,但只触发一次函数?

    我试图在选择元素更改时触发函数 由于 Ipad 在 on change 方面遇到问题 我还想绑定到 blur 这在 Ipad 上工作得很好 但是我不希望两个事件都触发该函数两次 所以我需要某种挂钩来确保两个事件是否都触发change and

随机推荐

  • 如何删除具有特定类名的所有 div?

    使用jquery 删除具有特定类名的所有div的最佳方法是什么 我不想只是隐藏 div 而是完全删除它 所以如果我有这个代码 div class Test div class ABC div class Test 在我调用这个方法 其中 c
  • 如何在 Pygame 表面中实现洪水填充

    我想知道填充 Pygame 表面部分的好方法 我想要的最好的例子是 MS Paint 中油漆桶的工作方式 例如 如果在白色表面上用黑色绘制一个圆圈 我想填充圆圈内的白色 或任何形状 为了让您了解我正在做什么 我正在制作一个像素艺术工具 并且
  • 如何在flutter中重新加载网络图像?

    在flutter中使用网络图像时有时会出现错误Connection closed before full header was received 下面的代码允许我输出错误 但是如何强制小部件重新加载图像 Image network p th
  • 阻止 Visual Studio 在启动时连接到 Team Foundation Server

    Visual Studio 在启动时自动尝试连接到 Team Foundation Server 但有时当您频繁更改 TFS 服务器时 Visual Studio 会在尝试连接到上次使用的 TFS 时花费很长时间超时 如何禁用此功能 您可以
  • 从移动网站中的链接打开电报应用程序

    有什么方法可以从手机中的网站打开电报应用程序吗 我知道如果您使用 telegram 您可以打开 telegram 应用程序 但如何打开 telegram 并使用给定号码创建新对话 我知道可以通过 Whatsapp 之类的方式实现this h
  • 如何创建dll文件

    使用 Visual Studio 2005 我有类文件列表 当我尝试运行类文件时 它显示错误为 输出类型为类库的项目无法直接启动 如何运行类文件 如何创建 dll 文件 我是 Visual Studio 2005 的新手 需要帮忙 A Cl
  • 在 React Native 渲染文本组件中显示动画值

    我无法在渲染器上显示动画的值并返回此错误 不变违规 对象作为 React 子对象无效 发现 带有键 value 的对象 如果您打算渲染子集合 请改用数组 当然 我看到了其中的价值console constructor props super
  • C# 计算两个日期之间的工作日数

    如何获取两个给定日期之间的工作日数 而无需迭代之间的日期并计算工作日 看起来相当简单 但我似乎找不到符合以下条件的结论性正确答案 总数应包含在内 因此 GetNumberOfWeekdays new DateTime 2009 11 30
  • vue 组件中的 Csrf 令牌

    我有集成了 Vue js 的 Laravel 5 3 项目 我想使用CSRF TOKEN以我的形式 表单html代码在Vue组件文件中 resources assets js bootstrap js 我有这个 Vue http inter
  • 如何在不向服务器发送数据的情况下显示选定的图像?

    我试图向客户展示他选择的图像
  • 检查 Ruby 中是否存在 URL

    我如何使用 Ruby 检查 URL 是否存在 例如 对于 URL https google com 结果应该是truthy 但是对于 URL https no such domain or https stackoverflow com n
  • C中的副作用是什么?

    维基百科说 在计算机科学中 一个操作 函数或表达式被认为具有副作用如果它在其本地环境之外修改某些状态变量值 也就是说 除了向操作的调用者返回一个值 主要效果 之外 还具有可观察到的效果 但是我们如何访问本地环境之外的变量 任何人都可以解释这
  • 使用 H2 数据库在 JDBC 中将年份从负 -509 更改为正 510

    509 vs 510 我在使用 JDBC 时看到某种已更改或错误的数据 所以我观察使用H2数据库 http h2database com Java 8 更新 151 上的版本 1 4 196 这是一个完整的例子 请注意我们如何检索日期值三次
  • 如果不刷新页面,Vuex 状态不会更新

    我正在构建一个单页面应用程序 用户可以根据他们是否登录来看到不同的页面 登录调用工作正常 授权令牌保存在本地存储中 设置 我已经设置了一个名为的吸气剂loggedIn返回true如果在状态上设置了令牌 这是我的确切代码auth js商店模块
  • 将十六进制字符串转换为无符号整数 (VBA)

    在 MS ACCESS VBA 中 我通过在字符串前加上 前缀将十六进制字符串转换为十进制 CLng h1234 4660 CLng h80000000 2147483648 我应该怎么做才能将其转换为无符号整数 使用 CDbl 也不起作用
  • 在均匀网格上查找到点云中最近点的距离

    我有一个大小为 AxBxC 的 3D 网格 网格中的点之间的距离 d 相等 给定多个点 考虑到以下假设 找到每个网格点到最近点的距离 每个网格点应包含到点云中最近点的距离 的最佳方法是什么 假设 A B 和 C 相对于 d 来说相当大 给出
  • Python正则表达式查找大括号的所有大小写,包括括号

    我想查找并替换双大括号内的字符串 包括括号本身 例如 a href hello a 理想情况下应该返回 hello 我发现了这个表达 here https stackoverflow com questions 10643553 pytho
  • Android上如何使用UID获取用户名?

    我有几个这样的UID 10022 10011 1000 其实我知道他们的用户名是u0 a22 u0 a11 system 但问题是 如何使用UID获取用户名呢 没有 etc passwd根本没有文件 我编写了一个实用程序类 通过硬编码值来获
  • 仅出现在存档的 Mac OS X 产品中的错误

    我和我的朋友正在为 Mac 应用商店开发一个应用程序 我们将其提交给应用程序商店 但苹果以我们以前从未遇到过的错误为由拒绝了它 我们很难重现该错误 但经过一段时间的调试后 我们发现该错误仅出现在存档产品中 该错误的症状是 我们应用程序中的某
  • 将数据从 csv 复制到 D3 中的数组中

    我知道这个问题以前曾被问过 但由于某种原因 他们的解决方案对我不起作用 我正在尝试使用 CSV 文件中的数据填充两个数组 其中 name value alpha 34 beta 12 delta 49 gamma 89 我现在正在尝试的是