tikz의 접선 플롯

tikz의 접선 플롯
\documentclass[12pt,a4paper]{article}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{tikz}



\begin{figure}[H]
\begin{center}
\begin{tikzpicture}[scale=1.2,smooth,domain=-2*pi:2*pi];
% First line looks reasonable
\draw[blue = solid,  thick ] plot   [domain=0:5*pi/12](\x,{tan(\x r)});
% second line is not goo
\draw[blue = solid,  thick ] plot    [domain=27*pi/45:17*pi/12](\x,{tan(\x r)});

\draw[blue = solid,  thick ] plot   [domain=1.6*pi:29*pi/12](\x,{tan(\x r)});

\end{tikzpicture}
\caption{Graph of $y = \tan\theta$}
\label{fig:graphtan}
\end{center}
\end{figure}

답변1

다음은 PSTricks의 솔루션입니다. 재미로!

특징

여기서 제안하는 기능은 다이어그램의 크기를 미리 결정할 수 있다는 것입니다. 예를 들어 전체 너비는 10 cm, 높이는 이어야 합니다 4 cm. 테두리, 레이블 및 화살표에 충분한 공간과 균형을 맞추기 위해 오프셋을 지정할 수도 있습니다.

산출

여기에 이미지 설명을 입력하세요

사용자 인터페이스

\def\f(#1){tan(#1)}% function to plot
\def\g[#1]{cos(#1)}% function to plot
\def\h#1{sin(#1)}% function to plot

\const{Width}{10}% total width in cm
\const{Height}{4}% total height in cm 

\const{POL}{-0.20}% pspicture left offset in cm
\const{POR}{ 0.50}% pspicture right offset in cm
\const{POB}{-0.20}% pspicture bottom offset in cm
\const{POT}{ 0.50}% pspicture top offset in cm

\const{AOL}{-0.20}% axis left offset in cm
\const{AOR}{ 0.30}% axis right offset in cm
\const{AOB}{-0.20}% axis bottom offset in cm
\const{AOT}{ 0.30}% axis top offset in cm

\const{DomL}{-2*pi}% domain left  
\const{DomR}{2*pi}% domain right  
\const{DomB}{-2}% domain bottom  
\const{DomT}{ 2}% domain top 

\const[0]{TrigLabelBase}{2}% denominator for a fraction of pi

사용자 인터페이스 설명

다음 다이어그램에서는 주석을 위한 공간을 제공하기 위해 다양한 값을 사용합니다. 위에 설명된 값을 아래 해당 주석에 매핑하려는 경우 주황색과 바나나를 비교하는 것입니다.

여기에 이미지 설명을 입력하세요

완전한 코드

\documentclass[border=0pt,pstricks]{standalone}
\usepackage{pst-eucl,pstricks-add}
\usepackage[nomessages]{fp}
\newcommand\const[3][3]{\expandafter\FPeval\csname#2\endcsname{round(#3:#1)}}


% User defined data:
\def\f(#1){tan(#1)}% function to plot
\def\g[#1]{cos(#1)}% function to plot
\def\h#1{sin(#1)}% function to plot

\const{Width}{10}% total width in cm
\const{Height}{4}% total height in cm 

\const{POL}{-0.20}% pspicture left offset in cm
\const{POR}{ 0.50}% pspicture right offset in cm
\const{POB}{-0.20}% pspicture bottom offset in cm
\const{POT}{ 0.50}% pspicture top offset in cm

\const{AOL}{-0.20}% axis left offset in cm
\const{AOR}{ 0.30}% axis right offset in cm
\const{AOB}{-0.20}% axis bottom offset in cm
\const{AOT}{ 0.30}% axis top offset in cm

\const{DomL}{-2*pi}% domain left  
\const{DomR}{2*pi}% domain right  
\const{DomB}{-2}% domain bottom  
\const{DomT}{ 2}% domain top 

\const[0]{TrigLabelBase}{2}% denominator for a fraction of pi

% Internal used constants:
\const{XUnit}{(Width-POR+POL-AOR+AOL)/(DomR-DomL)}
\const{YUnit}{(Height-POT+POB-AOT+AOB)/(DomT-DomB)}

\const{PicL}{(POL+AOL)/XUnit+DomL}
\const{PicR}{(POR+AOR)/XUnit+DomR}
\const{PicB}{(POB+AOB)/YUnit+DomB}
\const{PicT}{(POT+AOT)/YUnit+DomT}

\const{AxiL}{AOL/XUnit+DomL}
\const{AxiR}{AOR/XUnit+DomR}
\const{AxiB}{AOB/YUnit+DomB}
\const{AxiT}{AOT/YUnit+DomT}

\const{DeltaX}{pi/TrigLabelBase}

\psset{xunit=\XUnit,yunit=\YUnit,algebraic,plotpoints=500}

\begin{document}


\begin{pspicture}[showgrid=false](\PicL,\PicB)(\PicR,\PicT)
    \psplot[linecolor=red,yMaxValue=\AxiT,yMinValue=\AxiB]{\DomL}{\DomR}{\f(x)}
%    \psplot[linecolor=green]{\DomL}{\DomR}{\g[x]}
%    \psplot[linecolor=blue]{\DomL}{\DomR}{\h{x}}
    \psaxes
    [
        trigLabels=true,
        labelFontSize=\scriptscriptstyle,
        tickcolor=gray,
        ticksize=-1.5pt 1.5pt,
        xlabelsep=3pt,
        arrowscale=1,
        trigLabelBase=\TrigLabelBase,
        dx=\DeltaX,% must come before xunit to avoid getting a strange output!  
    ]{->}(0,0)(\AxiL,\AxiB)(\AxiR,\AxiT)[$x$,0][$y$,90]
\end{pspicture}


\end{document}

노트

를 사용하여 코드를 컴파일합니다 latex->dvips->ps2pdf.

답변2

xelatex또는 으로 실행latex->dvips->ps2pdf

\documentclass[a4paper,12pt]{article}
\usepackage{pst-plot}

\begin{document}

\begin{pspicture}(-5.5,-7)(6.5,6.5)
\psaxes[trigLabelBase=2,dx=\psPiH,
   xunit=\psPi,trigLabels]{->}(0,0)(-1.7,-5.5)(1.77,5.5)[$x$,0][$y$,90]
\psplot[algebraic,yMaxValue=5,linewidth=1.6pt,plotpoints=2000,
  linecolor=red]{-4.55}{4.55}{tan(x)}
\psline[linestyle=dashed](-\psPiH,-5)(-\psPiH,5)

\psline[linestyle=dashed](\psPiH,-5)(\psPiH,5)
\end{pspicture} 

\end{document}

여기에 이미지 설명을 입력하세요

관련 정보