d3_rails 3.4.12 → 3.4.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/d3.js +115 -138
- data/app/assets/javascripts/d3.min.js +5 -5
- data/lib/d3_rails/version.rb +1 -1
- data/tasks/gem.thor +26 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d37fd1b298532d28388dc70dcbb683601833dd4
|
4
|
+
data.tar.gz: 6d741120dd5ae4616e53ac4e073bddfd7f04aac3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9abc200f85d156050e5f9d978c29d9f73767ec2a1aad4830a2c0b429d98385a3d2f5c905764a6334b426982ad9e1dfb4aaa5c89acbf2e1c286c1384869eccab4
|
7
|
+
data.tar.gz: a26d3cff8f3dac03d478d9b53a7963b771728d5709583a735897303bbe7aea5c5ab8d6fe533318738b8fa6ddf146019991a29a5bc1eebfe7e91be16534307f44
|
@@ -1,6 +1,6 @@
|
|
1
1
|
!function() {
|
2
2
|
var d3 = {
|
3
|
-
version: "3.4.
|
3
|
+
version: "3.4.13"
|
4
4
|
};
|
5
5
|
if (!Date.now) Date.now = function() {
|
6
6
|
return +new Date();
|
@@ -78,24 +78,27 @@
|
|
78
78
|
}
|
79
79
|
return [ a, c ];
|
80
80
|
};
|
81
|
+
function d3_number(x) {
|
82
|
+
return x === null ? NaN : +x;
|
83
|
+
}
|
84
|
+
function d3_numeric(x) {
|
85
|
+
return !isNaN(x);
|
86
|
+
}
|
81
87
|
d3.sum = function(array, f) {
|
82
88
|
var s = 0, n = array.length, a, i = -1;
|
83
89
|
if (arguments.length === 1) {
|
84
|
-
while (++i < n) if (
|
90
|
+
while (++i < n) if (d3_numeric(a = +array[i])) s += a;
|
85
91
|
} else {
|
86
|
-
while (++i < n) if (
|
92
|
+
while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a;
|
87
93
|
}
|
88
94
|
return s;
|
89
95
|
};
|
90
|
-
function d3_number(x) {
|
91
|
-
return x != null && !isNaN(x);
|
92
|
-
}
|
93
96
|
d3.mean = function(array, f) {
|
94
97
|
var s = 0, n = array.length, a, i = -1, j = n;
|
95
98
|
if (arguments.length === 1) {
|
96
|
-
while (++i < n) if (
|
99
|
+
while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j;
|
97
100
|
} else {
|
98
|
-
while (++i < n) if (
|
101
|
+
while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j;
|
99
102
|
}
|
100
103
|
return j ? s / j : undefined;
|
101
104
|
};
|
@@ -104,9 +107,13 @@
|
|
104
107
|
return e ? v + e * (values[h] - v) : v;
|
105
108
|
};
|
106
109
|
d3.median = function(array, f) {
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
+
var numbers = [], n = array.length, a, i = -1;
|
111
|
+
if (arguments.length === 1) {
|
112
|
+
while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a);
|
113
|
+
} else {
|
114
|
+
while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a);
|
115
|
+
}
|
116
|
+
return numbers.length ? d3.quantile(numbers.sort(d3_ascending), .5) : undefined;
|
110
117
|
};
|
111
118
|
function d3_bisector(compare) {
|
112
119
|
return {
|
@@ -223,15 +230,11 @@
|
|
223
230
|
return k;
|
224
231
|
}
|
225
232
|
function d3_class(ctor, properties) {
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
});
|
232
|
-
}
|
233
|
-
} catch (e) {
|
234
|
-
ctor.prototype = properties;
|
233
|
+
for (var key in properties) {
|
234
|
+
Object.defineProperty(ctor.prototype, key, {
|
235
|
+
value: properties[key],
|
236
|
+
enumerable: false
|
237
|
+
});
|
235
238
|
}
|
236
239
|
}
|
237
240
|
d3.map = function(object) {
|
@@ -241,62 +244,63 @@
|
|
241
244
|
}); else for (var key in object) map.set(key, object[key]);
|
242
245
|
return map;
|
243
246
|
};
|
244
|
-
function d3_Map() {
|
247
|
+
function d3_Map() {
|
248
|
+
this._ = Object.create(null);
|
249
|
+
}
|
250
|
+
var d3_map_proto = "__proto__", d3_map_zero = "\x00";
|
245
251
|
d3_class(d3_Map, {
|
246
252
|
has: d3_map_has,
|
247
253
|
get: function(key) {
|
248
|
-
return this[
|
254
|
+
return this._[d3_map_escape(key)];
|
249
255
|
},
|
250
256
|
set: function(key, value) {
|
251
|
-
return this[
|
257
|
+
return this._[d3_map_escape(key)] = value;
|
252
258
|
},
|
253
259
|
remove: d3_map_remove,
|
254
260
|
keys: d3_map_keys,
|
255
261
|
values: function() {
|
256
262
|
var values = [];
|
257
|
-
this.
|
258
|
-
values.push(value);
|
259
|
-
});
|
263
|
+
for (var key in this._) values.push(this._[key]);
|
260
264
|
return values;
|
261
265
|
},
|
262
266
|
entries: function() {
|
263
267
|
var entries = [];
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
value: value
|
268
|
-
});
|
268
|
+
for (var key in this._) entries.push({
|
269
|
+
key: d3_map_unescape(key),
|
270
|
+
value: this._[key]
|
269
271
|
});
|
270
272
|
return entries;
|
271
273
|
},
|
272
274
|
size: d3_map_size,
|
273
275
|
empty: d3_map_empty,
|
274
276
|
forEach: function(f) {
|
275
|
-
for (var key in this
|
277
|
+
for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]);
|
276
278
|
}
|
277
279
|
});
|
278
|
-
|
280
|
+
function d3_map_escape(key) {
|
281
|
+
return (key += "") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key;
|
282
|
+
}
|
283
|
+
function d3_map_unescape(key) {
|
284
|
+
return (key += "")[0] === d3_map_zero ? key.slice(1) : key;
|
285
|
+
}
|
279
286
|
function d3_map_has(key) {
|
280
|
-
return
|
287
|
+
return d3_map_escape(key) in this._;
|
281
288
|
}
|
282
289
|
function d3_map_remove(key) {
|
283
|
-
key =
|
284
|
-
return key in this && delete this[key];
|
290
|
+
return (key = d3_map_escape(key)) in this._ && delete this._[key];
|
285
291
|
}
|
286
292
|
function d3_map_keys() {
|
287
293
|
var keys = [];
|
288
|
-
this.
|
289
|
-
keys.push(key);
|
290
|
-
});
|
294
|
+
for (var key in this._) keys.push(d3_map_unescape(key));
|
291
295
|
return keys;
|
292
296
|
}
|
293
297
|
function d3_map_size() {
|
294
298
|
var size = 0;
|
295
|
-
for (var key in this
|
299
|
+
for (var key in this._) ++size;
|
296
300
|
return size;
|
297
301
|
}
|
298
302
|
function d3_map_empty() {
|
299
|
-
for (var key in this
|
303
|
+
for (var key in this._) return false;
|
300
304
|
return true;
|
301
305
|
}
|
302
306
|
d3.nest = function() {
|
@@ -367,22 +371,21 @@
|
|
367
371
|
if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]);
|
368
372
|
return set;
|
369
373
|
};
|
370
|
-
function d3_Set() {
|
374
|
+
function d3_Set() {
|
375
|
+
this._ = Object.create(null);
|
376
|
+
}
|
371
377
|
d3_class(d3_Set, {
|
372
378
|
has: d3_map_has,
|
373
|
-
add: function(
|
374
|
-
this[
|
375
|
-
return
|
376
|
-
},
|
377
|
-
remove: function(value) {
|
378
|
-
value = d3_map_prefix + value;
|
379
|
-
return value in this && delete this[value];
|
379
|
+
add: function(key) {
|
380
|
+
this._[d3_map_escape(key += "")] = true;
|
381
|
+
return key;
|
380
382
|
},
|
383
|
+
remove: d3_map_remove,
|
381
384
|
values: d3_map_keys,
|
382
385
|
size: d3_map_size,
|
383
386
|
empty: d3_map_empty,
|
384
387
|
forEach: function(f) {
|
385
|
-
for (var
|
388
|
+
for (var key in this._) f.call(this, d3_map_unescape(key));
|
386
389
|
}
|
387
390
|
});
|
388
391
|
d3.behavior = {};
|
@@ -762,29 +765,26 @@
|
|
762
765
|
function bind(group, groupData) {
|
763
766
|
var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData;
|
764
767
|
if (key) {
|
765
|
-
var nodeByKeyValue = new d3_Map(),
|
768
|
+
var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue;
|
766
769
|
for (i = -1; ++i < n; ) {
|
767
|
-
keyValue = key.call(node = group[i], node.__data__, i)
|
768
|
-
if (nodeByKeyValue.has(keyValue)) {
|
770
|
+
if (nodeByKeyValue.has(keyValue = key.call(node = group[i], node.__data__, i))) {
|
769
771
|
exitNodes[i] = node;
|
770
772
|
} else {
|
771
773
|
nodeByKeyValue.set(keyValue, node);
|
772
774
|
}
|
773
|
-
keyValues
|
775
|
+
keyValues[i] = keyValue;
|
774
776
|
}
|
775
777
|
for (i = -1; ++i < m; ) {
|
776
|
-
keyValue = key.call(groupData, nodeData = groupData[i], i)
|
777
|
-
|
778
|
+
if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) {
|
779
|
+
enterNodes[i] = d3_selection_dataNode(nodeData);
|
780
|
+
} else if (node !== true) {
|
778
781
|
updateNodes[i] = node;
|
779
782
|
node.__data__ = nodeData;
|
780
|
-
} else if (!dataByKeyValue.has(keyValue)) {
|
781
|
-
enterNodes[i] = d3_selection_dataNode(nodeData);
|
782
783
|
}
|
783
|
-
|
784
|
-
nodeByKeyValue.remove(keyValue);
|
784
|
+
nodeByKeyValue.set(keyValue, true);
|
785
785
|
}
|
786
786
|
for (i = -1; ++i < n; ) {
|
787
|
-
if (nodeByKeyValue.
|
787
|
+
if (nodeByKeyValue.get(keyValues[i]) !== true) {
|
788
788
|
exitNodes[i] = group[i];
|
789
789
|
}
|
790
790
|
}
|
@@ -1548,7 +1548,7 @@
|
|
1548
1548
|
}
|
1549
1549
|
d3.lab = d3_lab;
|
1550
1550
|
function d3_lab(l, a, b) {
|
1551
|
-
return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.
|
1551
|
+
return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b);
|
1552
1552
|
}
|
1553
1553
|
var d3_lab_K = 18;
|
1554
1554
|
var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883;
|
@@ -1997,7 +1997,7 @@
|
|
1997
1997
|
a.push(t);
|
1998
1998
|
t = token();
|
1999
1999
|
}
|
2000
|
-
if (f &&
|
2000
|
+
if (f && (a = f(a, n++)) == null) continue;
|
2001
2001
|
rows.push(a);
|
2002
2002
|
}
|
2003
2003
|
return rows;
|
@@ -2120,21 +2120,22 @@
|
|
2120
2120
|
};
|
2121
2121
|
}
|
2122
2122
|
function d3_locale_numberFormat(locale) {
|
2123
|
-
var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping ? function(value) {
|
2124
|
-
var i = value.length, t = [], j = 0, g = locale_grouping[0];
|
2125
|
-
while (
|
2123
|
+
var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) {
|
2124
|
+
var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0;
|
2125
|
+
while (i > 0 && g > 0) {
|
2126
|
+
if (length + g + 1 > width) g = Math.max(1, width - length);
|
2126
2127
|
t.push(value.substring(i -= g, i + g));
|
2128
|
+
if ((length += g + 1) > width) break;
|
2127
2129
|
g = locale_grouping[j = (j + 1) % locale_grouping.length];
|
2128
2130
|
}
|
2129
2131
|
return t.reverse().join(locale_thousands);
|
2130
2132
|
} : d3_identity;
|
2131
2133
|
return function(specifier) {
|
2132
|
-
var match = d3_format_re.exec(specifier), fill = match[1] || " ", align = match[2] || ">", sign = match[3] || "", symbol = match[4] || "", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = "", suffix = "", integer = false;
|
2134
|
+
var match = d3_format_re.exec(specifier), fill = match[1] || " ", align = match[2] || ">", sign = match[3] || "-", symbol = match[4] || "", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = "", suffix = "", integer = false, exponent = true;
|
2133
2135
|
if (precision) precision = +precision.substring(1);
|
2134
2136
|
if (zfill || fill === "0" && align === "=") {
|
2135
2137
|
zfill = fill = "0";
|
2136
2138
|
align = "=";
|
2137
|
-
if (comma) width -= Math.floor((width - 1) / 4);
|
2138
2139
|
}
|
2139
2140
|
switch (type) {
|
2140
2141
|
case "n":
|
@@ -2161,6 +2162,8 @@
|
|
2161
2162
|
if (symbol === "#") prefix = "0" + type.toLowerCase();
|
2162
2163
|
|
2163
2164
|
case "c":
|
2165
|
+
exponent = false;
|
2166
|
+
|
2164
2167
|
case "d":
|
2165
2168
|
integer = true;
|
2166
2169
|
precision = 0;
|
@@ -2181,7 +2184,7 @@
|
|
2181
2184
|
return function(value) {
|
2182
2185
|
var fullSuffix = suffix;
|
2183
2186
|
if (integer && value % 1) return "";
|
2184
|
-
var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, "-") : sign;
|
2187
|
+
var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, "-") : sign === "-" ? "" : sign;
|
2185
2188
|
if (scale < 0) {
|
2186
2189
|
var unit = d3.formatPrefix(value, precision);
|
2187
2190
|
value = unit.scale(value);
|
@@ -2190,10 +2193,17 @@
|
|
2190
2193
|
value *= scale;
|
2191
2194
|
}
|
2192
2195
|
value = type(value, precision);
|
2193
|
-
var i = value.lastIndexOf("."), before
|
2194
|
-
if (
|
2196
|
+
var i = value.lastIndexOf("."), before, after;
|
2197
|
+
if (i < 0) {
|
2198
|
+
var j = exponent ? value.lastIndexOf("e") : -1;
|
2199
|
+
if (j < 0) before = value, after = ""; else before = value.substring(0, j), after = value.substring(j);
|
2200
|
+
} else {
|
2201
|
+
before = value.substring(0, i);
|
2202
|
+
after = locale_decimal + value.substring(i + 1);
|
2203
|
+
}
|
2204
|
+
if (!zfill && comma) before = formatGroup(before, Infinity);
|
2195
2205
|
var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : "";
|
2196
|
-
if (zcomma) before = formatGroup(padding + before);
|
2206
|
+
if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity);
|
2197
2207
|
negative += prefix;
|
2198
2208
|
value = before + after;
|
2199
2209
|
return (align === "<" ? negative + value + padding : align === ">" ? padding + negative + value : align === "^" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix;
|
@@ -5605,9 +5615,9 @@
|
|
5605
5615
|
}
|
5606
5616
|
d3.interpolateNumber = d3_interpolateNumber;
|
5607
5617
|
function d3_interpolateNumber(a, b) {
|
5608
|
-
|
5618
|
+
a = +a, b = +b;
|
5609
5619
|
return function(t) {
|
5610
|
-
return a + b * t;
|
5620
|
+
return a * (1 - t) + b * t;
|
5611
5621
|
};
|
5612
5622
|
}
|
5613
5623
|
d3.interpolateString = d3_interpolateString;
|
@@ -5906,15 +5916,15 @@
|
|
5906
5916
|
};
|
5907
5917
|
}
|
5908
5918
|
function d3_uninterpolateNumber(a, b) {
|
5909
|
-
b = b
|
5919
|
+
b = (b -= a = +a) || 1 / b;
|
5910
5920
|
return function(x) {
|
5911
|
-
return (x - a)
|
5921
|
+
return (x - a) / b;
|
5912
5922
|
};
|
5913
5923
|
}
|
5914
5924
|
function d3_uninterpolateClamp(a, b) {
|
5915
|
-
b = b
|
5925
|
+
b = (b -= a = +a) || 1 / b;
|
5916
5926
|
return function(x) {
|
5917
|
-
return Math.max(0, Math.min(1, (x - a)
|
5927
|
+
return Math.max(0, Math.min(1, (x - a) / b));
|
5918
5928
|
};
|
5919
5929
|
}
|
5920
5930
|
d3.layout = {};
|
@@ -6516,6 +6526,7 @@
|
|
6516
6526
|
d3.layout.stack = function() {
|
6517
6527
|
var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY;
|
6518
6528
|
function stack(data, index) {
|
6529
|
+
if (!(n = data.length)) return data;
|
6519
6530
|
var series = data.map(function(d, i) {
|
6520
6531
|
return values.call(stack, d, i);
|
6521
6532
|
});
|
@@ -6528,7 +6539,7 @@
|
|
6528
6539
|
series = d3.permute(series, orders);
|
6529
6540
|
points = d3.permute(points, orders);
|
6530
6541
|
var offsets = offset.call(stack, points, index);
|
6531
|
-
var
|
6542
|
+
var m = series[0].length, n, i, j, o;
|
6532
6543
|
for (j = 0; j < m; ++j) {
|
6533
6544
|
out.call(stack, series[0][j], o = offsets[j], points[0][j][1]);
|
6534
6545
|
for (i = 1; i < n; ++i) {
|
@@ -7683,7 +7694,7 @@
|
|
7683
7694
|
}
|
7684
7695
|
scale.domain = function(x) {
|
7685
7696
|
if (!arguments.length) return domain;
|
7686
|
-
domain = x.
|
7697
|
+
domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending);
|
7687
7698
|
return rescale();
|
7688
7699
|
};
|
7689
7700
|
scale.range = function(x) {
|
@@ -8632,61 +8643,25 @@
|
|
8632
8643
|
g.each(function() {
|
8633
8644
|
var g = d3.select(this);
|
8634
8645
|
var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy();
|
8635
|
-
var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(".tick").data(ticks, scale1), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick").style("opacity", ε), tickExit = d3.transition(tick.exit()).style("opacity", ε).remove(), tickUpdate = d3.transition(tick.order()).style("opacity", 1), tickTransform;
|
8646
|
+
var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(".tick").data(ticks, scale1), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick").style("opacity", ε), tickExit = d3.transition(tick.exit()).style("opacity", ε).remove(), tickUpdate = d3.transition(tick.order()).style("opacity", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform;
|
8636
8647
|
var range = d3_scaleRange(scale1), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"),
|
8637
8648
|
d3.transition(path));
|
8638
8649
|
tickEnter.append("line");
|
8639
8650
|
tickEnter.append("text");
|
8640
|
-
var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text");
|
8641
|
-
|
8642
|
-
|
8643
|
-
|
8644
|
-
|
8645
|
-
|
8646
|
-
|
8647
|
-
|
8648
|
-
|
8649
|
-
|
8650
|
-
|
8651
|
-
|
8652
|
-
|
8653
|
-
|
8654
|
-
case "top":
|
8655
|
-
{
|
8656
|
-
tickTransform = d3_svg_axisX;
|
8657
|
-
lineEnter.attr("y2", -innerTickSize);
|
8658
|
-
textEnter.attr("y", -(Math.max(innerTickSize, 0) + tickPadding));
|
8659
|
-
lineUpdate.attr("x2", 0).attr("y2", -innerTickSize);
|
8660
|
-
textUpdate.attr("x", 0).attr("y", -(Math.max(innerTickSize, 0) + tickPadding));
|
8661
|
-
text.attr("dy", "0em").style("text-anchor", "middle");
|
8662
|
-
pathUpdate.attr("d", "M" + range[0] + "," + -outerTickSize + "V0H" + range[1] + "V" + -outerTickSize);
|
8663
|
-
break;
|
8664
|
-
}
|
8665
|
-
|
8666
|
-
case "left":
|
8667
|
-
{
|
8668
|
-
tickTransform = d3_svg_axisY;
|
8669
|
-
lineEnter.attr("x2", -innerTickSize);
|
8670
|
-
textEnter.attr("x", -(Math.max(innerTickSize, 0) + tickPadding));
|
8671
|
-
lineUpdate.attr("x2", -innerTickSize).attr("y2", 0);
|
8672
|
-
textUpdate.attr("x", -(Math.max(innerTickSize, 0) + tickPadding)).attr("y", 0);
|
8673
|
-
text.attr("dy", ".32em").style("text-anchor", "end");
|
8674
|
-
pathUpdate.attr("d", "M" + -outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + -outerTickSize);
|
8675
|
-
break;
|
8676
|
-
}
|
8677
|
-
|
8678
|
-
case "right":
|
8679
|
-
{
|
8680
|
-
tickTransform = d3_svg_axisY;
|
8681
|
-
lineEnter.attr("x2", innerTickSize);
|
8682
|
-
textEnter.attr("x", Math.max(innerTickSize, 0) + tickPadding);
|
8683
|
-
lineUpdate.attr("x2", innerTickSize).attr("y2", 0);
|
8684
|
-
textUpdate.attr("x", Math.max(innerTickSize, 0) + tickPadding).attr("y", 0);
|
8685
|
-
text.attr("dy", ".32em").style("text-anchor", "start");
|
8686
|
-
pathUpdate.attr("d", "M" + outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + outerTickSize);
|
8687
|
-
break;
|
8688
|
-
}
|
8689
|
-
}
|
8651
|
+
var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"), sign = orient === "top" || orient === "left" ? -1 : 1, x1, x2, y1, y2;
|
8652
|
+
if (orient === "bottom" || orient === "top") {
|
8653
|
+
tickTransform = d3_svg_axisX, x1 = "x", y1 = "y", x2 = "x2", y2 = "y2";
|
8654
|
+
text.attr("dy", sign < 0 ? "0em" : ".71em").style("text-anchor", "middle");
|
8655
|
+
pathUpdate.attr("d", "M" + range[0] + "," + sign * outerTickSize + "V0H" + range[1] + "V" + sign * outerTickSize);
|
8656
|
+
} else {
|
8657
|
+
tickTransform = d3_svg_axisY, x1 = "y", y1 = "x", x2 = "y2", y2 = "x2";
|
8658
|
+
text.attr("dy", ".32em").style("text-anchor", sign < 0 ? "end" : "start");
|
8659
|
+
pathUpdate.attr("d", "M" + sign * outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + sign * outerTickSize);
|
8660
|
+
}
|
8661
|
+
lineEnter.attr(y2, sign * innerTickSize);
|
8662
|
+
textEnter.attr(y1, sign * tickSpacing);
|
8663
|
+
lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize);
|
8664
|
+
textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing);
|
8690
8665
|
if (scale1.rangeBand) {
|
8691
8666
|
var x = scale1, dx = x.rangeBand() / 2;
|
8692
8667
|
scale0 = scale1 = function(d) {
|
@@ -8695,10 +8670,10 @@
|
|
8695
8670
|
} else if (scale0.rangeBand) {
|
8696
8671
|
scale0 = scale1;
|
8697
8672
|
} else {
|
8698
|
-
tickExit.call(tickTransform, scale1);
|
8673
|
+
tickExit.call(tickTransform, scale1, scale0);
|
8699
8674
|
}
|
8700
|
-
tickEnter.call(tickTransform, scale0);
|
8701
|
-
tickUpdate.call(tickTransform, scale1);
|
8675
|
+
tickEnter.call(tickTransform, scale0, scale1);
|
8676
|
+
tickUpdate.call(tickTransform, scale1, scale1);
|
8702
8677
|
});
|
8703
8678
|
}
|
8704
8679
|
axis.scale = function(x) {
|
@@ -8759,14 +8734,16 @@
|
|
8759
8734
|
bottom: 1,
|
8760
8735
|
left: 1
|
8761
8736
|
};
|
8762
|
-
function d3_svg_axisX(selection,
|
8737
|
+
function d3_svg_axisX(selection, x0, x1) {
|
8763
8738
|
selection.attr("transform", function(d) {
|
8764
|
-
|
8739
|
+
var v0 = x0(d);
|
8740
|
+
return "translate(" + (isFinite(v0) ? v0 : x1(d)) + ",0)";
|
8765
8741
|
});
|
8766
8742
|
}
|
8767
|
-
function d3_svg_axisY(selection,
|
8743
|
+
function d3_svg_axisY(selection, y0, y1) {
|
8768
8744
|
selection.attr("transform", function(d) {
|
8769
|
-
|
8745
|
+
var v0 = y0(d);
|
8746
|
+
return "translate(0," + (isFinite(v0) ? v0 : y1(d)) + ")";
|
8770
8747
|
});
|
8771
8748
|
}
|
8772
8749
|
d3.svg.brush = function() {
|