【動画付き】 draw.io 使い方まとめ 〜エンジニアでなくても使えるTips集〜

<img width="100%" alt="title" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/79356526-7318-e0dd-b52d-d85bfb4ddc09.png">

[draw.io](https://www.draw.io/) はブラウザを使用してフローチャート、プロセス図、組織図、UML 図、ER モデル、ネットワーク図などを作成できる優れたツールです。作成した図は xml ファイルとして保存でき、GitHub との連携もシームレスに行われます。3 年ほど愛用しているツールですが、隠された使い方がたくさんあります。すぐに忘れてしまうので取りまとめておきます。

「こんな使い方あるよ！オススメだよ！！」という方はぜひ編集リクエストをいただければ追記していく予定です 😊

※ 主に参照している文献は以下、公式ブログは非常に分かりやすいのでオススメです。

- [ツイッター公式アカウント](https://twitter.com/drawio)
- [公式ブログ](https://about.draw.io/blog/)

# ショートカット

ショートカット集です。机の上に置いて覚えましょう。

![shortcut](https://pbs.twimg.com/media/EIx8zJrWkAEnDoT?format=png&name=large)

# Line / 線

まずは最も頻繁に使う Line(線)の使い方からご紹介します。

## 矢印をまっすぐに揃える

ちまちまと矢印の線をドラッグして微調整していませんか？　右メニューから簡単に直線に揃えることができますよ。

![adjastarrow.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/c4474ccf-4e73-cf83-936f-ca0132e2c62b.gif)

## 線にラベルを挿入する

線上のどこでもいいのでダブルクリックをするとラベルを挿入できます。テキストボックスを作成してから矢印を繋げるよりもずっと早いですね。

![arrowlabel.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/36dc3c91-58e1-94c3-21d1-cb549f573e3c.gif)

## Shape をコピーしつつ、矢印もつける（Alt+Shift+十字キー）

Shape をコピーしてから、矢印を引っ張って繋げていませんか？　 Alt+Shift を押しながら十字キーを押してみましょう。これなら 10 倍は効率がいいですね。

![copyobjecttoline.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/c1e90a88-9e27-cb40-698b-c6cea4a032f1.gif)

## Shape をコピーしつつ、矢印もつける（ctrl+drag）

Ctrl キーを押しながら、Shape から引っ張れる青い線を引いてみましょう。あら不思議、Shape が複製されました。Ctrl キーを押しながら青い線をダブルクリックすると線は引かれずに Shape だけが複製されます。

![ctrlclick.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/82b5957f-4799-b78e-4dc8-3987259d429d.gif)

## Shape の接続

Shape 間から伸ばす線が勝手に他の Shape にくっついてしまって困ることはありませんか？　そんな時は Ctrl+Shift を押しながら線を引っ張ってみましょう。ちょっとだけ幸せになれますね。その他、Shift キーだけを押しながら線を引っ張ると接続点を無視することもできます。

![connectpoint.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/0affb494-9b20-e5b4-2c0a-eac6b4f68166.gif)

## 曲線

デフォルト設定だと直線ですね。曲線ももちろん使えますよ。

![curve.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/fca9bb19-2848-6baa-3e65-9827fcb5ed62.gif)

# Shape / 図形

この章では Shape に関連した Tips をご紹介します。Shape とは１つの図だと思ってください。リソースやオブジェクトなどと呼ばれたりしますが、公式の呼び方は Shape のようです。

## 画像の切り抜き

画像を丸や四角い形に切り抜きたい場合があります。画像のワンちゃんのかわいさが際立ちますね 🐶

![ssr.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/10ef4975-bad7-e93b-6a68-93ac4d9c612a.gif)

## 要素の置き換え Shift+click

Shape を一度置いてみたものはいいものの、もっと適切な形があるので変えたいという時に便利です。Shift を押しながら左メニューの中から Shape をクリックしてみましょう。簡単に置き換えられます。

![shiftclick.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/ecf84ba9-d91f-286b-c9a1-1acdfd155c32.gif)

## その他の図形

もっと他の図形も見てみたい、使いたいという方はこちらから。AWS リソースのアイコンなんかもありますよ。

![moreobject.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/a24fee8c-ae8e-3bea-e72e-de9a4d47da4b.gif)

## 系統図

Shape 間の関係を維持したまま、系統図を自動整形できます。とりあえず線を繋げまくったけど、関係性がわからなくなってきた、ドラッグで１つずつ移動させるのはしんどいなぁという時に便利です。

![organic.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/11b831c9-fda4-4c54-d2c4-3235899b767d.gif)

## プレースホルダ（文字埋め込み）

ほとんど知られていませんが、プレースホルダが使えます。特定の条件にあわせて文字列を動的に組み換えることができます。IP アドレスが振られた構成図や、小さな Shape を寄せ集めた図を書く時に重宝しそうですね。[公式ブログ ~How to work with placeholders?~](https://desk.draw.io/support/solutions/articles/16000051979) にて詳しく解説されています。

![placeholder](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/16006656075/original/NXttWBtd1j5KbwrFy0Tb5i-9QoagPPVzxQ.gif?1486624498)

![placeholder.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/8716283f-6b72-541b-2c40-16394a0f46ac.gif)

## 比率を維持したままリサイズ Cmd(Mac) または Ctrl(Windows)

右メニューから比率を固定することもできますが、Cmd キーを押しながらドラッグするだけでリサイズできるショートカットは便利です。

![resize.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/cbaa32ec-b7ab-c9d1-f5c6-09d6ab6753a4.gif)

## スクラッチパッドにグループを追加する

左メニューのスクラッチバッドに図を追加できます。

![scratchboard.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/afd640f5-723e-5cf1-be38-2242cc224ef4.gif)

## Shape をコミカルにする

図の形を漫画風にできます。

![importfromspreadsheet.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/27fb16fa-1286-b5ca-5837-30728deb53aa.gif)

## フローチャート

様々なフローチャートの書き方を覚えておくと、適切なフォーマットで情報を伝える力が身につきます。以下のブログを読んでおけばよいでしょう。テンプレートも用意されているので、すぐにそれなりのものが出来上がります。

[公式ブログ ~Creating different types of flowcharts with draw.io
~](https://about.draw.io/creating-different-types-of-flowcharts-with-draw-io/)

![flowachart](https://about.draw.io/wp-content/uploads/2019/06/Creating-different-types-of-flowcharts-with-drawio-1200x360.png)

# Settings / その他操作、設定など

意外と知られていない設定や操作が存在します。この章ではそんな隠れた Tips をご紹介します。

## ズームイン/アウト（Alt or Option) + Mouse

Alt または Option を押しながらカーソルを動かしてみましょう。拡大縮小ができます。ちなみに Ctrl+プラスまたはマイナスでサイズを変更している方は Ctrl+0 を押してみましょう。きっと幸せになれるはずです。

![zoom.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/ed3595a9-eb6c-2c16-e37c-ff7906664aae.gif)

## ダークモード

最近流行りのダークモード、もちろんできます。`Extras > Theme` から設定しましょう。

![darkmord.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/e82a6f66-ccd8-1ec3-4228-8c82bc86abc5.gif)

## その他のフォントを使用する

標準のフォント以外にもシステムフォント、Google フォント、Web フォントが使用できます。

![font.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/6eae7db5-d079-361f-ace4-b4cdb0c1679f.gif)

## 設定の共有

draw.io の設定を Json 形式で保存して共有できます。[公式ブログ ~How to configure draw.io?~](https://desk.draw.io/support/solutions/articles/16000058316-how-to-configure-draw-io-)を参照しましょう。

![config.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/32139d0d-c79c-694d-a86c-e008227db9b7.gif)

## PlantUML

PlantUML をインポートして描画できます。PlantUML の書き方は[こちらの記事](https://qiita.com/ogomr/items/0b5c4de7f38fd1482a48)によくまとまっていました。

![plantuml.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/ad7e75c8-c11b-1410-15e5-42c0dc9c3610.gif)

## ルーラー

細かい微調整にはルーラーが欠かせません。

![ruler.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/283c1cf3-db18-440a-edf4-da3350b79f46.gif)

## リンクを作成

作成した図は公開できます。リンクを作成すると画像ファイルの形式で閲覧できます。

![link.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/8d4238e5-16cd-aeac-ec88-c34c61016710.gif)

## 埋め込み HTML の作成

作成した図をブログなどに挿入する場合は埋め込み HTML がオススメです。

![](https://about.draw.io/wp-content/uploads/2017/03/Publish_Link_and_Embed_HTML_Dialog_draw.io_.png)

https://about.draw.io/publish-link-and-embed-html/

## CSV から読み込む

Google のスプレッドシートなどで CSV ファイルを管理しておいて、draw.io に読み込ませることができます。
[こちら](https://jgraph.github.io/drawio-tools/tools/csv.html)のツールを使用してスプレッドシートと draw.io を連携しましょう。スプレッドシートを更新すると draw.io の図も更新されます。[公式ブログ ~Automatically create draw.io diagrams from CSV files~](https://about.draw.io/automatically-create-draw-io-diagrams-from-csv-files/)に詳しい説明があります。

![importfromspreadsheet.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/cc3bd83d-b217-892c-37bb-aad3e3427a72.gif)

# プラグイン / 拡張

draw.io には様々なプラグインが用意されています。この章では、その一部をご紹介します。

[現在使用できるプラグインの一覧](https://desk.draw.io/support/solutions/articles/16000056430-what-plugins-are-available-)

※ ちなみにプラグインは JavaScript で書かれていました。

## Line をアニメーション化

Flow プラグインを使用することで、Line にアニメーションを付与できます。詳細は[公式ブログ ~Connector styles and animations in draw.io~](https://about.draw.io/connector-styles-and-animations-in-draw-io/)を参照してください。

![anime.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/1959edd5-5690-2bcf-f632-9d1c4eb0f958.gif)

## SQL を読み込んで ERD を作成する

[SQL プラグイン](https://about.draw.io/sql-plugin/)を使用することで CREATE 文から ERD を生成します。

![sql.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/163591/86762f11-cd55-bc6b-6c85-f47b111fee6b.gif)

# さいごに

ざっと draw.io さん公式から情報を集めてみました。
他にも良い使い方を知っている方は、ぜひ教えてください 🙏