Got the histogram code to the point where it proved it would be largely useless. Need to rethink that now. Interestingly, it proved out some of the wisdom of an "agile" approach. I've actually been bogged down for a while figuring out all of the logic required for the (rather generic) graph-drawing code. Today I just decided to hard code some values and see what it would look like. Now that I know that, I can see how useless the histogram approach would be for this application, so don't need to do the generic graph-drawing code at all (well, until we have some other graph-requiring task).
Spent the rest of the day working on a new hierarchy type. Will see whether it turns out to be useful. Will need to be made considerably more efficient if it does (it's currently implemented as a just-in-time calculation that occurs for every load, if it's frequently accessed that could be a performance problem).