Jai*_*ime 2 uml dot graphviz package-diagram
我想使用点语言创建一个包图,类似于下面的图。我知道可以使用“簇”嵌套元素,但不确定是否可以将标签放在外包装的选项卡区域中。让我知道是否可能。
不幸的是,标签形状(左上角有耳朵的形状)不支持在那里指定标签。
如果您愿意牺牲这一点,您可以使用常规矩形或记录形状
digraph diagram {
compound=true;
ranksep=1
node[shape=record]
subgraph cluster_all {
label="Multi-Layered Application"
Users [shape=tab]
subgraph cluster_presentation {
label="Presentation Layer"
"User Interface" [shape=tab]
"Presentation Logic" [shape=tab]
}
Users -> "User Interface" [lhead=cluster_presentation]
subgraph cluster_business {
label="Business Layer"
node[shape=tab]
"Application Facade"
}
"User Interface" -> "Application Facade" [lhead=cluster_business,ltail=cluster_presentation,style=dashed]
}
}
Run Code Online (Sandbox Code Playgroud)
但正如您所看到的,graphviz 并不完全适合于此,因为您需要进行大量低级摆弄。
或者,如果目标是用文本描述图表,我强烈推荐plantuml.com,它对于此类任务具有更明智的语法。
@startuml
package "<<model>> Multi-Layered Application <<model>>" as app {
package Users { }
package "Presentation Layer" as presentation {
package "User Interface" { }
package "Presentation Logic" { }
}
Users ..> presentation
package "Business Layer" {
package "Application Facade" { }
}
presentation ..> "Business Layer"
}
@enduml
Run Code Online (Sandbox Code Playgroud)