使用地图和过滤器创建字典?

2024-03-08

我有以下地图和过滤功能来获取我的 csv 文件数据以它们的列名作为键.

d3.csv("Sales Export Friendly 3-19-17.csv", function(data) {
    sales = data
        .map(sale => [
        sale["Unit Booked"],
        new Date(sale["Booking Date"]).getMonth() + 1,
        new Date(sale["Checkin"]).getMonth() + 1,
        (new Date(sale["Checkout"]).valueOf() - new Date(sale["Checkin"]).valueOf())/(24*60*60*1000),
        +sale["Total Stay"],
        (+sale["Total Stay"]) / ((new Date(sale["Checkout"]).valueOf() - new Date(sale["Checkin"]).valueOf())/(24*60*60*1000)),
        ])
        .filter(([unit, date, checkin, LOS, total, avgNight]) => !isNaN(total));

这适用于大多数目的,但我还没有弄清楚如何保留列名称以将它们引用为 d3 多维类型可视化(平行坐标)中的轴。我认为这可能与地图和过滤器的使用有关?


当您加载 CSV 文件时,d3.csv创建一个方便的数组属性,称为columns.

根据API https://github.com/d3/d3-dsv/blob/master/README.md#dsv_parse:

返回的数组还公开了一个columns包含按输入顺序排列的列名的属性(与 Object.keys 不同,其迭代顺序是任意的)。

因此,由于您的回调参数被命名为data,您可以简单地使用以下方法获取列的名称:

data.columns

或者将其分配给变量:

var myColumns = data.columns

这是一个带有真实 CSV 文件的演示博斯托克块 https://bl.ocks.org/mbostock/3887051:

d3.csv("https://gist.githubusercontent.com/mbostock/3887051/raw/805adad40306cedf1a513c252ddd95e7c981885a/data.csv", function(data){
  console.log(data.columns);
});
<script src="https://d3js.org/d3.v4.min.js"></script>

PS:这个答案指的是D3 v4,应该是default版本的答案,除非问题中另有说明。

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

使用地图和过滤器创建字典? 的相关文章

  • 使用 AngularJs NgResource 从本地主机加载 JSON 文件

    Overview 我正在构建一个应用程序 在 MAMP 上运行 该应用程序包含联系信息 一旦该部分正常运行 该应用程序将扩展以包含更多数据 例如项目名称和截止日期 问题 当用户访问时 projects php project 我希望他们看到
  • 有没有比 setTimeout 更准确的方法来创建 Javascript 计时器?

    一直困扰我的是事情的不可预测性setTimeout Javascript 中的方法是 根据我的经验 计时器在很多情况下都非常不准确 我所说的不准确是指实际延迟时间似乎或多或少有 250 500 毫秒的差异 尽管这并不是一个很长的时间 但当使
  • 单击 DIV 时滚动到顶部? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Javascript 的 toUpperCase() 语言安全吗?

    请问Ja vascript的String原型方法toUpperCase 在每种支持 UTF 8 的语言 字符集中提供自然预期的结果 我尝试过简体中文 韩语 泰米尔语 日语和西里尔语 到目前为止结果似乎是合理的 我可以信赖该方法是语言安全的吗
  • javascript Array.prototype.push 如何连接

    我已经看到数组的 push 方法用于替换串联 但我不完全确定它是如何工作的 var a 1 2 3 var b 4 5 6 Array prototype push apply a b 它如何就地连接而不是返回一个新数组 apply htt
  • 无限水平滚动 Div

    我需要一个 div 当您将鼠标进一步向右或向左移动时 它会水平滚动 我发现 Smooth Div Scroll 插件 http www smoothdivscroll com 非常接近我的需要 然而 这存在一些问题 我需要能够使滚动元素从设
  • 当按下 html 键盘按钮时,将文本添加到输入字段(具有焦点的字段)

    我使用 HTML 创建了一个屏幕键盘 div and a 标签 页面上有六个文本输入 名字 昵称 姓氏 注释 过敏 手机号码 我不太擅长 JS 但如果页面上只有一个输入 我确实知道该怎么做 但我不确定当有多个输入时该怎么做 我遇到的问题之一
  • For 循环覆盖 HTML 中的文本

    我的数组称为myEmployees其中有 5 个名字 但当我运行代码时 它只打印出其中的 3 个 我相信这种情况正在发生 因为for脚本中的循环会覆盖它在 HTML 文档中编写的前一行 我怎样才能解决这个问题 年度公告板公告 恭喜泰勒 你在
  • 如何将身份验证详细信息传递给 iframe 内的应用程序?

    我有一个网页 想在其中显示詹金斯的网页 因此使用iframe like But http xxx xxx xx xx 8080 view Nightly 20Builds 20 打开登录页面 因此无法直接显示内容 其实我想在没有登录的情况下
  • 缩放对象上的弹跳动画

    拥有对象比例 然后在返回到原始比例因子之前以该比例因子执行弹跳动画的最佳方法是什么 我意识到我可以做一些事情 比如将其缩放到 2 2 然后 1 8 然后 2 0 但我正在寻找一种方法 您只需在比例因子上执行弹跳动画 因为我的比例因子会改变
  • 表格中与文本一起内嵌 D3 迷你图

    假设有一个这样的表 var data Orange Orange 6 3 3 2 5 Apple Red 6 2 6 5 5 Grape Purple 9 1 2 3 1 我希望将字符串表示为字符串 但将数字数组表示为 D3 折线图 如果这
  • 获取与请求

    我正在使用 JSON 流并尝试使用 fetch 来使用它 该流每隔几秒发出一些数据 仅当流关闭服务器端时 使用 fetch 来使用流才可以访问数据 例如 var target the url var options method POST
  • 使用 webpack 保留输出目录中的文件夹结构

    我有以下文件夹结构 index html app index tsx 与 webpack 捆绑后 我希望有以下输出目录 并将bundle js注入到index html中 dist index html dist app bundle js
  • 重写node.js中其他模块中的函数

    我正在尝试在 Node js 应用程序中使用 nodeunit 存根函数 这是我正在尝试做的事情的简化版本 In lib file js var request require request var myFunc function inp
  • 如何沿着 Parse Promise 链传递额外数据[重复]

    这个问题在这里已经有答案了 在我的 Parse Cloude 代码中 我需要运行几个连续的查询 每个查询都使用 find Example var promise firstQuery get objectId then function r
  • 使用 Javascript 编辑和保存用户 HTML - 安全性如何?

    例如我有一个Javascript 支持的表单创建工具 您可以使用链接添加元素的 html 块 如输入字段 并使用 TinyMCE 来编辑文本 这些是通过自动保存功能保存的 该功能在特定事件的后台执行 AJAX 调用 被调用的保存函数负责数据
  • Javascript:如何过滤对象数组并对结果求和

    我有一个对象数组 var example a 1 b 2 c 3 a 4 b 5 c 6 a 7 b 8 c 9 我正在尝试添加所有不对应的值c 我已经设法用 console log test filter x gt x c gt 3 过滤
  • Javascript this 关键字 - 函数内部

    我正在尝试理解this关键字JavaScript 我在 chrome 控制台上做了一些测试 发现了两个不同的结果 但我期望它们是相同的 var myTest myTest test1 function return this this Ob
  • axios在自调用函数内部只调用一次(Internet Explorer)

    我有一个函数每 2 5 秒调用自己一次来检查后台运行的任务 它调用 axiosget如果响应错误 则返回一个 url 如果响应成功 我将停止该函数 这在 Chrome 和 Mozilla 上完美运行 但由于某种原因 它在 IE 版本 11
  • 如何在没有消息时隐藏 Bootstrap 警报框

    我用 Bootstrap 做了一个简单的警报框 如下所示 div class alertBox span class alert alert info bag session username span div When there is

随机推荐

  • MariaDB Galera集群设置问题

    我正在尝试启动并运行 mariadb 集群 但它对我来说不起作用 现在我在 64 位 Red hat ES6 机器上使用 MariaDB Galera 5 5 36 我通过这里的存储库安装了 mariadb mariadb name Mar
  • pandas 切割多列

    我希望在多个列中应用一个容器 a 1 2 9 1 5 3 b 9 8 7 8 9 1 c a b print pd cut c 3 labels False 效果很好并创造了 0 0 2 0 1 0 2 2 2 2 2 0 但是 我想应用
  • 显示来自MySQL数据库的php中的所有表名

    好吧 我对 PHP 和 SQL MySQL 还很陌生 所以非常感谢您的帮助 我觉得我采取了正确的方法 我在 php net 上搜索 MySQL 显示所有表名称 它返回了一个已弃用的方法 并建议使用 MySQL 查询SHOW TABLES F
  • 如何更改Font Awesome感叹号三角形图标的内部白色?

    如何更改图标的内部 白色 颜色 i class fa fa exclamation triangle i 附 正在申请 i class fa fa exclamation triangle style color red i 不是答案 因为
  • 将 Admob 添加到 Libgdx 游戏

    我正在休憩本教程 https www youtube com watch v cwAN4LMXo58但是当我尝试进入货币化页面时 我无法货币化或添加任何横幅 因为与教程不同 我的游戏不在商店中 我的问题是 我是否需要在不添加 admob 代
  • 安排交互式 UILocalNotification - Obj-C

    我正在尝试安排一个互动UILocalNotifaction 我的尝试是使用以下代码 这是我从中获取的tutorial https nrj io simple interactive notifications in ios 8 NSStri
  • Twilio 客户端语音通话扬声器开/关问题

    我在用Twilio 客户端 https www twilio com docs api client ios用于通话的语音通话服务 在这里 我遇到了斯皮克开 关功能的问题 我可以将通话静音 取消静音 但无法打开 关闭扬声器 我有两个功能的相
  • 使用正则表达式匹配多行文本

    我正在尝试使用 Java 来匹配多行文本 当我使用Pattern类与Pattern MULTILINE修饰符 我能够匹配 但我无法这样做 m 相同的图案与 m 并使用String matches似乎不起作用 我确信我错过了一些东西 但不知道
  • Kohana v3.1.0 ORM _ignored_columns -- 既然它消失了,我该怎么办?

    看来在 Kohana 的 ORM v3 1 0 中 ignored columns财产已被删除 处理数据库中不存在的字段的推荐技术是什么 我现在的情况是password confirm 其中password是一个字段 但我们要求用户输入密码
  • 白色背景上带有透明标题的 iOS UIButton

    我有一个习惯UIButton具有透明背景和白色标题 我正在寻找一个简单的解决方案来反转它的突出显示 白色背景和透明标题 因为它是在系统上实现的UISegmentedControl 有没有比反转用作快照的 alpha 更简单的解决方案CALa
  • 连接到恢复的数据库时 Datomic 抛出 ActiveMQInternalErrorException

    我从 dev 存储备份了 Datomic v0 9 5786 数据库 datomic datomic pro 0 9 5786 bin datomic Xmx4g Xms4g backup db datomic dev localhost
  • 构建 python 项目的非常“简单”的方法是什么?

    所以我有一个需要处理文件的 python 东西 首先是 my project script py 我会简单地运行它python script py file csv 然后它长大并成为 my project script py util st
  • 需要更新 mysql 查询来选择预订酒店房间或任何东西的日期范围

    我的项目中有一个情况如下 在检查可用房间时 sel from bookings SELECT room no FROM booking WHERE POST req tdate BETWEEN check indate AND check
  • 解码 Jwt 令牌 React

    我使用 jsonwebtoken 来解码我的令牌以查看它是否已过期 但是 console log 返回 null var token response headers authorization token token replace Be
  • 通过 HTTPS 的 JavaFX.MediaPlayer?

    我尝试使用 MediaPlayer 播放定义了 HTTPS url 的资源 但它显示协议不受支持 在 API 参考中 他们声明 FILE HTTP JAR 是受支持的协议 未提及 HTTPS 是否可以通过 HTTPS 使用 url 在我看来
  • AWS Glue 作业 - 写入单个 Parquet 文件

    我正在带分区的 S3 存储桶中收集 JSON 格式的数据 例子 s3 bucket app events year 2019 month 9 day 30 0001 json s3 bucket app events year 2019 m
  • Azure 函数发布失败

    当我尝试发布我的 Azure 函数时 我收到一条 发布失败 消息 我以前曾收到过此消息 但在一段时间后它就消失了 更新 据我了解 Azure Functions 具有冷启动功能 并会在 5 分钟后过期 我发现如果我在收到错误后等待 5 分钟
  • Google Drive API - OAuth2.0:如何自动化身份验证过程?疑问和疑问

    我正在尝试将 Google API 集成到一个项目 论文项目 中 但我有一些疑问和疑问 所以 这是场景 我用 Java 编写了一个后端应用程序 它仅从命令行运行 并且完全不与用户交互 其目标是允许传感器和执行器之间的通信和交互 一切都很好
  • 新函数字符串到真实 JavaScript 的替代选项[重复]

    这个问题在这里已经有答案了 如果我们不使用 如何将字符串转换为真正的javascript对象new Function var sum new Function a b return a b console log sum 2 6 So a
  • 使用地图和过滤器创建字典?

    我有以下地图和过滤功能来获取我的 csv 文件数据以它们的列名作为键 d3 csv Sales Export Friendly 3 19 17 csv function data sales data map sale gt sale Un