【LaTeX】【tikz入門】図形をプロットする方法3選
数式を出力できるLaTeXには線や円などの図形を描くことができるtikzパッケージが存在する。しかし、線や円だけではすべての図形を描くことができない。
そこでtikzパッケージでは、任意の図形をプロットする仕組みが用意されている。
以下では3つの例を取り上げる。
準備
tikzパッケージを使用するためには、プリアンブル(\\begin\{document\}
の前)に次のように記述して、tikzパッケージを使えるようにさせる。
\usepackage{tikz}
ここでエラーが出る場合は、使っている環境にtikzパッケージがインストールされていないので、別途インストールする必要がある。
基本構文
任意の図形をプロットする構文は次の通りである。
\begin{tikzpicture} \コマンド [valiable=\変数名,domain=変域の開始点:変域の終了点,samples=サンプル数,smooth]plot (座標); \end{tikzpicture}
各コマンドやオプションの説明は次のとおりである。
\\コマンド
:draw
またはfillま
たはfilldraw
valiable
:プロットに使用される変数。デフォルトではエックスdomain
:変数のとる値の領域:デフォルトでは−5から5までsamples
:プロットのサンプル数:デフォルトでは25 *smooth
:このオプションをつけるとグラフがなめらかになる
各オプションの記述順序は問わない。
具体例
代数関数のプロット
一例として3次間数$$\cfrac{2}{3}x^{3}-\cfrac{5}{3}x$$を描く。
\begin{tikzpicture} \draw [dotted,thin] (-2,-2) grid (2,2); \draw [->,thick] (-2.2,0) -- (2.2,0) node [right]{x}; \draw [->,thick] (0,-2.2) -- (0,2.2) node [above]{y}; \node [below left] (0,0){O}; \draw [domain=-2:2,smooth] plot (\x,2/3*\x*\x*\x-5/3*\x); \end{tikzpicture}
- 実行結果
超越関数のプロット
三角関数や指数関数、対数関数等の超越関数も描くことができる。座標の中でかっこを使う場合は中かっこで囲む必要がある。
一例として指数関数$$2^{x}$$を描く。
\begin{tikzpicture} \draw [dotted,thin] (-2,0) grid (2,4); \draw [->,thick] (-2.2,0) -- (2.2,0) node [right]{x}; \draw [->,thick] (0,-0.2) -- (0,4.2) node [above]{y}; \node [below left] (0,0){O}; \draw [domain=-2:2,smooth] plot (\x,{exp(ln(2)*\x)}); \end{tikzpicture}
- 実行結果
使える関数を以下列挙する。
- 三角関数
- sin
- cos
- tan
- 三角関数の逆関数
- asin
- acos
- atan
- 三角関数の逆数関数
- sec
- cosec
- cot
- ハイパボリック関数
- その他の関数
対数関数はlogではなくlnであることに注意。
極座標の使用
一例として心臓形を描く。
\begin{tikzpicture} \draw [dotted,thin] (-2,-2) grid (2,2); \draw [->,thick] (-2.2,0) -- (2.2,0) node [right]{x}; \draw [->,thick] (0,-2.2) -- (0,2.2) node [above]{y}; \node [below left] (0,0){O}; \draw [domain=0:360,smooth] plot (\x:{1-sin(\x)}); \end{tikzpicture}
- 実行結果