Merge branch 'master' into axis
This commit is contained in:
Коммит
9dc97e87fe
|
@ -17,7 +17,8 @@ d3.behavior.zoom = function() {
|
|||
.on("mousemove.zoom", d3_behavior_zoomMousemove)
|
||||
.on("mouseup.zoom", d3_behavior_zoomMouseup)
|
||||
.on("touchmove.zoom", d3_behavior_zoomTouchmove)
|
||||
.on("touchend.zoom", d3_behavior_zoomTouchup);
|
||||
.on("touchend.zoom", d3_behavior_zoomTouchup)
|
||||
.on("click.zoom", d3_behavior_zoomClick, true);
|
||||
}
|
||||
|
||||
// snapshot the local context for subsequent dispatch
|
||||
|
@ -31,6 +32,7 @@ d3.behavior.zoom = function() {
|
|||
function mousedown() {
|
||||
start.apply(this, arguments);
|
||||
d3_behavior_zoomPanning = d3_behavior_zoomLocation(d3.svg.mouse(d3_behavior_zoomTarget));
|
||||
d3_behavior_zoomMoved = false;
|
||||
d3.event.preventDefault();
|
||||
window.focus();
|
||||
}
|
||||
|
@ -76,7 +78,8 @@ var d3_behavior_zoomDiv,
|
|||
d3_behavior_zoomXyz,
|
||||
d3_behavior_zoomDispatch,
|
||||
d3_behavior_zoomTarget,
|
||||
d3_behavior_zoomArguments;
|
||||
d3_behavior_zoomArguments,
|
||||
d3_behavior_zoomStopClick;
|
||||
|
||||
function d3_behavior_zoomLocation(point) {
|
||||
return [
|
||||
|
@ -155,16 +158,28 @@ function d3_behavior_zoomTouchmove() {
|
|||
|
||||
function d3_behavior_zoomMousemove() {
|
||||
d3_behavior_zoomZooming = null;
|
||||
if (d3_behavior_zoomPanning) d3_behavior_zoomTo(d3_behavior_zoomXyz[2], d3.svg.mouse(d3_behavior_zoomTarget), d3_behavior_zoomPanning);
|
||||
if (d3_behavior_zoomPanning) {
|
||||
d3_behavior_zoomMoved = true;
|
||||
d3_behavior_zoomTo(d3_behavior_zoomXyz[2], d3.svg.mouse(d3_behavior_zoomTarget), d3_behavior_zoomPanning);
|
||||
}
|
||||
}
|
||||
|
||||
function d3_behavior_zoomMouseup() {
|
||||
if (d3_behavior_zoomPanning) {
|
||||
if (d3_behavior_zoomMoved) d3_behavior_zoomStopClick = true;
|
||||
d3_behavior_zoomMousemove();
|
||||
d3_behavior_zoomPanning = null;
|
||||
}
|
||||
}
|
||||
|
||||
function d3_behavior_zoomClick() {
|
||||
if (d3_behavior_zoomStopClick) {
|
||||
d3.event.stopPropagation();
|
||||
d3.event.preventDefault();
|
||||
d3_behavior_zoomStopClick = false;
|
||||
}
|
||||
}
|
||||
|
||||
function d3_behavior_zoomTo(z, x0, x1) {
|
||||
var K = Math.pow(2, (d3_behavior_zoomXyz[2] = z) - x1[2]),
|
||||
x = d3_behavior_zoomXyz[0] = x0[0] - K * x1[0],
|
||||
|
|
|
@ -1 +1 @@
|
|||
(function(){function p(a,b,c){function m(a,b){var c=a.__domain||(a.__domain=a.domain()),d=a.range().map(function(a){return(a-b)/l});a.domain(c).domain(d.map(a.invert))}var d=Math.pow(2,(f[2]=a)-c[2]),e=f[0]=b[0]-d*c[0],j=f[1]=b[1]-d*c[1],k=d3.event,l=Math.pow(2,a);d3.event={scale:l,translate:[e,j],transform:function(a,b){a&&m(a,e),b&&m(b,j)}};try{g.apply(h,i)}finally{d3.event=k}k.preventDefault()}function o(){b&&(n(),b=null)}function n(){c=null,b&&p(f[2],d3.svg.mouse(h),b)}function m(){var a=d3.svg.touches(h);switch(a.length){case 1:var b=a[0];p(f[2],b,d[b.identifier]);break;case 2:var c=a[0],e=a[1],g=[(c[0]+e[0])/2,(c[1]+e[1])/2],i=d[c.identifier],j=d[e.identifier],k=[(i[0]+j[0])/2,(i[1]+j[1])/2,i[2]];p(Math.log(d3.event.scale)/Math.LN2+i[2],g,k)}}function l(){var a=d3.svg.touches(h),b=-1,c=a.length,e;while(++b<c)d[(e=a[b]).identifier]=j(e);return a}function k(){a||(a=d3.select("body").append("div").style("visibility","hidden").style("top",0).style("height",0).style("width",0).style("overflow-y","scroll").append("div").style("height","2000px").node().parentNode);var b=d3.event,c;try{a.scrollTop=1e3,a.dispatchEvent(b),c=1e3-a.scrollTop}catch(d){c=b.wheelDelta||-b.detail}return c*.005}function j(a){return[a[0]-f[0],a[1]-f[1],f[2]]}d3.behavior={},d3.behavior.zoom=function(){function w(){s.apply(this,arguments);var b=l(),c,f=Date.now();b.length===1&&f-e<300&&p(1+Math.floor(a[2]),c=b[0],d[c.identifier]),e=f}function v(){s.apply(this,arguments);var b=d3.svg.mouse(h);p(d3.event.shiftKey?Math.ceil(a[2]-1):Math.floor(a[2]+1),b,j(b))}function u(){s.apply(this,arguments),c||(c=j(d3.svg.mouse(h))),p(k()+a[2],d3.svg.mouse(h),c)}function t(){s.apply(this,arguments),b=j(d3.svg.mouse(h)),d3.event.preventDefault(),window.focus()}function s(){f=a,g=q.zoom.dispatch,h=this,i=arguments}function r(){this.on("mousedown.zoom",t).on("mousewheel.zoom",u).on("DOMMouseScroll.zoom",v).on("dblclick.zoom",v).on("touchstart.zoom",w),d3.select(window).on("mousemove.zoom",n).on("mouseup.zoom",o).on("touchmove.zoom",m).on("touchend.zoom",l)}var a=[0,0,0],q=d3.dispatch("zoom");r.on=function(a,b){q[a].add(b);return r};return r};var a,b,c,d={},e=0,f,g,h,i})()
|
||||
(function(){function r(a,b,c){function m(a,b){var c=a.__domain||(a.__domain=a.domain()),d=a.range().map(function(a){return(a-b)/l});a.domain(c).domain(d.map(a.invert))}var d=Math.pow(2,(f[2]=a)-c[2]),e=f[0]=b[0]-d*c[0],j=f[1]=b[1]-d*c[1],k=d3.event,l=Math.pow(2,a);d3.event={scale:l,translate:[e,j],transform:function(a,b){a&&m(a,e),b&&m(b,j)}};try{g.apply(h,i)}finally{d3.event=k}k.preventDefault()}function q(){j&&(d3.event.stopPropagation(),d3.event.preventDefault(),j=!1)}function p(){b&&(d3_behavior_zoomMoved&&(j=!0),o(),b=null)}function o(){c=null,b&&(d3_behavior_zoomMoved=!0,r(f[2],d3.svg.mouse(h),b))}function n(){var a=d3.svg.touches(h);switch(a.length){case 1:var b=a[0];r(f[2],b,d[b.identifier]);break;case 2:var c=a[0],e=a[1],g=[(c[0]+e[0])/2,(c[1]+e[1])/2],i=d[c.identifier],j=d[e.identifier],k=[(i[0]+j[0])/2,(i[1]+j[1])/2,i[2]];r(Math.log(d3.event.scale)/Math.LN2+i[2],g,k)}}function m(){var a=d3.svg.touches(h),b=-1,c=a.length,e;while(++b<c)d[(e=a[b]).identifier]=k(e);return a}function l(){a||(a=d3.select("body").append("div").style("visibility","hidden").style("top",0).style("height",0).style("width",0).style("overflow-y","scroll").append("div").style("height","2000px").node().parentNode);var b=d3.event,c;try{a.scrollTop=1e3,a.dispatchEvent(b),c=1e3-a.scrollTop}catch(d){c=b.wheelDelta||-b.detail}return c*.005}function k(a){return[a[0]-f[0],a[1]-f[1],f[2]]}d3.behavior={},d3.behavior.zoom=function(){function x(){t.apply(this,arguments);var b=m(),c,f=Date.now();b.length===1&&f-e<300&&r(1+Math.floor(a[2]),c=b[0],d[c.identifier]),e=f}function w(){t.apply(this,arguments);var b=d3.svg.mouse(h);r(d3.event.shiftKey?Math.ceil(a[2]-1):Math.floor(a[2]+1),b,k(b))}function v(){t.apply(this,arguments),c||(c=k(d3.svg.mouse(h))),r(l()+a[2],d3.svg.mouse(h),c)}function u(){t.apply(this,arguments),b=k(d3.svg.mouse(h)),d3_behavior_zoomMoved=!1,d3.event.preventDefault(),window.focus()}function t(){f=a,g=j.zoom.dispatch,h=this,i=arguments}function s(){this.on("mousedown.zoom",u).on("mousewheel.zoom",v).on("DOMMouseScroll.zoom",w).on("dblclick.zoom",w).on("touchstart.zoom",x),d3.select(window).on("mousemove.zoom",o).on("mouseup.zoom",p).on("touchmove.zoom",n).on("touchend.zoom",m).on("click.zoom",q,!0)}var a=[0,0,0],j=d3.dispatch("zoom");s.on=function(a,b){j[a].add(b);return s};return s};var a,b,c,d={},e=0,f,g,h,i,j})()
|
|
@ -1,4 +1,4 @@
|
|||
(function(){d3 = {version: "1.29.6"}; // semver
|
||||
(function(){d3 = {version: "1.29.7"}; // semver
|
||||
if (!Date.now) Date.now = function() {
|
||||
return +new Date;
|
||||
};
|
||||
|
@ -9,14 +9,14 @@ if (!Object.create) Object.create = function(o) {
|
|||
};
|
||||
var d3_array = d3_arraySlice; // conversion for NodeLists
|
||||
|
||||
function d3_arrayCopy(psuedoarray) {
|
||||
var i = -1, n = psuedoarray.length, array = [];
|
||||
while (++i < n) array.push(psuedoarray[i]);
|
||||
function d3_arrayCopy(pseudoarray) {
|
||||
var i = -1, n = pseudoarray.length, array = [];
|
||||
while (++i < n) array.push(pseudoarray[i]);
|
||||
return array;
|
||||
}
|
||||
|
||||
function d3_arraySlice(psuedoarray) {
|
||||
return Array.prototype.slice.call(psuedoarray);
|
||||
function d3_arraySlice(pseudoarray) {
|
||||
return Array.prototype.slice.call(pseudoarray);
|
||||
}
|
||||
|
||||
try {
|
||||
|
|
25
d3.layout.js
25
d3.layout.js
|
@ -143,7 +143,7 @@ d3.layout.chord = function() {
|
|||
if (source.value || target.value) {
|
||||
chords.push(source.value < target.value
|
||||
? {source: target, target: source}
|
||||
: {source: source, target: target})
|
||||
: {source: source, target: target});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -269,10 +269,10 @@ d3.layout.force = function() {
|
|||
l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l;
|
||||
x *= l;
|
||||
y *= l;
|
||||
t.x -= x;
|
||||
t.y -= y;
|
||||
s.x += x;
|
||||
s.y += y;
|
||||
t.x -= x / t.weight;
|
||||
t.y -= y / t.weight;
|
||||
s.x += x / s.weight;
|
||||
s.y += y / s.weight;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -387,6 +387,7 @@ d3.layout.force = function() {
|
|||
|
||||
for (i = 0; i < n; ++i) {
|
||||
(o = nodes[i]).index = i;
|
||||
o.weight = 0;
|
||||
}
|
||||
|
||||
distances = [];
|
||||
|
@ -397,6 +398,8 @@ d3.layout.force = function() {
|
|||
if (typeof o.target == "number") o.target = nodes[o.target];
|
||||
distances[i] = linkDistance.call(this, o, i);
|
||||
strengths[i] = linkStrength.call(this, o, i);
|
||||
++o.source.weight;
|
||||
++o.target.weight;
|
||||
}
|
||||
|
||||
for (i = 0; i < n; ++i) {
|
||||
|
@ -468,7 +471,7 @@ d3.layout.force = function() {
|
|||
|
||||
function dragdown(d, i) {
|
||||
var m = d3_layout_forcePoint(this.parentNode);
|
||||
(d3_layout_forceDragNode = d).fixed = true;
|
||||
(d3_layout_forceDragNode = d).fixed |= 2;
|
||||
d3_layout_forceDragMoved = false;
|
||||
d3_layout_forceDragElement = this;
|
||||
d3_layout_forceDragForce = force;
|
||||
|
@ -487,13 +490,11 @@ var d3_layout_forceDragForce,
|
|||
d3_layout_forceDragElement;
|
||||
|
||||
function d3_layout_forceDragOver(d) {
|
||||
d.fixed = true;
|
||||
d.fixed |= 2;
|
||||
}
|
||||
|
||||
function d3_layout_forceDragOut(d) {
|
||||
if (d !== d3_layout_forceDragNode) {
|
||||
d.fixed = false;
|
||||
}
|
||||
if (d !== d3_layout_forceDragNode) d.fixed &= 1;
|
||||
}
|
||||
|
||||
function d3_layout_forcePoint(container) {
|
||||
|
@ -508,7 +509,7 @@ function d3_layout_forceDragMove() {
|
|||
|
||||
// O NOES! The drag element was removed from the DOM.
|
||||
if (!parent) {
|
||||
d3_layout_forceDragNode.fixed = false;
|
||||
d3_layout_forceDragNode.fixed &= 1;
|
||||
d3_layout_forceDragOffset = d3_layout_forceDragNode = d3_layout_forceDragElement = null;
|
||||
return;
|
||||
}
|
||||
|
@ -534,7 +535,7 @@ function d3_layout_forceDragUp() {
|
|||
if (d3.event.type === "mouseup") d3_layout_forceDragMove();
|
||||
}
|
||||
|
||||
d3_layout_forceDragNode.fixed = false;
|
||||
d3_layout_forceDragNode.fixed &= 1;
|
||||
d3_layout_forceDragForce =
|
||||
d3_layout_forceDragOffset =
|
||||
d3_layout_forceDragNode =
|
||||
|
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -9,8 +9,7 @@ var vis = d3.select("#chart")
|
|||
|
||||
d3.json("miserables.json", function(json) {
|
||||
var force = d3.layout.force()
|
||||
.charge(-120)
|
||||
.linkDistance(30)
|
||||
.charge(-60)
|
||||
.nodes(json.nodes)
|
||||
.links(json.links)
|
||||
.size([w, h])
|
||||
|
|
|
@ -18,7 +18,7 @@ body {
|
|||
Sizzle.js disabled.
|
||||
<script type="text/javascript">
|
||||
|
||||
// The :first psuedo-class is a custom Sizzle extension.
|
||||
// The :first pseudo-class is a custom Sizzle extension.
|
||||
d3.select("body:first")
|
||||
.html("Sizzle.js enabled!");
|
||||
|
||||
|
|
|
@ -47,6 +47,13 @@ svg.append("svg:rect")
|
|||
.attr("stroke", stroke)
|
||||
.attr("fill", "none");
|
||||
|
||||
svg.append("svg:a")
|
||||
.attr("xlink:href", "http://mbostock.github.com/d3/")
|
||||
.append("svg:text")
|
||||
.style("font-size", "3em")
|
||||
.attr("transform", "translate(110.5, 110.5)")
|
||||
.text("D3.js");
|
||||
|
||||
redraw();
|
||||
|
||||
function redraw() {
|
||||
|
|
|
@ -16,7 +16,8 @@ d3.behavior.zoom = function() {
|
|||
.on("mousemove.zoom", d3_behavior_zoomMousemove)
|
||||
.on("mouseup.zoom", d3_behavior_zoomMouseup)
|
||||
.on("touchmove.zoom", d3_behavior_zoomTouchmove)
|
||||
.on("touchend.zoom", d3_behavior_zoomTouchup);
|
||||
.on("touchend.zoom", d3_behavior_zoomTouchup)
|
||||
.on("click.zoom", d3_behavior_zoomClick, true);
|
||||
}
|
||||
|
||||
// snapshot the local context for subsequent dispatch
|
||||
|
@ -30,6 +31,7 @@ d3.behavior.zoom = function() {
|
|||
function mousedown() {
|
||||
start.apply(this, arguments);
|
||||
d3_behavior_zoomPanning = d3_behavior_zoomLocation(d3.svg.mouse(d3_behavior_zoomTarget));
|
||||
d3_behavior_zoomMoved = false;
|
||||
d3.event.preventDefault();
|
||||
window.focus();
|
||||
}
|
||||
|
@ -75,7 +77,8 @@ var d3_behavior_zoomDiv,
|
|||
d3_behavior_zoomXyz,
|
||||
d3_behavior_zoomDispatch,
|
||||
d3_behavior_zoomTarget,
|
||||
d3_behavior_zoomArguments;
|
||||
d3_behavior_zoomArguments,
|
||||
d3_behavior_zoomStopClick;
|
||||
|
||||
function d3_behavior_zoomLocation(point) {
|
||||
return [
|
||||
|
@ -154,16 +157,28 @@ function d3_behavior_zoomTouchmove() {
|
|||
|
||||
function d3_behavior_zoomMousemove() {
|
||||
d3_behavior_zoomZooming = null;
|
||||
if (d3_behavior_zoomPanning) d3_behavior_zoomTo(d3_behavior_zoomXyz[2], d3.svg.mouse(d3_behavior_zoomTarget), d3_behavior_zoomPanning);
|
||||
if (d3_behavior_zoomPanning) {
|
||||
d3_behavior_zoomMoved = true;
|
||||
d3_behavior_zoomTo(d3_behavior_zoomXyz[2], d3.svg.mouse(d3_behavior_zoomTarget), d3_behavior_zoomPanning);
|
||||
}
|
||||
}
|
||||
|
||||
function d3_behavior_zoomMouseup() {
|
||||
if (d3_behavior_zoomPanning) {
|
||||
if (d3_behavior_zoomMoved) d3_behavior_zoomStopClick = true;
|
||||
d3_behavior_zoomMousemove();
|
||||
d3_behavior_zoomPanning = null;
|
||||
}
|
||||
}
|
||||
|
||||
function d3_behavior_zoomClick() {
|
||||
if (d3_behavior_zoomStopClick) {
|
||||
d3.event.stopPropagation();
|
||||
d3.event.preventDefault();
|
||||
d3_behavior_zoomStopClick = false;
|
||||
}
|
||||
}
|
||||
|
||||
function d3_behavior_zoomTo(z, x0, x1) {
|
||||
var K = Math.pow(2, (d3_behavior_zoomXyz[2] = z) - x1[2]),
|
||||
x = d3_behavior_zoomXyz[0] = x0[0] - K * x1[0],
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
var d3_array = d3_arraySlice; // conversion for NodeLists
|
||||
|
||||
function d3_arrayCopy(psuedoarray) {
|
||||
var i = -1, n = psuedoarray.length, array = [];
|
||||
while (++i < n) array.push(psuedoarray[i]);
|
||||
function d3_arrayCopy(pseudoarray) {
|
||||
var i = -1, n = pseudoarray.length, array = [];
|
||||
while (++i < n) array.push(pseudoarray[i]);
|
||||
return array;
|
||||
}
|
||||
|
||||
function d3_arraySlice(psuedoarray) {
|
||||
return Array.prototype.slice.call(psuedoarray);
|
||||
function d3_arraySlice(pseudoarray) {
|
||||
return Array.prototype.slice.call(pseudoarray);
|
||||
}
|
||||
|
||||
try {
|
||||
|
|
|
@ -1 +1 @@
|
|||
d3 = {version: "1.29.6"}; // semver
|
||||
d3 = {version: "1.29.7"}; // semver
|
||||
|
|
|
@ -85,7 +85,7 @@ d3.layout.chord = function() {
|
|||
if (source.value || target.value) {
|
||||
chords.push(source.value < target.value
|
||||
? {source: target, target: source}
|
||||
: {source: source, target: target})
|
||||
: {source: source, target: target});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,10 +63,10 @@ d3.layout.force = function() {
|
|||
l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l;
|
||||
x *= l;
|
||||
y *= l;
|
||||
t.x -= x;
|
||||
t.y -= y;
|
||||
s.x += x;
|
||||
s.y += y;
|
||||
t.x -= x / t.weight;
|
||||
t.y -= y / t.weight;
|
||||
s.x += x / s.weight;
|
||||
s.y += y / s.weight;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -181,6 +181,7 @@ d3.layout.force = function() {
|
|||
|
||||
for (i = 0; i < n; ++i) {
|
||||
(o = nodes[i]).index = i;
|
||||
o.weight = 0;
|
||||
}
|
||||
|
||||
distances = [];
|
||||
|
@ -191,6 +192,8 @@ d3.layout.force = function() {
|
|||
if (typeof o.target == "number") o.target = nodes[o.target];
|
||||
distances[i] = linkDistance.call(this, o, i);
|
||||
strengths[i] = linkStrength.call(this, o, i);
|
||||
++o.source.weight;
|
||||
++o.target.weight;
|
||||
}
|
||||
|
||||
for (i = 0; i < n; ++i) {
|
||||
|
@ -262,7 +265,7 @@ d3.layout.force = function() {
|
|||
|
||||
function dragdown(d, i) {
|
||||
var m = d3_layout_forcePoint(this.parentNode);
|
||||
(d3_layout_forceDragNode = d).fixed = true;
|
||||
(d3_layout_forceDragNode = d).fixed |= 2;
|
||||
d3_layout_forceDragMoved = false;
|
||||
d3_layout_forceDragElement = this;
|
||||
d3_layout_forceDragForce = force;
|
||||
|
@ -281,13 +284,11 @@ var d3_layout_forceDragForce,
|
|||
d3_layout_forceDragElement;
|
||||
|
||||
function d3_layout_forceDragOver(d) {
|
||||
d.fixed = true;
|
||||
d.fixed |= 2;
|
||||
}
|
||||
|
||||
function d3_layout_forceDragOut(d) {
|
||||
if (d !== d3_layout_forceDragNode) {
|
||||
d.fixed = false;
|
||||
}
|
||||
if (d !== d3_layout_forceDragNode) d.fixed &= 1;
|
||||
}
|
||||
|
||||
function d3_layout_forcePoint(container) {
|
||||
|
@ -302,7 +303,7 @@ function d3_layout_forceDragMove() {
|
|||
|
||||
// O NOES! The drag element was removed from the DOM.
|
||||
if (!parent) {
|
||||
d3_layout_forceDragNode.fixed = false;
|
||||
d3_layout_forceDragNode.fixed &= 1;
|
||||
d3_layout_forceDragOffset = d3_layout_forceDragNode = d3_layout_forceDragElement = null;
|
||||
return;
|
||||
}
|
||||
|
@ -328,7 +329,7 @@ function d3_layout_forceDragUp() {
|
|||
if (d3.event.type === "mouseup") d3_layout_forceDragMove();
|
||||
}
|
||||
|
||||
d3_layout_forceDragNode.fixed = false;
|
||||
d3_layout_forceDragNode.fixed &= 1;
|
||||
d3_layout_forceDragForce =
|
||||
d3_layout_forceDragOffset =
|
||||
d3_layout_forceDragNode =
|
||||
|
|
Загрузка…
Ссылка в новой задаче