I want to color classes in my class diagram, based on a certain criteria, and then display a legend, that would look roughly like:
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?
There doesn't appear to be a direct way of including a color-coded legend in a PlantUML diagram, but I figured out a workaround which is close enough. Declare classes TypeA , TypeB , TypeC inside a package LEGEND . Hide the circle, methods and members for each class. Attach "hidden" connectors between the classes.
When we want to text to be center aligned we simply use the new-line character \n . If we want to have our text left aligned we use \l instead of \n . And to right align the text we use \r . Written with PlantUML 1.2017.
PlantUML is free and open source and will always be. Those messages are usually generated on welcome or error images and never on fonctional diagrams.
I've tried nfec's solution and it was not working for me, but it started me off on a solution that did work. Here is what I got:
legend right |Color| Type | |<#FF0000>| Type A class| |<#00FF00>| Type B class| |<#0000FF>| Type C class| endlegend
This is how it looks like:
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
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With