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. :D