Trama tangente en tikz

Trama tangente en 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}

Respuesta1

La siguiente es la solución de PSTricks. ¡Solo por diversión!

Características

La característica que propongo aquí es que puedes determinar la dimensión del diagrama de antemano. Por ejemplo, el ancho total debe ser 10 cmy su alto debe ser 4 cm. También puede especificar desplazamientos para que el borde, las etiquetas y las flechas tengan suficientes espacios y estén equilibrados.

Producción

ingrese la descripción de la imagen aquí

Interfaz de usuario

\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

Explicación de la interfaz de usuario

Tenga en cuenta que el siguiente diagrama utiliza valores diferentes para proporcionar espacios para anotaciones. Si estás intentando asignar los valores descritos anteriormente a las anotaciones correspondientes a continuación, entonces estás comparando naranja con plátano.

ingrese la descripción de la imagen aquí

Código completo

\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}

Notas

Compile el código con latex->dvips->ps2pdf.

Respuesta2

correr con xelatexolatex->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}

ingrese la descripción de la imagen aquí

información relacionada