【SPONSORED LINK】

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

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

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

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

また,極座標表示も可能なので,極方程式のグラフも描くことができます.

なお,本稿では以下のように3つのライブラリintersections, calc, arrowsを用います.

なお,ライブラリについては最初の記事で説明しています.

【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)

また,

  • ネイピア数(自然対数の底)ee
  • 円周率\pipi

と記述すれば,定数として扱うことができます.

注意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が実数を動くとき

\begin{align*} (x-\sin{x},1-\cos{x}) \end{align*}

は平面上にサイクロイドを描くので,

とすれば,サイクロイドが描けます.

Rendered by QuickLaTeX.com

しかし,媒介変数表示はデフォルトの \xよりも別の文字で表す方が,媒介変数らしいですね.

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

と記述しても上のサイクロイドと同じものが描けます.

極座標

次に,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についての記述はないので注意してください.

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

最後までありがとうございました!

以下の関連記事もいかがですか?

SPONSORED LINK
関連記事

記事一覧はこちらからどうぞ!

記事一覧は

こちら

Twitterを

フォロー

大学院入試

解答例

大学受験

解説ブログ