Skip to content

Instantly share code, notes, and snippets.

@jhubley
Last active June 28, 2018 14:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jhubley/9f9e5c6b5dd5acbb9d76100c71d1b536 to your computer and use it in GitHub Desktop.
Save jhubley/9f9e5c6b5dd5acbb9d76100c71d1b536 to your computer and use it in GitHub Desktop.
munzner hierarchy dendrogram
license: gpl-3.0
height: 800
scrolling: no
border: yes
<!DOCTYPE html>
<meta charset="utf-8">
<style>
.node circle {
fill: #999;
}
.node text {
font: 10px sans-serif;
}
.node--internal circle {
fill: #555;
}
.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: #555;
stroke-opacity: 0.4;
stroke-width: 1.5px;
}
</style>
<svg width="1000" height="750"></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(80,0)");
var tree = d3.cluster()
.size([height, width - 160]);
var stratify = d3.stratify()
.parentId(function(d) { return d.id.substring(0, d.id.lastIndexOf(".")); });
d3.csv("munznerhierarchy.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); });
tree(root);
var link = g.selectAll(".link")
.data(root.descendants().slice(1))
.enter().append("path")
.attr("class", "link")
.attr("d", function(d) {
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;
});
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);
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>
id value
Visualization
Visualization.Why
Visualization.Why.Actions
Visualization.Why.Actions.Analyze
Visualization.Why.Actions.Analyze.Consume
Visualization.Why.Actions.Analyze.Consume.Discover
Visualization.Why.Actions.Analyze.Consume.Present
Visualization.Why.Actions.Analyze.Consume.Enjoy
Visualization.Why.Actions.Analyze.Produce
Visualization.Why.Actions.Analyze.Produce.Annotate
Visualization.Why.Actions.Analyze.Produce.Record
Visualization.Why.Actions.Analyze.Produce.Derive
Visualization.Why.Actions.Search
Visualization.Why.Actions.Search.Lookup
Visualization.Why.Actions.Search.Locate
Visualization.Why.Actions.Search.Browse
Visualization.Why.Actions.Search.Explore
Visualization.Why.Actions.Query
Visualization.Why.Actions.Query.Identify
Visualization.Why.Actions.Query.Compare
Visualization.Why.Actions.Query.Summarize
Visualization.How
Visualization.How.Encode
Visualization.How.Encode.Arrange
Visualization.How.Encode.Express
Visualization.How.Encode.Separate
Visualization.How.Encode.Order
Visualization.How.Encode.Align
Visualization.How.Encode.Use
Visualization.How.Encode.Map
Visualization.How.Manipulate
Visualization.How.Manipulate.Change
Visualization.How.Manipulate.Select
Visualization.How.Manipulate.Navigate
Visualization.How.Facet
Visualization.How.Facet.Juxtapose
Visualization.How.Facet.Partition
Visualization.How.Facet.Superimpose
Visualization.How.Reduce
Visualization.How.Reduce.Filter
Visualization.How.Reduce.Aggregate
Visualization.How.Reduce.Embed
Visualization.Why.Targets
Visualization.Why.Targets.All Data
Visualization.Why.Targets.All Data.Trends
Visualization.Why.Targets.All Data.Outliers
Visualization.Why.Targets.All Data.Features
Visualization.Why.Targets.Attributes
Visualization.Why.Targets.Attributes.One
Visualization.Why.Targets.Attributes.One.Distributions
Visualization.Why.Targets.Attributes.One.Extremes
Visualization.Why.Targets.Attributes.Many
Visualization.Why.Targets.Attributes.Many.Dependency
Visualization.Why.Targets.Attributes.Many.Correlation
Visualization.Why.Targets.Attributes.Many.Similarity
Visualization.Why.Targets.Network Data
Visualization.Why.Targets.Network Data.Topology
Visualization.Why.Targets.Spatial Data
Visualization.Why.Targets.Spatial Data.Shape
Visualization.What
Visualization.What.Datasets
Visualization.What.Datasets.Data Types
Visualization.What.Datasets.Data Types.Items
Visualization.What.Datasets.Data Types.Attributes
Visualization.What.Datasets.Data Types.Links
Visualization.What.Datasets.Data Types.Positions
Visualization.What.Datasets.Data Types.Grids
Visualization.What.Datasets.Dataset Types
Visualization.What.Datasets.Dataset Types.Tables
Visualization.What.Datasets.Dataset Types.Tables.Multidimensional Tables
Visualization.What.Datasets.Dataset Types.Networks
Visualization.What.Datasets.Dataset Types.Networks.Trees
Visualization.What.Datasets.Dataset Types.Fields
Visualization.What.Datasets.Dataset Types.Geometry
Visualization.What.Datasets.Dataset Availability
Visualization.What.Datasets.Dataset Availability.Static
Visualization.What.Datasets.Dataset Availability.Dynamic
Visualization.What.Attributes
Visualization.What.Attributes.Attribute Types
Visualization.What.Attributes.Attribute Types.Categorical
Visualization.What.Attributes.Attribute Types.Ordered
Visualization.What.Attributes.Attribute Types.Ordered.Ordinal
Visualization.What.Attributes.Attribute Types.Ordered.Quantitative
Visualization.What.Attributes.Ordering Direction
Visualization.What.Attributes.Ordering Direction.Sequential
Visualization.What.Attributes.Ordering Direction.Diverging
Visualization.What.Attributes.Ordering Direction.Cyclic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment