我正在尝试复制this Focus+Context via Brushing示例。我包含相同的布局,但是使用散点图而不是线/面积图。
我开始处理this示例,我发现它结合了区域图和散点图。但是,当我废弃区域图时,我失去了变焦/聚焦功能。
我的最后一步(迄今为止不成功)是使画笔(底部的小焦点条)实际响应主面板(在画笔中选择较小的时间段时调整/放大)。画笔按原样调整轴,但我只是无法使画笔实际调整/缩放主散点图上的点。我不是试图在画笔中绘制任何东西 - 会有很多点,所以保持刷子的灰色背景,没有点是好的。
这是我的小提琴:http://jsfiddle.net/fuqzp580/3/
旁注:我不能完全按照我使用d3.csv
的方式使用jsfiddle,所以我用虚拟数据编写了一个略有改动的版本,而不是使用d3.csv
。但是,我添加了d3.csv
代码(已注释掉),以防万一可能导致我的问题。
我是d3
的新手,所以欢迎任何指示或想法!
答案 0 :(得分:1)
这是一个更新的小提琴,用于缩放主面板中各点的点:http://jsfiddle.net/henbox/3uwg92f8/1/
你非常接近,我只做了3次小改动:
首先,取消注释function brushed()
中用于选择点
其次,全局定义mydots
(因为您只在initialize()
内执行,并且需要在此范围之外使用它)。在第55行添加了这个:
var mydots = focus.append("g");
最后(也是最重要的),我改变了xMap
的定义
xMap = function(d) { return x2(d.time); }
到
xMap = function(d) { return x(d.time); }
刷牙时,会更新x
比例,而不是x2