I have been reading quite a bit on graphing libraries for Java and Javascript lately but I haven\'t found a good way to do what I want to do.
Essentially I have a hiera
There are many approaches to this problem but personally, I'd draw sort of a Venn chart using dynamically generated SVG with a tool like Raphael JS and color it the way I want. Also, Raphael has api like Set that can enable you to give full detailed information about the elements and their relations. There SVG to Code converter will also likely help out in understanding how you can generate the SVG elements.
Alternatively you could, use tools like Venn charts:
which seems to be easily adaptable to this scenario. There's also Flotr2 which can create bubble charts:
or even Canvas Express.
A little more tweaking with any of the later tools will enable you to get it properly done...