2014-09-02 62 views
0

我試圖複製this Focus+Context via Brushing的例子。我包含相同的佈局,但使用散點圖而不是線/面積圖。D3 Focus +上下文通過刷新不顯示散點圖

我開始關閉this示例我發現它將區域圖和散點圖組合在一起。但是,當我放棄區域圖時,我失去了變焦/聚焦功能。

我最後一步(到目前爲止不成功)是讓畫筆(底部的小焦點條)實際上對主面板做出響應(在畫筆中選擇較小的時間段時調整/放大)。畫筆根據需要調整軸線,但我無法使畫筆實際調整/縮放主散點圖上的點。我不想在畫筆中繪製任何東西 - 會有很多點,所以保持畫筆灰色背景,沒有點是好的。

這裏是我的小提琴:http://jsfiddle.net/fuqzp580/3/

旁註:我不能完全得到的jsfiddle與我使用d3.csv在上班的路上,所以我編寫了以虛擬數據略有改動的版本代替使用d3.csv的。但是,我包括d3.csv代碼(註釋掉),以防萬一這可能是我的問題的原因。

我是d3,所以任何指針或想法歡迎新!

回答

1

這裏有一個更新的撥弄點在主面板上的點放大:http://jsfiddle.net/henbox/3uwg92f8/1/

你是非常接近的,我只是做了3個小的變化:

首先,註釋去掉,你已經有了代碼其次,全球定義mydots(因爲您只是在initialize()之內執行此操作,所以需要在此範圍之外使用它)。添加了這個在線55:

var mydots = focus.append("g"); 

而且最後(也是最重要的),我改變了定義xMap

​​

xMap = function(d) { return x(d.time); } 

刷牙時,它的x規模得到更新,而不是x2

+0

明白了 - 謝謝! – ajb 2014-09-02 17:14:21

+0

@亨利,這是一個很好的答案。我想知道,如何編輯代碼,使得點在穿過y軸時消失? – Shawn 2016-06-21 07:48:59