Ich würde gerne die lineare Funktion y = 40 - 0.2 x und die Hyperbel y = 5/x im selben Koordinatensystem plotten. Wie kann ich dies mit TikZ machen? gefragt 12 Mär '14, 18:38 Henri |
BemerkungenMan muss beachten, dass 5/x eine Singularität bei 0 hat. An diesem Punkt ist der Funktionswert unendlich, was für PGF etwas schwierig darzustellen ist, weshalb man mit Fehlern konfrontiert wird wie:
Methode 1: TikZDer Vorteil in der Benutzung von TikZ liegt hier darin, dass man leicht Nodes auf dem Plot platzieren kann. Der Nachteil ist, dass man die x- und y-Achse skalieren muss, weil die Zeichnung sonst 220cm breit sein müsste. ImplementierungOpen in writeLaTeX
\documentclass[tikz,border=3mm]{standalone} \begin{document} \begin{tikzpicture}[xscale=0.04,yscale=0.08,domain=0.125:220,samples=400] \draw[->] (-10,0) -- (225,0) node[below] {$x$}; \draw[->] (0,-5) -- (0,45) node[left] {$y$}; \foreach \i in {50,100,...,200} { \draw (\i,1) -- (\i,-1) node[below] {$\i$}; } \foreach \i in {10,20,...,40} { \draw (1,\i) -- (-1,\i) node[left] {$\i$}; } \draw[blue] plot (\x,{40-0.2*\x}); \draw[red] plot (\x,{5/\x}); \end{tikzpicture} \end{document} AusgabeMethode 2: PGFPlotsDiese Methode ist viel eleganter und der Quelltext ist viel kürzer. ImplementierungOpen in writeLaTeX
\documentclass[tikz,border=3mm]{standalone} \usepackage{pgfplots} \begin{document} \begin{tikzpicture} \begin{axis}[domain=0.125:220,samples=400] \addplot+[mark=none] {40-0.2*x}; \addplot+[mark=none] {5/x}; \end{axis} \end{tikzpicture} \begin{tikzpicture} \begin{axis}[ domain=0.125:220, xmin=-10, xmax=220, ymin=-5, ymax=45, samples=400, axis y line=center, axis x line=middle, ] \addplot+[mark=none] {40-0.2*x}; \addplot+[mark=none] {5/x}; \end{axis} \end{tikzpicture} \end{document} AusgabeMethode 3: PSTricks (Nur zum Spaß)Mit dem Paket ImplementierungCompile with Open in writeLaTeX
\documentclass[pstricks,border=3mm]{standalone} \usepackage{pst-plot} \begin{document} \begin{pspicture}[xAxisLabel=$x$,yAxisLabel=$y$](-0.5,0)(0.5,6.5) \begin{psgraph}[arrows=->,Dx=50,Dy=10](0,0)(-10,-5)(220,45){8cm}{6cm} \psplot[plotpoints=200,linecolor=blue]{0}{220}{40 0.2 x mul sub} \psplot[plotpoints=200,linecolor=red]{0.125}{220}{5 x div} \end{psgraph} \end{pspicture} \begin{pspicture}[xAxisLabel=$x$,yAxisLabel=$y$,xAxisLabelPos={c,-12},yAxisLabelPos={-35,c}](-1,-1)(0.5,6.5) \begin{psgraph}[axesstyle=frame,xticksize=-5 45,yticksize=-10 220,Dx=50,Dy=10](0,0)(-10,-5)(220,45){8cm}{6cm} \psplot[plotpoints=200,linecolor=blue]{0}{220}{40 0.2 x mul sub} \psplot[plotpoints=200,linecolor=red]{0.125}{220}{5 x div} \end{psgraph} \end{pspicture} \end{document} Ausgabebeantwortet 12 Mär '14, 18:59 Henri |