如何从数据中选择d3.js中的唯一值
How to select unique values in d3.js from data
我使用以下代码使用d3.js 填充组合框
d3.csv("Results_New.txt", function(data) {
dataset=data;
d3.select("#road").selectAll("option")
.data(data).enter().append("option").text(function(d){return d.roadname;}).attr("value",function(d){return d.roadname;});
});
有不同的行具有相同的名称。组合框中正在填充这些重复的名称。例如,在多行中,道路的名称是I-80。但在组合框中,我只想看到I-80一次。我该怎么做?
仅通过d3.map
过滤保留唯一密钥的数据
d3.select("#road").selectAll("option")
.data(d3.map(data, function(d){return d.roadname;}).keys())
.enter()
.append("option")
.text(function(d){return d;})
.attr("value",function(d){return d;});
d3.map
已被弃用-d3开发人员现在建议只使用JavaScript的内置Array.map
。(事实上,整个d3-collection
模块现在都不推荐使用,d3.set
也有类似的原理。)
以下是在ES6中使用Array.map
、Set
和扩展运算符...
:进行此操作的一种简洁且(我认为)优雅的方法
let options = [...new Set(data.map(d => d.roadname))];
// optionally add .sort() to the end of that line to sort the unique values
// alphabetically rather than by insertion order
d3.select('#road')
.selectAll('option')
.data(options)
.enter()
.append('option')
.text(d => d)
.attr('value', d => d);
相关文章:
- 使用onkeyup JS事件检查输入的值是否唯一
- 生成唯一的ids js
- 如何在传单.js中显示每个choropleth弹出窗口的唯一名称和URL
- 向Graph中的所有d3.js数据点添加唯一链接
- Ember JS如何获取具有唯一属性值的数组
- 如何将HTML页面操作的范围限定为JS/Coffee文件中的唯一UserId
- 如何从数据中选择d3.js中的唯一值
- Knockout.js中使用的唯一ID;对于“;单选按钮组中的标签属性
- Backbone.js在permalink集合中所有模型的唯一属性名称
- 在Chart.js段中嵌入唯一标识符
- 谷歌地图 API v3 唯一标记 JS.
- 快速.js每个用户的唯一目录
- 使用require.js和唯一的CDN
- 从 React/js 中的数组中查找唯一值
- 如何使用 Wolfpack.js 测试我的 Sails.js 模型的唯一电子邮件属性
- 在node.js中,有没有办法识别唯一的调用堆栈/时钟周期
- 未捕获的异常:每个数据元素都必须实现一个唯一的“id”属性slick.dataview.js
- D3.js如何在组条形图中唯一标识单个条形
- 下划线.js在对象数组中查找唯一值;返回唯一项目及其计数
- Node.js with Geddy:geddy.string.uuid(x) 是否确保字符串是唯一的