- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的介绍性问题是:
我想到了三种可能性:
.attr("class", function(d) { return quantize(rateById.get(d.id)); })
这个选项似乎是最受欢迎的(参见 choropleth block ),但它实际上并没有绑定(bind)数据。因此,它似乎有点不符合 D3 的意图。这也意味着不能简单地为工具提示引用绑定(bind)数据,例如。
我们可以将所有数据放在一个变量中(也许使用 forEach
)。结果可能类似于:
var mergeData = [{
area: "NW",
mean: 45,
features: {...}
}, {
area: "NE",
mean: 23,
features: {...}
}, {
area: "SW",
mean: 87,
features: {...}
}, {
area: "SE",
mean: 56,
features: {...}
}];
然后我们可以将 mergeData
绑定(bind)到路径元素,通过将“d”属性指向 d.features
来生成 map ,并使用 d 设置样式。意思是
。这允许每个路径元素包含我们将永远需要的所有必要数据。但是,将它们组合在一起似乎很麻烦。
一旦绘制了 map 形状,就不需要要素集合数据。可以更换。为什么不简单地将我们需要的数据绑定(bind)到这些路径(在生成 map 形状之后),以便它始终可用于样式、工具提示等?我们只需要一个关键函数来将新数据与正确的 map 形状相匹配。更新选择将负责替换。
d3.selectAll(".area").data(data, function(d) {
return d.id;
})
.style("fill", function(d) {
return colorScale(d.mean);
});
这似乎运作良好,而且干净整洁。需要注意的是数据的结构和特征集合必须相同。在两组数据上评估相同的键函数。因此,如果我们的数据是嵌套的,我们将无法访问 d.values.id
,因为在特征集合中没有相应的 values
- 它只是 d.id
。直觉上,我希望有一个类似于 filter
的关键函数,这样我们就可以在每个数据集中指定 id
的位置,如下所示:
return d.id === d.values.id;
没有办法做到这一点,是吗?
解决方法是将嵌套数据重构为第三个扁平数据变量,使其不再嵌套。这样 d.id
就可以用在 key 函数中了。但这又一次显得很麻烦。
哪种方法最好?或者还有别的吗?
我仍在学习 D3,所以请随时纠正我的任何假设或直接编辑我的问题。
最佳答案
我刚刚发现的选项 #3 的解决方案实际上非常简单。创建嵌套数据后,可以立即迭代,在第一层插入需要的数据。
data.map(function(d) { d.id = d.values.id; });
这样它就可以在完全相同的结构中被关键函数使用。 values
中的所有汇总仍可供以后使用。
关于javascript - 如何绑定(bind)数据到对应的D3.js map 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35906187/
我想检查我的应用程序或系统中是否存在库。在 Java 中,我通常执行 System.loadlibrary,但是有谁知道 C 中类似的相应调用吗? 最佳答案 是dlopen打开一个库,dlsym 从加
我在 typescript 中输入以下内容 export type Excludable = T & { isExcluded?: boolean } 其中过滤值: export type Filte
我最近在我的应用程序中添加了一种方法,可以自动格式化 TextView ,从“50000”到“50,000”,效果绝对完美。现在我遇到的问题是,在我的应用程序中,有多个按钮功能可以从该 TextVie
SELECT * FROM conversations WHERE chatMembers LIKE '%1%'AND chatMembers LIKE '%10%' 对话表 id | chatMem
我正在编写一个需要将 Java Date() 值保存到 MySQL 数据库的 RESTful Web 服务,但是,我不确定 MySQL 中可以保存 Java Date() 的数据类型是什么,或者我是否
同样,在任何 Red Hat 或 JBoss 站点上都没有关于此的信息,所以我在这里问... 我不确定是 13 还是 14。 最佳答案 Mapping the Community versions w
同样,在任何 Red Hat 或 JBoss 站点上都没有关于此的信息,所以我在这里问... 我不确定是 13 还是 14。 最佳答案 Mapping the Community versions w
我曾尝试使用 swift 开发一款利用 iPhone 的 3D 触摸硬件的游戏。然而,当我将我的应用程序提交到 App Store 时,它被拒绝了,因为该游戏无法在 iPad 上玩。 我的问题是,
Qt 的有序关联容器对应项 std::map是QMap , std::set是QSet , 对于无序关联容器 std::unordered_map是QHash . 我应该用什么来代替std::unor
JavaScript 方法 String.fromCharCode() 在以下意义上与 Python 的 unichar() 等效: print unichr(213) # prints Õ on t
正如谷歌在 "Discontinuing support for JSON-RPC and Global HTTP Batch Endpoints" 中提到的那样,Google API 客户端库已重新
我正在使用 MapLayer 和 MapOverlay 在 map 中创建自己的路径/折线,GPS 捕获的所有点都存储在一个结构中,以便我可以访问它们。随时。 现在,我希望路径在用户操作 map (缩
我们使用 Adobe Flash Builder 创建由 Flex 提供支持的交互式 Web 应用程序。现在我们正在寻找替代方案,让我们在 UI 设计和迎合 HTML5 的编码方面拥有同样的开发便
我想知道Android/Java 中类似C#/C++ 中的GetTickCount 方法的相应方法吗? 最佳答案 Android 为 SystemClock.uptimeMillis() .请注意,u
我用 Vue + Phaser 开始了新项目,但是当我尝试加载 Assets 时,this.game.load.image 中的“load”和“add”返回“undefined”。我尝试从 JS 文件
我是一名优秀的程序员,十分优秀!