Built with blockbuilder.org
Last active
May 1, 2017 03:23
-
-
Save maelafifi/c31baf52fc620315617057c9dd24d508 to your computer and use it in GitHub Desktop.
fresh block
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
license: mit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
.node circle { | |
fill: #999; | |
} | |
.node text { | |
font: 10px sans-serif; | |
} | |
.node--internal circle { | |
fill: red; | |
} | |
.node--internal text { | |
text-shadow: 0 1px 0 #fff, 0 -1px 0 #fff, 1px 0 0 #fff, -1px 0 0 #fff; | |
} | |
.link { | |
fill: none; | |
stroke-opacity: 0.4; | |
stroke-width: 1px; | |
} | |
</style> | |
<svg width="1060" height="600"></svg> | |
<script src="//d3js.org/d3.v4.min.js"></script> | |
<script> | |
var svg = d3.select("svg"), | |
width = +svg.attr("width"), | |
height = +svg.attr("height"), | |
g = svg.append("g").attr("transform", "translate(40,0)"); | |
var cluster = d3.cluster() | |
.size([height, width - 300]); | |
var stratify = d3.stratify() | |
.parentId(function(d) { return d.id.substring(0, d.id.lastIndexOf(".")); }); | |
function count(s1) | |
{ | |
return s1.split(".").length -1; | |
} | |
d3.csv("java.csv", function(error, data) { | |
if (error) throw error; | |
var root = stratify(data) | |
.sort(function(a, b) { return (a.height - b.height) || a.id.localeCompare(b.id); }); | |
cluster(root); | |
var link = g.selectAll(".link") | |
.data(root.descendants().slice(1)) | |
.enter().append("path") | |
.attr("class", "link") | |
.attr("d", function(d) { | |
var x = function(d) { return d.x; }; | |
var y = function(d) { return d.y; }; | |
var line = d3.line() | |
.curve(d3.curveLinear) | |
.x(x) | |
.y(y); | |
return "M" + d.y + "," + d.x | |
+ "C" + (d.parent.y + 100) + "," + d.x | |
+ " " + (d.parent.y + 100) + "," + d.parent.x | |
+ " " + d.parent.y + "," + d.parent.x; | |
}) | |
.style("stroke", function (d) | |
{ | |
var x = count(d.id); | |
if(x <= 0) | |
{ | |
return "#000000"; | |
} | |
else if(x <= 1) | |
{ | |
return "red"; | |
} | |
else if(x <= 2) | |
{ | |
return "green"; | |
} | |
else if(x <= 3) | |
{ | |
return "brown"; | |
} | |
else if(x <= 4) | |
{ | |
return "brown"; | |
} | |
else if(x <= 5) | |
{ | |
return "pink"; | |
} | |
}); | |
var node = g.selectAll(".node") | |
.data(root.descendants()) | |
.enter().append("g") | |
.attr("class", function(d) { return "node" + (d.children ? " node--internal" : " node--leaf"); }) | |
.attr("transform", function(d) { return "translate(" + d.y + "," + d.x + ")"; }) | |
node.append("circle") | |
.attr("r", 2.5) | |
.style("fill", function (d) | |
{ | |
var x = count(d.id); | |
if(x <= 0) | |
{ | |
return "#000000"; | |
} | |
else if(x <= 1) | |
{ | |
return "red"; | |
} | |
else if(x <= 2) | |
{ | |
return "green"; | |
} | |
else if(x <= 3) | |
{ | |
return "brown"; | |
} | |
else if(x <= 4) | |
{ | |
return "brown"; | |
} | |
else if(x <= 5) | |
{ | |
return "pink"; | |
} | |
}); | |
node.append("text") | |
.attr("dy", 3) | |
.attr("x", function(d) { return d.children ? -8 : 8; }) | |
.style("text-anchor", function(d) { return d.children ? "end" : "start"; }) | |
.text(function(d) { return d.id.substring(d.id.lastIndexOf(".") + 1); }); | |
}); | |
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
id | value | |
---|---|---|
java | ||
java.util | ||
java.util.concurrent | ||
java.util.concurrent.AbstractExecutorService | 41895.0 | |
java.util.concurrent.ArrayBlockingQueue | 71548.0 | |
java.util.concurrent.atomic | ||
java.util.concurrent.atomic.AtomicBoolean | 19384.0 | |
java.util.concurrent.atomic.AtomicInteger | 36886.0 | |
java.util.concurrent.atomic.AtomicIntegerArray | 34818.0 | |
java.util.concurrent.atomic.AtomicIntegerFieldUpdater | 42839.0 | |
java.util.concurrent.atomic.AtomicLong | 36826.0 | |
java.util.concurrent.atomic.AtomicLongArray | 34754.0 | |
java.util.concurrent.atomic.AtomicLongFieldUpdater | 42658.0 | |
java.util.concurrent.atomic.AtomicMarkableReference | 23635.0 | |
java.util.concurrent.atomic.AtomicReference | 31478.0 | |
java.util.concurrent.atomic.AtomicReferenceArray | 35043.0 | |
java.util.concurrent.atomic.AtomicReferenceFieldUpdater | 40864.0 | |
java.util.concurrent.atomic.AtomicStampedReference | 23484.0 | |
java.util.concurrent.atomic.DoubleAccumulator | 25228.0 | |
java.util.concurrent.atomic.DoubleAdder | 23674.0 | |
java.util.concurrent.atomic.LongAccumulator | 25356.0 | |
java.util.concurrent.atomic.LongAdder | 24771.0 | |
java.util.concurrent.BlockingDeque | 95136.0 | |
java.util.concurrent.BlockingQueue | 44846.0 | |
java.util.concurrent.BrokenBarrierException | 13294.0 | |
java.util.concurrent.Callable | 11102.0 | |
java.util.concurrent.CancellationException | 13566.0 | |
java.util.concurrent.CompletableFuture.AsynchronousCompletionTask | 7644.0 | |
java.util.concurrent.CompletableFuture | 186898.0 | |
java.util.concurrent.CompletionException | 16557.0 | |
java.util.concurrent.CompletionService | 20087.0 | |
java.util.concurrent.CompletionStage | 115514.0 | |
java.util.concurrent.ConcurrentHashMap | 207497.0 | |
java.util.concurrent.ConcurrentHashMap.KeySetView | 58242.0 | |
java.util.concurrent.ConcurrentLinkedDeque | 91451.0 | |
java.util.concurrent.ConcurrentLinkedQueue | 50617.0 | |
java.util.concurrent.ConcurrentMap | 61075.0 | |
java.util.concurrent.ConcurrentNavigableMap | 55603.0 | |
java.util.concurrent.ConcurrentSkipListMap | 187419.0 | |
java.util.concurrent.ConcurrentSkipListSet | 103952.0 | |
java.util.concurrent.CopyOnWriteArrayList | 98649.0 | |
java.util.concurrent.CopyOnWriteArraySet | 64887.0 | |
java.util.concurrent.CountDownLatch | 24747.0 | |
java.util.concurrent.CountedCompleter | 65441.0 | |
java.util.concurrent.CyclicBarrier | 30973.0 | |
java.util.concurrent.Delayed | 10850.0 | |
java.util.concurrent.DelayQueue | 61308.0 | |
java.util.concurrent.Exchanger | 20688.0 | |
java.util.concurrent.ExecutionException | 16505.0 | |
java.util.concurrent.Executor | 13814.0 | |
java.util.concurrent.ExecutorCompletionService | 30763.0 | |
java.util.concurrent.Executors | 59284.0 | |
java.util.concurrent.ExecutorService | 43148.0 | |
java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory | 10730.0 | |
java.util.concurrent.ForkJoinPool | 87843.0 | |
java.util.concurrent.ForkJoinPool.ManagedBlocker | 12962.0 | |
java.util.concurrent.ForkJoinTask | 82817.0 | |
java.util.concurrent.ForkJoinWorkerThread | 23995.0 | |
java.util.concurrent.Future | 20372.0 | |
java.util.concurrent.FutureTask | 33548.0 | |
java.util.concurrent.LinkedBlockingDeque | 147048.0 | |
java.util.concurrent.LinkedBlockingQueue | 66916.0 | |
java.util.concurrent.LinkedTransferQueue | 72791.0 | |
java.util.concurrent.locks | ||
java.util.concurrent.locks.AbstractOwnableSynchronizer | 14835.0 | |
java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject | 34389.0 | |
java.util.concurrent.locks.AbstractQueuedLongSynchronizer | 69366.0 | |
java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject | 33954.0 | |
java.util.concurrent.locks.AbstractQueuedSynchronizer | 81713.0 | |
java.util.concurrent.locks.Condition | 36232.0 | |
java.util.concurrent.locks.Lock | 28286.0 | |
java.util.concurrent.locks.LockSupport | 28401.0 | |
java.util.concurrent.locks.ReadWriteLock | 15356.0 | |
java.util.concurrent.locks.ReentrantLock | 52223.0 | |
java.util.concurrent.locks.ReentrantReadWriteLock | 49572.0 | |
java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock | 27538.0 | |
java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock | 34031.0 | |
java.util.concurrent.locks.StampedLock | 50130.0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment