首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在画笔顶部显示数据点

在画笔顶部显示数据点
EN

Stack Overflow用户
提问于 2017-02-15 21:44:25
回答 1查看 82关注 0票数 1

我有一个由条形图和散点图组成的复合图。我想要显示散点图数据点,尽管刷动已启用。

在当前行为中,刷新会覆盖数据点工具提示。有什么帮助来满足这个要求吗?

代码语言:javascript
运行
复制
scatterChart
  .width(380)
  .height(200)
  .margins({
    top: 10,
    right: 20,
    bottom: 30,
    left: 40
  })
  .dimension(scatterDimension)
  .group(scatterGrouping)
  .x(d3.scale.linear().domain([0., 100.]))
  .y(d3.scale.linear().domain([0., 100.]))
  .renderHorizontalGridLines(true)
  .renderVerticalGridLines(true)
  .symbolSize(5)
  .highlightedSize(8)
  //.brushOn(false)
  .existenceAccessor(function(d) {
    return d.value > 0;
  })
  .colorAccessor(function(d) {
    return d.key[2];
  })
  .colors(fruitColors)
  .filterHandler(function(dim, filters) {  
  // https://jsfiddle.net/gordonwoodhull/c593ehh7/5/
    if (!filters || !filters.length)
      dim.filter(null);
    else {
      // assume it's one RangedTwoDimensionalFilter
      dim.filterFunction(function(d) {
        return filters[0].isFiltered([d[0], d[1]]);
      })
    }
  });

派生示例- http://jsfiddle.net/81mzjkjz/37/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-16 23:47:18

默认情况下,dc.js会将画笔层放在所有其他层的前面,这样它就会截取所有单击。如果你能够将鼠标悬停在这些点上,你也可以点击它们,这意味着如果你在一个点上不小心开始刷屏,刷屏就不会发生。

但是如果你愿意冒这个险,你可以像这样把画笔移到它兄弟的后面:

代码语言:javascript
运行
复制
scatterChart.on('pretransition', function(chart) {
  var brushNode = chart.select('g.brush').node();
  var firstChild = brushNode.parentNode.firstChild; 
  if (firstChild) { 
    brushNode.parentNode.insertBefore(brushNode, firstChild); 
  } 
});

我还没有调查过是否有可能让点击通过点,而鼠标停留在点上。我的猜测是,这将很难做到正确。

你的提琴叉子(谢谢!):http://jsfiddle.net/gordonwoodhull/sajwjv7n/3/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42251090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档