Seite 1 von 2
Tikz-Plot mit Polstellen
Verfasst: Sa 23. Okt 2010, 13:13
von tikzasymp
Hallo,
ich bin gerade dabei mit Tikz einen Funktionen zu plotten. Diese jedoch hat Polstellen und genau an diesen Stellen zeichnet Tikz mir dann die "Asymptoten" ein. Das sieht natürlich sehr unschön aus.
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}[>=triangle 45]
\draw[->,color=black] (-5,0) -- (5,0);
\foreach \x in {-4,-3,-2,-1,1,2,3,4}
\draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\x$};
\draw[->,color=black] (0,-5) -- (0,5);
\foreach \y in {-4,-3,-2,-1,1,2,3,4}
\draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\y$};
\clip(-5,-5) rectangle (5,5);
\draw[smooth,samples=500,domain=-5:5] plot(\x,{\x^2/(1-\x^2)});
\end{tikzpicture}
\end{document}
Ich hab das auch mal mit Gnuplot versucht, jedoch scheitert es wohl daran, dass Gnuplot die Punkt mit table exportiert und Tikz die dann einliest, um sie zu plotten. Dabei geht dann die Information verloren, dass es Defintionlücken gibt.
Was kann ich tun?
Danke
Verfasst: Sa 23. Okt 2010, 17:30
von iTob
Nabend,
das löst das Problem zwar nicht, umgeht es aber, indem die Polstellen einfach nicht geplottet werden, sondern der Graph in drei Teilen:
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}[>=triangle 45]
\draw[->,color=black] (-5,0) -- (5,0);
\foreach \x in {-4,-3,-2,-1,1,2,3,4}
\draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\x$};
\draw[->,color=black] (0,-5) -- (0,5);
\foreach \y in {-4,-3,-2,-1,1,2,3,4}
\draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\y$};
\clip(-5,-5) rectangle (5,5);
%\draw[smooth,samples=500,domain=-5:5, line width=2pt, color=red] plot(\x,{\x^2/(1-\x^2)});
\draw[smooth,samples=500,domain=-5:-1] plot(\x,{\x^2/(1-\x^2)});
\draw[smooth,samples=500,domain=-0.95:0.95] plot(\x,{\x^2/(1-\x^2)});
\draw[smooth,samples=500,domain=1.1:5] plot(\x,{\x^2/(1-\x^2)});
\end{tikzpicture}
\end{document}
Gibt aber hoffentlich auch noch eine automatische Lösung? Wär’ ja schon hilfreich, wen sowas öfter vorkommt...
Grüße,
Tobi
Verfasst: Sa 23. Okt 2010, 20:13
von tikzasymp
Hmm, danke. Das ist eine Möglichkeit es wenigstens temporär zu umgehen. Unschön, aber zum Glück muss ich im Moment nicht mehr Graphen zeichnen.
Allerdings ist es schon seltsam, dass das nicht in Tikz standardmäßig behandelt wird. Vielleicht sollte man einen Bugreport filen oder gibt es einen vernünftigen Grund für dieses Verhalten?
Verfasst: Sa 23. Okt 2010, 21:16
von CrazyHorse
tikzasymp hat geschrieben:Hmm, danke. Das ist eine Möglichkeit es wenigstens temporär zu umgehen. Unschön, aber zum Glück muss ich im Moment nicht mehr Graphen zeichnen.
Allerdings ist es schon seltsam, dass das nicht in Tikz standardmäßig behandelt wird. Vielleicht sollte man einen Bugreport filen oder gibt es einen vernünftigen Grund für dieses Verhalten?
mit PSTricks geht das in eins ...
\documentclass{scrartcl}
\usepackage{pst-plot}
\begin{document}
\begin{psgraph}{->}(0,0)(-5,-5)(5,5){8cm}{8cm}
\psplot[linewidth=1pt,yMaxValue=4.75,algebraic,
plotpoints=2100]{-5}{5}{x^2/(1-x^2)}
\end{psgraph}
\end{document}
Herbert
Verfasst: Sa 23. Okt 2010, 22:25
von bloodworks
So?
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ width=\textwidth,domain=-5:5, restrict y to domain=-10:10,axis x line=center, axis y line=center,%
xtick={-5,...,5}, ytick={-5,...,5}
]
%\addplot[mark=none] plot gnuplot[samples=500,id=eins]{x^2/(1-x^2)}; % mit gnuplot
\addplot[mark=none, color=red] plot[samples=500,smooth]{x^2/(1-x^2)}; % ohne gnuplot
\end{axis}
\end{tikzpicture}
\end{document}
Verfasst: Sa 23. Okt 2010, 23:33
von tikzasymp
CrazyHorse hat geschrieben:
mit PSTricks geht das in eins ...
Aah, das habe ich mir gedacht, irgendwie ist ja PSTricks immer noch besser als reines PDF. Nur irgendwie bin ich kein Fan von Postscript ...

Muss aber trotzdem mal schauen. Danke
bloodworks hat geschrieben:
So?
Beim Kompilieren deines Beispiels kriege ich nur:
! Package pgfkeys Error: I do not know the key '/tikz/restrict y to domain' and
I am going to ignore it. Perhaps you misspelled it.
See the pgfkeys package documentation for explanation.
Type H <return> for immediate help.
...
l.25 \end{axis}
Was ist da los? texdoc findet bei mir aber auch keine Doku zu "pgfkeys".

Verfasst: So 24. Okt 2010, 09:02
von bloodworks
Hallo bei meinem aktuellen TeXLive tut das so. pgfkeys ist Teil von tikz/pgf und wenn du texdoc pgfkeys eingibst sollte das pgfmaual aufspringen.
Ich weiß nicht wann die resttrict to domain Funktion in pgfplots eingebaut wurde, deshalb hier meine Listfiles:
*File List*
scrartcl.cls 2010/09/17 v3.07 KOMA-Script document class (article)
scrkbase.sty 2010/09/17 v3.07 KOMA-Script package (KOMA-Script-dependent bas
ics and keyval usage)
scrbase.sty 2010/09/17 v3.07 KOMA-Script package (KOMA-Script-independent b
asics and keyval usage)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
scrlfile.sty 2009/03/25 v3.03 KOMA-Script package (loading files)
tocbasic.sty 2010/09/14 v3.06a KOMA-Script package (handling toc-files)
scrsize11pt.clo 2010/09/17 v3.07 KOMA-Script font size class option (11pt)
typearea.sty 2010/09/17 v3.07 KOMA-Script package (type area)
babel.sty 2008/07/06 v3.8l The Babel package
ngermanb.ldf 2008/07/06 v2.6n new German support from the babel system
inputenc.sty 2008/03/30 v1.1d Input encoding file
latin1.def 2008/03/30 v1.1d Input encoding file
pgfplots.sty 2010/07/14 Version 1.4.1 (git show 1.4.1-1-g64c9e95 )
tikz.sty 2008/02/13 v2.00 (rcs-revision 1.27)
pgf.sty 2008/01/15 v2.00 (rcs-revision 1.12)
pgfrcs.sty 2008/02/20 v2.00 (rcs-revision 1.21)
pgfrcs.code.tex
pgfcore.sty 2008/01/15 v2.00 (rcs-revision 1.6)
graphicx.sty 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
graphics.sty 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
trig.sty 1999/03/16 v1.09 sin cos tan (DPC)
graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
pdftex.def 2010/09/14 v0.05b Graphics/color for pdfTeX
pgfsys.sty 2008/02/07 v2.00 (rcs-revision 1.31)
pgfsys.code.tex
pgfsyssoftpath.code.tex 2008/01/23 (rcs-revision 1.6)
pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4)
xcolor.sty 2007/01/21 v2.11 LaTeX color extensions (UK)
color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
pgfcore.code.tex
pgfcomp-version-0-65.sty 2007/07/03 v2.00 (rcs-revision 1.7)
pgfcomp-version-1-18.sty 2007/07/23 v2.00 (rcs-revision 1.1)
pgffor.sty 2007/11/07 v2.00 (rcs-revision 1.8)
pgffor.code.tex
tikz.code.tex
supp-pdf.mkii
pdftexcmds.sty 2010/04/01 v0.9 Utility functions of pdfTeX for LuaTeX (HO)
infwarerr.sty 2010/04/08 v1.3 Providing info/warning/message (HO)
ifluatex.sty 2010/03/01 v1.3 Provides the ifluatex switch (HO)
ltxcmds.sty 2010/04/26 v1.7 LaTeX kernel commands for general use (HO)
epstopdf-base.sty 2010/02/09 v2.5 Base part for package epstopdf
grfext.sty 2007/09/30 v1.0 Managing graphics extensions (HO)
kvoptions.sty 2010/02/22 v3.7 Keyval support for LaTeX options (HO)
kvsetkeys.sty 2010/03/01 v1.9 Key value parser (HO)
etexcmds.sty 2010/01/28 v1.3 Prefix for e-TeX command names (HO)
epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
***********
Verfasst: Mi 27. Okt 2010, 12:59
von tikzasymp
Ich hab bei mir jetzt nochmal texlive neuinstalliert (benutze Ubuntu 10.10), aber es tut sich nichts. Seltsam.
Verfasst: Mi 27. Okt 2010, 22:19
von bloodworks
Hast du das über apt geholt? Dann könnte es sein, dass du nicht das aktuelle TexLive hast. Setzte doch mal ein \listfiles vor dein Dokument und vergleiche das.
Verfasst: Mo 1. Nov 2010, 17:38
von tikzasymp
So, hab das mal kontrolliert und Ubuntu liefert über apt nur pgfplots.sty von 2009/02/14 in der Version 1.2.2. Gemeine Sache, muss mal gucken wie ich das ändern kann. Danke.
