LaTeXでグラフを描く方法4(発展的なグラフの描き方)

今回は、Pascal Getreuerさんのページを参考にしました。

前回の復習をしてから括弧の描き方を説明します。

まず、前回までの復習として関数を特定して(例:y=x+1)グラフを描きます。

\documentclass[dvipdfmx]{jsarticle}
\usepackage{tikz}
\usetikzlibrary{intersections, calc, arrows}
\begin{document}
\begin{tikzpicture}
\draw[->,>=stealth,semithick] (0,0)--(10,0)node[above]{$x$}; %x軸
\draw[->,>=stealth,semithick] (0,0)--(0,10)node[right]{$y$}; %y軸
\draw (0,0)node[below right]{O}; %原点
\draw (0,1)node[left, yshift=-0.1cm]{$1$}; %点(0,1)
\draw[very thick,domain=0:5] plot(\x,\x+1)node[right]{$y=x+1$};
\end{tikzpicture}
\end{document}


最初から復習しておくと、tikzパッケージを使うので\usepackage{tikz}と書いておくのでした。そして、\usetikzlibrary{intersections, calc, arrows}もとりあえず書いておきましょう。

続いて、\begin{tikzpicture}から始まるところでグラフの軸とグラフを描いていきます。

tikzを使うときの注意点としてセミコロンを各行の終わりにつける約束があったのを忘れないようにしましょう。

\begin{tikzpicture}内の1行目と2行目はそれぞれx軸とy軸をかいています。

\draw[->,>=stealth,semithick]で矢印を描くという意味で、別にdraw[->]だけでも構わないのですが、デフォルトの矢印がダサいので>=stealthと書いてステルス戦闘機みたいなかっこいい形にします。そして、semithickでちょっと太くします。

(0,0)--(10,0)は原点から(10,0)まで線を引くよという意味です。node[above]{$x$}は、文字をこの引いた線の上に出力して、出力する文字は"x"という意味です。above以外にもright とかbelowとか指定できます。あとnode[left, xshift=-10cm]{$x$}みたいな感じでもっと細かく指定できます。

続いて今回の内容ですが、カッコで説明を入れていきます。

ここからここまでがAだよ、とかそういうやつです。

まずはコードを書きます。

\documentclass[dvipdfmx]{jsarticle}
\usepackage{tikz}
\usetikzlibrary{intersections,calc,arrows}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}

\begin{tikzpicture}
\draw[->,>=stealth,semithick] (0,0)--(10,0)node[right]{$X$}; %x軸
\draw[->,>=stealth,semithick] (0,0)--(0,10)node[right]{$Y$}; %y軸
\draw[very thick,domain= 0:8] plot(\x,8-\x)node[right,xshift=0cm, yshift=0.5cm]{$I=X+Y$};%直線
\draw[thick, domain= 1.8:9] plot(\x,16/ \x )node[right]{$U^{*}$};%曲線
 \draw[dash dot,semithick] (4,0)--(4,4);%点線
\draw [decorate,decoration={brace,amplitude=10pt, raise=4pt},yshift=0pt]
(4,0) -- (4,4) node [black,midway,xshift=-1cm] {$Y^*$};%カッコ
\fill (4,0) circle(1pt) node[below]{$X ^*$};%点
\end{tikzpicture}

\end{document}

ここで、まず変更点として4行目に \usetikzlibrary{decorations.pathreplacing}が追加されています。これは、カッコを描くためです。

\begin{tikzpicture}からはまずx軸とy軸をかいて直線と曲線をいい感じに引きます。そして、カッコを描くために\draw [decorate,decoration={brace}]と書いています。デフォルトだと左向きなので反対にしたいときは\draw [decorate,decoration={brace}, mirror]と書くといけます。それ以外の細かな修正についてはほかのものと同じです。

完成したものがこちらになります。

キャプチャ2

というわけで、教科書に載っていそうな図が何とかできました。

これ以外に自分がやりたかったのは式を使わないで曲線を引きたかったのですが実力不足で無理でした。

とりあえずこのシリーズは今回で終わります。ありがとうございました。

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