【发布时间】:2014-05-16 19:12:46
【问题描述】:
我使用 dc.js/d3.js 创建了一个带有多个条形图和一个行图的页面,当我将鼠标悬停在它们上并进行交互时,画笔功能在所有图表中都按预期工作。
我试图让其中一个图表在页面加载时显示画笔和范围,但是当我在一个图表上使用 .filter 尝试此操作时,其他图表被禁用。我也尝试过 .extent。
两个版本图表的图片:
http://neil-s.com/unison/images/Brush3.png
我查看了一些关于 SO 的相关帖子,但它们并不是我所需要的。主要的crossfilter页面有一个例子,但是由于代码差异很大,我想看看我是否可以保留我有的,否则我将使用crossfilter页面代码。
更新: 这是一个 jsfiddle - http://jsfiddle.net/jth32/22/
这是条形图代码的一个小示例:
// Bar Chart 3-------------------------------
psalBarChart
.width(300).height(150)
.dimension(psalDim)
.group(psalGroup)
.x(d3.scale.linear()
.domain([25, 40]))
.xAxisLabel("Salinity")
.centerBar(true);
// Bar Chart 4 -----------------------------------
depthBarChart
.width(300).height(150)
.dimension(depthDim)
.group(depthGroup)
.x(d3.scale.linear()
.domain([0, 2050]))
.xAxisLabel("Depth")
.centerBar(true)
//.filter([0,1000]) // Creates Brush, but disables other charts
谢谢
【问题讨论】:
-
你的 jsfiddle 不适合我。
-
jsfiddle 已更新:jsfiddle.net/jth32/22 我已经在 javascript 中注释掉了第 358 行,这就是导致其他图表被禁用的原因。谢谢拉斯。
-
这里好像还是无法加载crossfilter...
-
这很不幸。我正在为所有外部资源使用 CDN 链接,所以我想知道为什么它们被阻止在那里。感谢您的尝试。
-
您的原始示例(第 358 行未注释)对我来说很好。我在深度图表上看到了过滤器,如果需要,我可以在其他图表上进行过滤。我在 Chrome 中 - 您在哪个浏览器中看到问题?
标签: d3.js brush dc.js crossfilter