Search code examples
documentation-generationplantuml

How to generate a legend with colors in PlantUML?


I want to color classes in my class diagram, based on a certain criteria, and then display a legend, that would look roughly like:

Legend with colors

If I could add an HTML table within PlantUML's legend and endlegend, I could achieve this by changing the cell backgrounds. However, adding the HTML <table> doesn't work. I also tried using PlantUML's salt to insert a table, but I couldn't find any way to color the cells of the table.

Is there any way to achieve this?


Solution

  • This is not perfect, but you can use a creole table. (see http://plantuml.sourceforge.net/creole.html )

    @startuml class foo
    
     legend
     |= |= Type |
     |<back:#FF0000>   </back>| Type A class |
     |<back:#00FF00>   </back>| Type B class |
     |<back:blue>   </back>| Type C class |
     endlegend
    
    @enduml
    

    Image showing the legend.

    There are some drawing artifacts, but is it what you are expecting ?

    From the plantuml forum. Where they allowed to copy this answer here.

    Yes, please copy/paste our answer to StackOverflow : it would indeed by helpful

    http://plantuml.sourceforge.net/qa/?qa=3596/how-to-generate-a-legend-with-colors-in-plantuml