使用PlantUML,我为文档创建了一个小的状态图:
@startuml
state Powered {
[*] -d-> Starting
Powered -r-> Starting : Some error
Starting -d-> Operational
}
[*] -d-> Powered : Power On
Powered -u-> [*] : Power Off
Powered -d-> Powered : Reset
@enduml
(顺便说一句: PlantUML是一个非常的好工具,它可以从文本描述、嵌入标记文档(如asciidoc或reStructuredText)创建图形输出)
这就是将给定的状态图呈现给:
如你所见,图表绘制得有点草率。
正如文档所描述的,通过编写-left->
或-l->
(而不仅仅是-->
),您对箭头方向有一定的影响。
是否有一种方法可以影响如何和绘制箭头?我非常希望只绘制水平或垂直直线。
发布于 2016-06-21 11:58:04
PlantUML的设计并不是为了在施加许多方向时提供很好的直箭头。使用默认布局为我提供了最干净和最易读的结果。
这里有一个含义相同的示例,但没有布局问题:
@startuml
state Powered {
[*] --> Starting
Starting --> Operational
}
[*] --> Powered : Power On
Powered --> [*] : Power Off
Powered --> Powered : Reset
Powered --> Powered : Fatal Error
@enduml
编辑:我还将您的Powered --> Starting : Fatal Error
转换更改为:Powered --> Powered : Fatal Error
,它更好地表示,从供电范围内的任何状态来看,一个致命的错误事件将在启动子状态重新启动。
另外,这两项声明是:
Powered --> Powered : Reset
Powered --> Powered : Fatal Error
可合并为:
Powered --> Powered : Reset, Fatal Error
见OMG UML 2.5格式规范第14.2.4.9页第329页
[<trigger> [‘,’ <trigger>]* [‘[‘ <guard>’]’] [‘/’ <behavior-expression>]]
发布于 2019-11-15 12:30:58
为将来的读者解答原来的问题:
为了只绘制水平或垂直直线,可以使用skinparam linetype ortho
**.** 。
为了使所有的直线(但不一定是水平的或垂直的),您可以使用skinparam linetype polyline
。
(来源)
https://stackoverflow.com/questions/37702453
复制相似问题