The KanjiVG Project is a widely-used database of kanji components and stroke orders. This page helps visualize the elemental hierarchy of kanji, as described by the KanjiVG community, specifically for the 2'200 official regular-use jōyō kanji shown to the right (ordered per James Heisig).
Please click on a kanji in the list to the right to see its graphical visualization below. Drag nodes to move them, double-click them to see their graphs. KanjiVG's SVG is linked in each box for convenience. D3.js' force-directed layout is fancy but entirely too flexible for such structured hierarchies. And please get in touch via GitHub.
To highlight some aspects this database, consider the first example, 蔵. KanjiVG sees each kanji's strokes as grouped into common "elements". Elements may be other kanji, like 臣, or radicals, like 戈. Because elements can be nested both in space and time, visualizing elements' hierarchies as directed graphs can result in cycles and bidirectional links. (Some dragging to rearrange the graph may be necessary to clearly see the cycle. Also note that the original form of an element is given in parenthesis, e.g., "艹 (艸)".)
The second example, 渓, shows the variability between a component element and its appearance in a kanji. Specifically, KanjiVG identifies the combined 爪/夫 element as 奚. I, personally, do not understand the etymological or linguistic reason for this identification.
Consider 環, the third example. While the Chinese primitive 𧘇 (part of the Japanese kanji 衣) may seem an ideal candidate for representing the lower-right set of strokes, KanjiVG does not recognize these Chinese primitives. Therefore, 𧘇 is represented as a set of individual, free-living strokes. An added unusuality here: the horizontal line could have been represented as 一 (a bona fide kanji) but isn't.
The fourth example, 剰, emphasizes the first: KanjiVG sees elements as organizing the stroke order, and so its descriptors may give rise to unusual elemental genetics.