【问题标题】:How do you make a horizontal class aggregation representation with text in plantuml?你如何在植物中用文本制作水平类聚合表示?
【发布时间】:2022-02-28 00:50:02
【问题描述】:

我想在植物中包含以下内容。

我目前拥有的是:

生成自

@startuml
Pond o-  "o...*" Swan
@enduml

但它看起来不太好,文字被压扁了。我怎样才能使它看起来更好?我已经查阅过这个页面:http://plantuml.com/class-diagram,但我没有找到任何有用的东西。

【问题讨论】:

    标签: uml class-diagram plantuml


    【解决方案1】:

    问题

    PlantUML 不能很好地处理水平布局。也许文档页面上使用的示例表明质量保证测试可能主要使用垂直布局完成。

    通过垂直展示,PlantUML 在两边都保留了一条基数线。它将基数的宽度减小到最小,并以不跨越关联线的方式放置它们。所以:

    Pond  "xxxxxx" o-- "o..*" Swan 
    

    结果:

    横版采用了类似的策略。不幸的是,它没有将基数的宽度视为关联线的最小宽度的指示。至少在最常见的情况下,它既没有在两侧保留最小的水平空间来获得不错的输出。 所以:

    Pond  "xxxxxx" o- "o..*" Swan 
    

    结果:

    这显然是布局中的一个严重错误。

    解决方法

    PlantUML 还允许在关联上放置标签。幸运的是,布局引擎考虑了这个标签的长度,因为它应该被放置在线条之上。因此,您可以通过为填充添加空白标签来帮助自己:

    Pond  "xxxxx" o- "o..*" Swan : "               "
                                   ^
                                   THis label is only for padding
    

    结果:

    当然,这不是一个很好的解决方案。对于讨厌的错误,这只是一个实用的解决方法。

    【讨论】:

    • 我借此机会将错误报告给plantUML
    猜你喜欢
    • 1970-01-01
    • 2016-06-17
    • 1970-01-01
    • 2016-07-01
    • 2018-03-18
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多