LaTeXでグラフを描く方法1(直線の引き方)

今回から複数回にわたって、LaTeXでグラフを描く方法を説明します。

まず、なぜこんなことをやろうかと思ったかというとこんなグラフ書きたいからです。みなさんも書きたくないですか?僕は書きたいです。

画像1

ただ、個人的には

エクセルで書いたらもろにバレるしダサいのでもうちょっとほかの方法がないかな~

ということを思ったのでLaTeXでやってみました。

まず、必要なのはTikzパッケージをインストールすることですが、僕はcloud LaTeXを使うので飛ばします。

僕はLaTeXをパソコンにインストールすることはあきらめてしまったので、僕みたいに機械に弱い人はoverleafとかCloud LaTeXを使うといいです。

そして、とりあえず環境が整ったことにするとまずはプリアングルでTikzを宣言しないといけません。こんな感じです。

%%%%%%とりあえずプリアングルだけ
\documentclass[dvipdfmx]{jsarticle}
\usepackage{tikz}
\usetikzlibrary{intersections, calc, arrows}
\begin{document}
%%%%%ここに本文%%%%%
\end{document}

上の3行はおまじないだと思っておいてください。

そして、次に\begin{document}と\end{document}の間に本文を書いていきます。

とりあえず原点から点(1,2)まで線を引こうと思うと、

%%%%%%簡単に直線を1本
\documentclass[dvipdfmx]{jsarticle}
\usepackage{tikz}
\usetikzlibrary{intersections, calc, arrows}
\begin{document}
\begin{tikzpicture}
\draw (0,0)--(1,2);
\end{tikzpicture}
\end{document}

と書けばいけます。

さっきと比べて増えたのはこの3行だけです。

\begin{tikzpicture}
\draw (0,0)--(1,2);
\end{tikzpicture}

ちなみにもう一つやり方があって、

%これでもいいらしい
\tikz\draw(0,0)--(1,2);

こういう書き方もあります。

ここで注意しないといけないのは、なんでか知らんけど最後にセミコロンがいるということです。

次に、直線を1本だけじゃなくていっぱい引きたいときがあるとします。この場合は、こんなかんじでコードを書けばいいです。

%座標は普通センチメートルらしいけど、その他の単位でもOK
\begin{tikzpicture}
\draw (0,0)--(10mm,20mm);
\draw (10mm,0)--(0,20mm);
\end{tikzpicture}

単純に1行増えただけです。そして、座標が数字じゃないですが、これは座標が必ずしも数字だけじゃなくてもいいことを表しています。デフォルトの数字の単位がcmであるので、1本目の直線は上で描いたものと同じになります。ちなみに、ptなどの単位も使えるみたいです。

そして、さっきみたいにこの書き方もできます。

\tikz{\draw (0,0)--(10mm,20mm); \draw (10mm,0)--(0,20mm);}
\end{document}

中括弧で\drawの内容を囲むだけです。

そして、2本の直線を続けて書くには、こんな感じで座標をつなげれば行けます。

\begin{tikzpicture}
\draw (0,0)--(1,1)--(2,3);
\end{tikzpicture}

また、直線のつなぎ目を丸くしようと思うと、rounded cornersオプションで追加できます。

\begin{tikzpicture}
\draw[rounded corners=10mm] (0,0)--(1,1)--(2,3);
\end{tikzpicture}

分かりにくいので、もう一つ例をあげます。


\begin{tikzpicture}
\draw [thick, rounded corners=8pt]
(0,0)--(0,2)--(1,3.25)--(2,2)--(2,0)--(0,2)--(2,2)--(0,0);
\end{tikzpicture}

以上が直線の引き方でした。

次回は、曲線を引いていきます。

参考文献

奥村晴彦、黒木裕介(2017)「LaTeX2ε美文書作成入門」、技術評論社

水谷正大(2020)「LaTeX超入門」、ブルーバックス

Appendix. 今回のコード

\documentclass[dvipdfmx]{jsarticle}
\usepackage{tikz}
\usetikzlibrary{intersections, calc, arrows}
\begin{document}
%なんでか知らんけど、tikz使うときは文末に;がいるらしい
\begin{tikzpicture}
\draw (0,0)--(1,2);
\end{tikzpicture}
%これでもいいらしい
\tikz\draw(0,0)--(1,2);
%2つ以上の線を描くときは、こうする
%座標は普通センチメートルらしいけど、その他の単位でもOK
\begin{tikzpicture}
\draw (0,0)--(10mm,20mm);
\draw (10mm,0)--(0,20mm);
\end{tikzpicture}
%か、こうする(中括弧で囲う)
\tikz{\draw (0,0)--(10mm,20mm); \draw (10mm,0)--(0,20mm);}
\begin{tikzpicture}
\draw (0,0)--(1,1)--(2,3);
\end{tikzpicture}
\begin{tikzpicture}
\draw[rounded corners=10mm] (0,0)--(1,1)--(2,3);
\end{tikzpicture}
\begin{tikzpicture}
\draw [thick, rounded corners=8pt]
(0,0)--(0,2)--(1,3.25)--(2,2)--(2,0)--(0,2)--(2,2)--(0,0);
\end{tikzpicture}
\end{document}

この記事が気に入ったらサポートをしてみませんか?