我使用D3D3得到轉化價值尺度
寫甘特圖我有xScale等隨時間尺度(時間)
this.xScale = d3.scaleTime()
.domain([this.startDate,this.endDate])
.range([0,this.getWidth()]);
和yScale爲帶尺度(資源)
this.yScale = d3.scaleBand()
.domain(resources.map(function(res){
return res.res_num;
}))
.rangeRound([0,this.getHeight()])
.paddingInner(.3)
問題是我需要將任務(SVG Rect)從一個資源拖放到另一個資源
當我拖我使用transfrom所以其對SVG
_onDrag : function(d)
{
var x = d3.event.dx+d3.event.x;
var y = d3.event.dy+d3.event.y;
d3.select(this).raise().attr("transform","translate(" + [x,y] + ")");
},
但在下降移動我必須處理如下的邏輯:
- 的資源之間的矩形不應該在,所以需要基於d3.event.y 變換到任何帶
- 在X軸的時間尺度,其具有翻轉但yScale沒有此。這個怎麼做?