我想根据特定标准为类图中的类着色,然后显示一个图例,大致如下所示:
如果我可以在 PlantUMLlegend
和中添加一个 HTML 表格endlegend
,我可以通过更改单元格背景来实现这一点。但是,添加 HTML<table>
不起作用。我还尝试使用PlantUMLsalt
插入表格,但我找不到任何方法来为表格的单元格着色。
有什么办法可以做到这一点?
我想根据特定标准为类图中的类着色,然后显示一个图例,大致如下所示:
如果我可以在 PlantUMLlegend
和中添加一个 HTML 表格endlegend
,我可以通过更改单元格背景来实现这一点。但是,添加 HTML<table>
不起作用。我还尝试使用PlantUMLsalt
插入表格,但我找不到任何方法来为表格的单元格着色。
有什么办法可以做到这一点?
这并不完美,但您可以使用克里奥尔语表。(见 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
有一些绘图工件,但这是您所期望的吗?
来自植物论坛。他们允许在此处复制此答案的地方。
是的,请复制/粘贴我们对 StackOverflow 的回答:这确实很有帮助
http://plantuml.sourceforge.net/qa/?qa=3596/how-to-generate-a-legend-with-colors-in-plantuml
似乎没有直接的方法在 PlantUML 图中包含颜色编码的图例,但我想出了一个足够接近的解决方法。
TypeA
, 。TypeB
TypeC
LEGEND
package LEGEND <<Rect>> { ' Draw the LEGEND "package" as a rectangular box.
class TypeA as "Type A Class" #LightRed
hide TypeA circle
hide TypeA methods
hide TypeA members
class TypeB as "Type B Class" #LightBlue
hide TypeB circle
hide TypeB methods
hide TypeB members
class TypeC as "Type C Class" #LightGreen
hide TypeC circle
hide TypeC methods
hide TypeC members
' Workaround to prevent PlantUML from positioning the legend blocks randomly.
TypeA -[hidden]- TypeB
TypeB -[hidden]- TypeC
}
或者,可以将“隐藏”连接器替换为-r-
,如下所示:
TypeA -r- TypeB
TypeB -r- TypeC
这些产生以下图表。两者都不是完美的,但比在图像编辑器中单独绘制图例要好。:-) 我确实希望 PlantUML 在未来的版本中提供对此的直接支持。