cola.js's flowLayout
gives us the ability to layout a node-link diagram with downward-pointing edges, which can be used to effectively draw a tangled tree, i.e., a tree with a small amount of nodes featuring multiple inheritance (see also this old example).
xxxxxxxxxx
<html lang="en">
<head>
<meta charset="utf-8">
<title>Tangled tree</title>
<link rel="stylesheet" href="index.css">
<script src="https://d3js.org/d3.v3.min.js"></script>
<script src="https://marvl.infotech.monash.edu/webcola/cola.v3.min.js"></script>
</head>
<body>
<svg width="960px" height="500px"></svg>
<script src="index.js"></script>
</body>
</html>
Modified http://d3js.org/d3.v3.min.js to a secure url
Modified http://marvl.infotech.monash.edu/webcola/cola.v3.min.js to a secure url
https://d3js.org/d3.v3.min.js
https://marvl.infotech.monash.edu/webcola/cola.v3.min.js