Uml 使用GraphViz创建复杂的包关系图
我想使用dot语言创建一个包图,类似于下面的包图。 我知道可以使用“集群”嵌套元素,但不确定是否可以在外包装的选项卡区域放置标签。 如果可能的话,请告诉我Uml 使用GraphViz创建复杂的包关系图,uml,graphviz,dot,package-diagram,Uml,Graphviz,Dot,Package Diagram,我想使用dot语言创建一个包图,类似于下面的包图。 我知道可以使用“集群”嵌套元素,但不确定是否可以在外包装的选项卡区域放置标签。 如果可能的话,请告诉我 不幸的是,选项卡形状(耳朵在左上角的形状)不支持在那里指定标签 如果你愿意牺牲它,你可以使用一个规则的矩形或记录形状 digraph diagram { compound=true; ranksep=1 node[shape=record] subgraph cluster_all { lab
不幸的是,选项卡形状(耳朵在左上角的形状)不支持在那里指定标签 如果你愿意牺牲它,你可以使用一个规则的矩形或记录形状
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]
}
}
但正如您所看到的,graphviz并不完全适合于此,因为您需要进行大量的低级处理
或者,如果目标是用文本描述图表,我强烈建议使用更合理的语法来完成这类任务
@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
@startuml
将“多层应用程序”打包为应用程序{
包用户{}
将“表示层”打包为表示{
包“用户界面”{}
包“表示逻辑”{}
}
用户..>演示文稿
包“业务层”{
包“应用程序外观”{}
}
演示文稿..>“业务层”
}
@enduml
谢谢你的回答,我会选择无耳方法,因为plantuml不是我的选择。