PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pgfplots table



TheLawyer
25-02-2010, 16:22
Hallo,

ich möchte, dass bei folgendem Minimalbeispiel die rote Kurve nur von -3 bis 6 gezeichnet wird, die blaue aber von -6 bis 6. Zuerst dachte ich das sollte mit domain funktionieren, aber das scheint nichts zu machen.
Wie kann ich pgfplots sagen, dass es erst ab einer bestimmten Zeile anfängt zu ploten? Noch schöner wäre es, wenn ich ihm sagen könnte: "Fang erst bei x>-3 an".
Das kann ja eigentlich nicht so schwer sein, aber ich find grade nix dazu.
Danke!


\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}
\pagestyle{empty}

\begin{tikzpicture}[smooth]
\begin{axis}[%
axis x line=center,%
axis y line=center,%
xmin=-6,%
xmax=6.1,%
ymin=-0.5,%
ymax=1.1,%
]%

\addplot[color=blue] plot table[x=r, y=PSFn] {data.txt};
\addplot[color=red, domain=-3:6] plot table[x=r, y=quot2n] {data.txt};

\end{axis}
\end{tikzpicture}

\end{document}

3575

krihaa
25-02-2010, 17:50
Hi,

ich habe Dir diese Lösung anzubieten. Habe auch noch die Option restrict x to domain=min:max gefunden, aber nicht zum laufen gebracht. Vielleicht schaust Du Dir das noch mal in der Doku an.


\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}
\pagestyle{empty}

\begin{tikzpicture}[smooth]
\begin{axis}[%
axis x line=center,%
axis y line=center,%
xmin=-6,%
xmax=6.1,%
ymin=-0.5,%
ymax=1.1,%
]%

\addplot[color=blue] plot table[x=r, y=PSFn] {data.txt};
\addplot[color=red] plot table[x=r, y=quot2n,skip coords between index={0}{86}]{data.txt};

\end{axis}
\end{tikzpicture}

\end{document}
Gruß
Kristian

voss
25-02-2010, 18:31
ich möchte, dass bei folgendem Minimalbeispiel die rote Kurve nur von -3 bis 6 gezeichnet wird, die blaue aber von -6 bis 6. Zuerst dachte ich das sollte mit domain funktionieren, aber das scheint nichts zu machen.
Wie kann ich pgfplots sagen, dass es erst ab einer bestimmten Zeile anfängt zu ploten? Noch schöner wäre es, wenn ich ihm sagen könnte: "Fang erst bei x>-3 an".
Das kann ja eigentlich nicht so schwer sein, aber ich find grade nix dazu.


wenn du nicht auf pgfplots angewiesen bist:


\documentclass{article}
\usepackage{pst-plot}

\begin{document}

\psset{llx=-0.5,lly=-0.2,xAxisLabel=r}
\readdata[ignoreLines=1]{\data}{/tmp/Download/data.txt}

\begin{psgraph}[linecolor=black!50,Dx=2,Dy=0.5,
ticksize=-3pt]{->}(0,0)(-6,0)(6,1.1){8cm}{4cm}
\listplot[linecolor=blue,linewidth=1pt,plotNoMax=4,
xStart=-6,xEnd=6]{\data}
\listplot[linecolor=red,linewidth=1pt,plotNoMax=4,plotNo=4,
xStart=-3,xEnd=6]{\data}
\end{psgraph}

\end{document}

Herbert

TheLawyer
25-02-2010, 20:08
Ahja, danke Kristian. Das klappt gut.
restrict to domain hatte ich auch gefunden, aber den Absatz gleich drüber nicht :/

@Herbert: Danke, aber ich möchte vorerst bei tikz bleiben, obwohl mir das xStart und xEnd sehr nützlich erscheint.