【SPONSORED LINK】

LaTeXで図を直接描けるTikZの使い方3|グラフの描き方

TikZではy=x^2+xy=\sin{x}などといったy=f(x)の陽関数だけでなく,媒介変数表示された点(x(t),y(t))のグラフを描くこともできる.

関数のグラフを書くための三角関数,指数関数,対数関数のコマンドも用意されており,初等関数はほぼ問題なく描くことができる.

もちろん前回の記事で説明した線のスタイルの変更も行えるので,重要なグラフは太くするといった描画も可能である.

また,極座標表示も可能なので,この記事で説明する.

したがって,極座標表示を用いることにより,極方程式のグラフも描くことができる.

なお,本稿では以下のように2つのライブラリ”intersections”,”calc”を用いる.

【SPONSORED LINK】

グラフを描く方法

ここでは,陽関数y=f(x)のグラフの描き方を説明する.

グラフの基本

例えば,

と記述すれば,

Rendered by QuickLaTeX.com

と表示される.すなわち,

と記述すれば,y=f(x)x\in [a,b]のグラフが描ける.

関数

TikZでグラフを描く際,ある程度の関数を使えることが望ましい.

そして,実際にTikZにはいくつかの関数が標準で用意されている.

TikZで使える関数
関数 記述
四則演算(和,差,積,商) +-*/
絶対値(|X|) abs(X)
非負の平方根(\sqrt{X}) sqrt(X)
三角関数(\sin{X},\cos{X},\tan{X}) sin(X)cos(X)tan(X)
逆三角関数(\sin^{-1}{X},\cos^{-1}{X},\tan^{-1}{X}) asin(X)acos(X)atan(X)
指数関数(e^X) exp(X)
一般冪(X^Y) pow(X,Y)
対数(\log{X}\log_{10}{X}\log_{2}{X}) ln(X)log10(X)log2(X)
階乗(X!) factorial(x)
天井関数,床関数(\lceil{X}\rceil\lfloor{X}\rfloor) ceil(X)floor(x)
最大,最小(\max(X1,\dots,Xn)\min(X1,\dots,Xn)) max(X1,,Xn)max(X1,,Xn)

また,ネイピア数(自然対数の底)eと,円周率\piはそれぞれ”e”と”pi”で定数として扱うことができる.

注意1

例えば

とすると, (\x,sqrt(\x))の部分でコンパイルエラーが起こる.

これはTikZの座標の記述の丸括弧( )のなかに,直接丸括弧( )を入れることができないことが原因で起こる.

この対策として,

などと中括弧{ }でワンクッション入れれば,エラーが解消される.

注意2

三角関数(\sin{X},\cos{X},\tan{X})は全て度数法で判断される.したがって,例えば

は点(\pi,\sin{\pi^\circ})\mrm{A}が表示されてしまう.

三角関数の引数を度数法ではなく弧度法で解釈させたい場合には,(pi,{sin(pi r)}) のように引数の後で”r”を追加すれば良い.

グラフの例

例えば,

と記述すれば,

Rendered by QuickLaTeX.com

と表示される.

グラフのオプション

“plot”でグラフを書く際に,いくつかのオプションがある.

プロットする点を増やす方法

plot(座標)によるグラフの描画は,区間を等間隔に区切ってできる25個の点をプロットし,それらを線分で結んで描いている.

このことから,プログラミングでもよくあるように,細かい動きのあるグラフでは,プロットした点の間の動きを捉えられないことも多い.

実際,上で描いた赤線y=\sqrt{x}は理論上では点(0,0)x軸に垂直に刺さるはずだが,斜めに刺さっている.

また,緑線y=\cos{x}のグラフもカクカクしたグラフになっている.

そこで,

のように samples=(プロットする点の数) をオプションに加えることで,プロットする点の数を変え,より精度の良いグラフを描くことができる.実際,

と記述すれば,

Rendered by QuickLaTeX.com

となる.

変数を変える

結局,区間を等間隔に区切ってプロットし,線分で結ぶという作業をしているのが”plot”なので,plot(座標) の第1成分が”\x”である必要はない.

例えば,

とすれば,サイクロイドが描ける.しかし,媒介変数表示はデフォルトの”\x”よりも別の文字で表す方が媒介変数であることが,すぐに見て取れる.

そこで,オプションにvariable=\t を追加することで,変数を”\t”で表すことができる.すなわち,

と記述すれば,

Rendered by QuickLaTeX.com

と表示される.

極座標

ここで,TikZでの極座標に関する表現について触れておく.

極座標での表し方

極座標上の半径r,偏角a^{\circ}の点(r,a^{\circ})は,TikZでは(r:a)で表すことができる.例えば,

と記述すれば,

Rendered by QuickLaTeX.com

のように,長さ2,偏角30^{\circ}のベクトルを表示する.TikZの極座標表示では度数法により解釈されることに注意する.

また,三角関数の引数と同様に,

と記述すれば,弧度法として解釈される.

円弧

半径rの円に対して,偏角a^{\circ}の位置にある点Aと偏角b^{\circ}の位置にある点Bを考える(b>a).

この弧ABは

と記述すれば表示できる.

例えば,

と記述すれば,

Rendered by QuickLaTeX.com

と表示される.

極方程式のグラフ

極方程式のグラフは,直交座標の”plot”と極座標表示を組み合わせることで描くことができる.

例えば,a>0に対して極方程式r=2a\cos{\theta}は点(a,0)中心,半径aの円周を表すので,

と記述すれば,

Rendered by QuickLaTeX.com

と極座標上で点(3,0)を中心とする半径3の円が表示される.

参考文献

以下はLaTeXに関しての参考文献である.

LaTeX2e美文書作成入門 改訂第7版 (奥村晴彦 著/技術評論社)

著者の奥村氏は日本におけるTeXの第一人者であり,本書はLaTeX初心者から中級者まで幅広い層に役立つLaTeXの教科書である.

非常に詳しく解説が載っており,しっかり理解して習得することができる.

本書にはDVD-ROMが付属しており,LaTeXのインストール用がすぐにできるので,LaTeXをはじめる人が苦戦しがちな環境整備がすぐにできる.

ただし,本稿の内容のTikZについての記述はないので注意.

関連記事

【良いと思ったらシェアを!】

SNSでもご購読できます。

コメント

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください