Search code examples
plantuml

Issue with vertical alignment of UML elements from PlantUML


I cannot align namespaces/classes vertically in PlantUML output. E.g.:

@startuml
namespace AAA {

    class MyBaseClass {
    }

    class MyDerivedClass {
    }

    MyBaseClass <|-- MyDerivedClass
}

namespace BBB {
    class OtherClass {
    }

    class YetAnotherClass {
    }

    OtherClass  <|-- YetAnotherClass
}

AAA ---down---> BBB

hide circle
@enduml

Output:

Is there a way to get namespace BBB under AAA?


Solution

  • Is there a way to get namespace BBB under AAA?

    It's possible with left to right direction (but it's not easy to maintain, since left is up, etc.):

    @startuml
    left to right direction
    hide circle
    hide empty members
    
    namespace BBB {
        class OtherClass {
        }
    
        class YetAnotherClass {
        }
    
        OtherClass  <|-left- YetAnotherClass
    }
    
    namespace AAA {
    
        class MyBaseClass {
        }
    
        class MyDerivedClass {
        }
    
        MyBaseClass <|-left- MyDerivedClass
    }
    
    'AAA -> BBB
    
    @enduml
    

    enter image description here