그리고 그린 그래프는 심지어 벡터다. 우와!!
프로그램을 짤 때 "Hello"를 출력하기 위해 여러방법이 있듯, Tikz 역시 다양한 코드가 존재한다.
앞으로 내가 설명하는 코드가 최적의 코드라는 건 절대 아니다.
그냥 내가 아는 범위 내에서, 그리고 모르는 부분은 구글링하면서, 그래도 모르는 부분은 내 Latex 스승님^^ 에게 물어가면서 배운 것이다.
또 다른 코드가 존재한다면 언제든 리플로 알려주면 나도 적극적으로 반영하도록 노력(?)하겠다.
제일 먼저 $x$축과 $y$축을 그리고 간단한 이차함수 $x^2+1$ 그래프를 그려보자.
(그러기 위해서 컴퓨터에는 Latex이 설치되어 있어야 한다.)
준비가 모두 되었다면 다음 코드를 입력한다.
\documentclass[]{article}
\usepackage{tikz}
\begin{document}
\pagenumbering{gobble}
\begin{figure}
\begin{tikzpicture}[scale=1]
\draw [thick,->] (-2.5,0) -- (2.5,0) node [anchor=north] {$x$};
\draw [thick,->] (0,-1) -- (0,5) node [anchor=east] {$y$};
\node [below] at (-0.3,0) {$0$};
\draw[domain=-2:2, smooth,thick,,variable=\x, blue] plot ({\x},{\x*\x+0.5});
\end{tikzpicture}
\end{figure}
\end{document}
그리고 컴파일을 하게 되면 다음과 같은 그래프가 나타난다. 기본 article 사이즈에 그래프를 그렸기 때문에 여백을 잘라줘야 한다. 여백을 자르는 방법은 pdfcrop 명령을 사용한다.(http://woolmakes.blogspot.com/2018/08/tikz-pdf.html)
코드에서 그래프를 그리는 부분은 \begin{tikzpicure} ~ \end{tikzpicture} 이다.
\draw는 선을 그린다.
\node로 "0"을 표시했다.
그리고 \pagenumbering{gobble} 은 tikzd와 딱히 상관이 없는 코드인데 페이지 넘버를 숨긴다. 페이지 넘버가 표시되어 있는 경우에 pdfcrop을 하게 되면 그래프 영역 뿐 아니라 페이지 넘버까지 함께 crop이 되기 때문이다.
좀 다른 그래프를 그려보자.
\documentclass[]{article}
\usepackage{tikz}
\begin{document}
\pagenumbering{gobble}
\begin{figure}
\begin{tikzpicture}[scale=1]
\draw [thick,->] (-2.5,0) -- (2.5,0) node [anchor=north] {$x$};
\draw [thick,->] (0,-3) -- (0,3) node [anchor=east] {$y$};
\node [below] at (-0.3,0) {$0$};
\draw[domain=-0.6:2, smooth,thick,,variable=\x, blue] plot ({\x},{1/ (\x + 1)});
\draw[domain=-2.5:-1.4, smooth,thick,,variable=\x, blue] plot ({\x},{1/ (\x + 1)});
\end{tikzpicture}
\end{figure}
함수로 그래프를 그리는 경우에 발산하는 경우가 있다. 위 그래프가 그렇다. $x$가 -1으로 가면 -1보다 작은 경우에는 $-\infty$로 -1보다 큰 경우에는 $+\infty$로 발산한다. 그래서 latex 컴파일시 에러가 뜬다. 그래서 영역을 나눠서 두 개로 그렸다.
혹시 저 코드를 보면 domain=(숫자):(숫자)가 있는데 이것이 의미하는바가 무엇인가요?
답글삭제