D3在画笔中更改Alpha

时间:2013-03-28 14:13:14

标签: d3.js brush

我想知道是否可以将画笔中的区域显示为与画笔外部区域不同的颜色或不同的不透明度级别。我正在使用焦点+上下文示例作为起点(http://bl.ocks.org/mbostock/1667367)。我想知道下方直方图中的区域(画笔存在的位置)是否可以使用0.5的alpha通道进行渲染,并且画笔内的区域可能具有1.0的alpha值。这可能吗?我已经在这个问题上工作了好几天了,似乎无法接近解决方案。提前谢谢。

编辑** 好。我想我理解下面关于添加条件填充的评论中的基本概念......但是我很难实现它。在原始示例(http://bl.ocks.org/mbostock/1667367)中,焦点是主直方图,而上下文是使用画笔的较小的直方图。我想我可以在拉丝函数中添加两行,以便在画笔内部的上下文直方图中为区域着色不同的颜色......但它不太有效。我在控制台窗口中收到错误,说“无法读取未定义的属性长度”。这是我的刷机功能:

function brushed() {
  x.domain(brush.empty() ? x2.domain() : brush.extent());
  focus.select("path").attr("d", area);
  focus.select(".x.axis").call(xAxis);
  //these are the two lines that I've added 
  context.select("path").attr("d", area)
    .style("fill", "#ff0000");
}

你可以看到我实际上并没有使用条件填充部分......但是我认为刷过的函数返回了一组剪切的数据“区域”,我认为我可以使用相同的区域但是归因于上下文(而不是焦点)......但这不起作用。

0 个答案:

没有答案
相关问题