\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}
Antwort1
Nachfolgend sehen Sie die Lösung von PSTricks. Nur zum Spaß!
Merkmale
Die Funktion, die ich hier vorschlage, besteht darin, dass Sie die Dimension des Diagramms im Voraus bestimmen können. Beispielsweise muss die Gesamtbreite 10 cm
und die Höhe betragen 4 cm
. Sie können auch Abstände angeben, damit Rahmen, Beschriftungen und Pfeile genügend Platz haben und ausgewogen sind.
Ausgabe
Benutzeroberfläche
\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
Erklärung der Benutzeroberfläche
Beachten Sie, dass das folgende Diagramm unterschiedliche Werte verwendet, um Platz für Anmerkungen bereitzustellen. Wenn Sie versuchen, die oben beschriebenen Werte den entsprechenden Anmerkungen unten zuzuordnen, vergleichen Sie Orange mit Banane!
Vollständiger Code
\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}
Anmerkungen
Kompilieren Sie den Code mit latex->dvips->ps2pdf
.
Antwort2
laufen mit xelatex
oderlatex->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}