There is not PlantUml feature that offers this layout. You can force horizontal layout, or vertical layout, but as soon as you want more creative positioning, you'll have to indicate explicit positioning hints, which will make the diagram difficult to maintain.
For the explicit positioning, forget the extends
and implements
syntax and use the arrow notation instead. You can then play with the number of dashes (one dash and more than one dash are about perpendicular positions) and the direction of the arrow. Example:
A -|> B
B <|- C
D --|> B
B <|-- E
results in:

Alternatively, you can also use the initial letter of up, down, left, right, keeping the same number of dashes in the arrow, or adding more dashes to leave more room. The following example gives indeed the same result as above:
A -l-|> B
C -r-|> B
D -d-|> B
E -u-|> B
The problem is that with more than one element per direction, plenum, just stacks them. If I would for example add the same arrows with AA, CC, DD, EE, I'd get:

Now the ultimate dirty tricks in plantUml advanced layout is to regroup several classes with a together
clause and create -[hidden]-
links between them to force horizontal or vertical alignment.
A -l-|> B
C -r-|> B
D --d-|> B
E --u-|> B
AA -l-|> B
CC -r-|> B
DD --d-|> B
EE --u-|> B
together {
class C
class CC
C-[hidden]-CC
}
together {
class A
class AA
A-[hidden]-AA
}
together {
class D
class DD
D-[hidden]-DD
}
together {
class E
class EE
E-[hidden]-EE
}

But this seems a lot of tedious non productive work to circumvent the limitation of a tool that does not provide advanced automatic graph layout such as directed force fields or similar algorithms, and with a lot of try and error. Moreover it neutralises the benefit of "model as code" and automatic documentation. Better go for a traditional UML modeling tool to save some time.