PlantUMLの矢印レイアウトのtips

# skinparam

## linetype

### デフォルト

```php
class A
class B
class C

A -> B
A -> C
```

```plantuml
class A
class B
class C

A -> B
A -> C
```

### ortho

```php
skinparam linetype ortho

class A
class B
class C

A -> B
A -> C
```

```plantuml
skinparam linetype ortho

class A
class B
class C

A -> B
A -> C
```

### polyline

```php
skinparam linetype polyline

class A
class B
class C

A -> B
A -> C
```

```plantuml
skinparam linetype polyline

class A
class B
class C

A -> B
A -> C
```

# Direction

## top to bottom direction

```php:top_to_bottom
top to bottom direction

class center
class up
class down
class right
class left

center -u-> up
center -d-> down
center -r-> right
center -l-> left
```

```plantuml
top to bottom direction

class center
class up
class down
class right
class left

center -u-> up
center -d-> down
center -r-> right
center -l-> left
```

## left to right direction

```php:left_to_right
left to right direction

class center
class up
class down
class right
class left

center -u-> up
center -d-> down
center -r-> right
center -l-> left
```

```plantuml
left to right direction

class center
class up
class down
class right
class left

center -u-> up
center -d-> down
center -r-> right
center -l-> left
```

# Arrow

## デフォルト

```php
class A
class B
class C

A -> B
A -> C
```

```plantuml
class A
class B
class C

A -> B
A -> C
```

## norank

```php:重要ではない
A -[norank]-> B
```

```plantuml
A -[norank]-> B
```

## hidden

矢印に`hidden`キーワードを付けると、矢印がひょうじされなくなる。

```php:非表示
class A
class B

A -[hidden]-> B
```

```plantuml
class A
class B

A -[hidden]-> B
```

## up/down/right/left

- u: up
- d: down
- r: right
- l: left

```php:配置方向
class center
class up
class down
class right
class left

center -u-> up
center -d-> down
center -r-> right
center -l-> left
```

```plantuml
class center
class up
class down
class right
class left

center -u-> up
center -d-> down
center -r-> right
center -l-> left
```


## `->`を`-->`に変更

`->`を`-->`に変更すると、描画方向が下向きになる。

たとえば、`A -> C`を`A --> C`に変更する。

```php:1つだけ変更
class A
class B
class C

A -> B
A --> C
```

すると、`C`が`A`の下側に表示された。

```plantuml
class A
class B
class C

A -> B
A --> C
```

さらに、`A -> B`を`A --> B`に変更する。

```php:2つとも変更
class A
class B
class C

A --> B
A --> C
```

すると、`B`も`A`の下側に表示された。

```plantuml
class A
class B
class C

A --> B
A --> C
```

## `A -> C`を`C <- A`に変更

矢印の前後を逆にすると、表示順も逆向きになる。

たとえば、`A -> C`を`C <- A`に変更する。

```php
class A
class B
class C

A -> B
C <- A
```

すると、`C`が`A`の左側に表示された。

```plantuml
class A
class B
class C

A -> B
C <- A
```

## 行の順序を変更

行の順序を変更すると、レイアウトの処理順序が変わり、レイアウトが変わる。

たとえば、`A -> B`と`A -> C`の順序を逆にする。

```php
class A
class B
class C

A -> C
A -> B
```

すると、レイアウトも逆になる。

```plantuml
class A
class B
class C

A -> C
A -> B
```

## `-->`を`--->`に変更

`-->`を`--->`に変更すると、矢印が伸びる。

たとえば、`A --> C`を`A ---> C`に変更する。

```php
class A
class B
class C

A --> B
A ---> C
```

すると、`A ---> C`の矢印は`A --> B`の矢印より長くなった。

```plantuml
class A
class B
class C

A --> B
A ---> C
```

更に`-`を増やすと際限なく伸び続ける。

たとえば、`A ---> C`を`A -------> C`に変更する。

```php
class A
class B
class C

A --> B
A -------> C
```

すると、矢印がびろーんと長くなった。

```plantuml
class A
class B
class C

A --> B
A -------> C
```