Tikz-Plot mit Polstellen

Tabellen und Grafiken erstellen und anordnen


tikzasymp

Tikz-Plot mit Polstellen

Beitrag 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

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag 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

tikzasymp

Beitrag 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?

CrazyHorse
Forum-Guru
Forum-Guru
Beiträge: 252
Registriert: Di 16. Mär 2010, 09:39

Beitrag 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

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag 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}
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


tikzasymp

Beitrag 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". :?:

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag 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
 ***********
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


tikzasymp

Beitrag von tikzasymp »

Ich hab bei mir jetzt nochmal texlive neuinstalliert (benutze Ubuntu 10.10), aber es tut sich nichts. Seltsam.

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag 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.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


tikzasymp

Beitrag 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

Antworten