Если вы хотите создавать графики (например, визуализировать числовые данные и т. Д.), Как сказал duffymo, JFreeChart, возможно, является лучшим вариантом.
С другой стороны, если вы хотите создавать диаграммы (начиная с блок-схемв UML) Я бы тогда порекомендовал jGraph (с открытым исходным кодом) или даже более мощный (но с закрытым исходным кодом): yFiles