Seite 1 von 1

pgfplot: Jedes n-te Wertepaar mit Sample Funktion plotten

Verfasst: Mo 12. Jun 2017, 15:08
von pegasus87
Hallo Zusammen,
ich habe eine Kurve aus beliebigvielen Punkten und möchte im Plot nur jeden n-ten Punkt mit der Sample Funktion darstellen.

D.h. ich möchte die im Minibeispiel angehängte Funktion genauso fein plotten, aber die Marker der Sample Funktion auf z.B. 10 Stk. limitieren können.

Gibt es eine Möglichkeit das umzusetzen ?


Grüße

pegasus

\documentclass[a4paper]{article}
\usepackage{pstricks}
\usepackage{pgfplots}
\usepackage{subcaption}
\usepackage{tikz}
\usetikzlibrary{intersections}
\usepackage{filecontents}
\pgfplotsset{compat=1.5}
\usepackage{csquotes}


\begin{filecontents}{test4.dat}
	x            y
	0.00        1.0000   
	0.01        0.9831   
	0.02        0.9599   
	0.03        0.9719   
	0.04        0.9572   
	0.05        0.9283   
	0.06        1.0090   
	0.07        1.0142   
	0.08        1.0345   
	0.09        0.9303   
	0.10        0.9502   
	0.11        0.9220   
	0.12        0.8955   
	0.13        0.9415   
	0.14        0.9763   
	0.15        0.9202   
	0.16        0.9131   
	0.17        0.9028   
	0.18        0.9331   
	0.19        0.9301   
	0.20        0.9100   
	0.21        0.9817   
	0.22        0.9715   
	0.23        0.9758   
	0.24        1.0254   
	0.25        0.9807   
	0.26        1.0211   
	0.27        1.0374   
	0.28        1.0357   
	0.29        1.0789   
	0.30        1.1140   
	0.31        1.1735   
	0.32        1.1788   
	0.33        1.2679   
	0.34        1.2515   
	0.35        1.1390   
	0.36        1.0966   
	0.37        1.1250   
	0.38        1.1485   
	0.39        1.1710   
	0.40        1.1265   
	0.41        1.0565   
	0.42        1.1200   
	0.43        1.1349   
	0.44        1.1892   
	0.45        1.1238   
	0.46        1.1619   
	0.47        1.2652   
	0.48        1.2351   
	0.49        1.2125   
	0.50        1.1996   
	0.51        1.1542   
	0.52        1.1157   
	0.53        1.0923   
	0.54        1.1220   
	0.55        1.1387   
	0.56        1.1127   
	0.57        1.1711   
	0.58        1.2192   
	0.59        1.2971   
	0.60        1.3228   
	0.61        1.4058   
	0.62        1.3516   
	0.63        1.3132   
	0.64        1.3098   
	0.65        1.2550   
	0.66        1.2503   
	0.67        1.2592   
	0.68        1.1778   
	0.69        1.1043   
	0.70        1.0602   
	0.71        1.1036   
	0.72        1.1313   
	0.73        1.0859   
	0.74        1.1260   
	0.75        1.0937   
	0.76        0.9938   
	0.77        0.9589   
	0.78        0.9889   
	0.79        0.9515   
	0.80        0.9872   
	0.81        0.9859   
	0.82        1.0067   
	0.83        0.9849   
	0.84        0.9412   
	0.85        0.9415   
	0.86        0.9258   
	0.87        0.9544   
	0.88        0.9903   
	0.89        0.9589   
	0.90        0.9729   
	0.91        0.9543   
	0.92        0.8858   
	0.93        0.9268   
	0.94        0.9463   
	0.95        0.9803   
	0.96        0.9982   
	0.97        0.9428   
	0.98        0.9336   
	0.99        0.9416   
	1.00        0.9324   
	1.01        0.9782   
	1.02        1.0257   
	1.03        0.9994   
	1.04        0.9309   
	1.05        0.9431   
	1.06        0.9078   
	1.07        0.8936   
	1.08        0.9638   
	1.09        0.9270   
	1.10        0.9361   
	1.11        0.8893   
	1.12        0.8487   
	1.13        0.8415   
	1.14        0.8325   
	1.15        0.7928   
	1.16        0.8982   
	1.17        0.9208   
	1.18        0.9031   
	1.19        0.9394   
	1.20        0.9780   
	1.21        1.0201   
	1.22        1.0388   
	1.23        1.0099   
	1.24        0.9598   
	1.25        0.9257   
	1.26        0.9259   
	1.27        0.9213   
	1.28        0.9666   
	1.29        1.0795   
	1.30        1.1582   
	1.31        1.1078   
	1.32        1.0769   
	1.33        1.0417   
	1.34        1.0789   
	1.35        1.1413   
	1.36        1.1312   
	1.37        1.1485   
	1.38        1.2122   
	1.39        1.1624   
	1.40        1.2181   
	1.41        1.2310   
	1.42        1.2454   
	1.43        1.2008   
	1.44        1.2247   
	1.45        1.2429   
	1.46        1.1973   
	1.47        1.1584   
	1.48        1.1977   
	1.49        1.1041   
	1.50        1.0637   
	1.51        1.0773   
	1.52        1.0605   
	1.53        1.1444   
	1.54        1.1594   
	1.55        1.1598   
	1.56        1.1760   
	1.57        1.1663   
	1.58        1.0802   
	1.59        1.0731   
	1.60        1.1131   
	1.61        1.1944   
	1.62        1.1829   
	1.63        1.1575   
	1.64        1.1597   
	1.65        1.1566   
	1.66        1.2054   
	1.67        1.1908   
	1.68        1.2405   
	1.69        1.2164   
	1.70        1.1820   
	1.71        1.2174   
	1.72        1.1512   
	1.73        1.1111   
	1.74        1.0675   
	1.75        1.0242   
	1.76        1.0884   
	1.77        1.0611   
	1.78        1.0906   
	1.79        1.1480   
	1.80        1.0936   
	1.81        1.0853   
	1.82        1.1657   
	1.83        1.1658   
	1.84        1.2159   
	1.85        1.0777   
	1.86        1.1777   
	1.87        1.2206   
	1.88        1.1620   
	1.89        1.1863   
	1.90        1.2497   
	1.91        1.2834   
	1.92        1.3511   
	1.93        1.3368   
	1.94        1.2692   
	1.95        1.2340   
	1.96        1.2745   
	1.97        1.3312   
	1.98        1.4111   
	1.99        1.4702   
	2.00        1.4199   
\end{filecontents}


\begin{document}

\begin{center}
	\begin{tikzpicture}
\begin{axis}[
%ymin=0,
%ymax=3.0e-5,
%xmin=0,
%xmax=60,
width=12cm,
height=8cm,
title=Inv. cum. normal,
xlabel={$x$},
ylabel={$y$},
grid=major,
legend entries={$d=2$,$d=3$,$d=4$}
]
\addplot+ [blue] table {test4.dat};
%\addplot+ [samples=10] table {test4.dat};
\end{axis}
\end{tikzpicture}
\end{center}

\end{document}

Passende Option

Verfasst: Mo 12. Jun 2017, 15:56
von Stamm
Du suchst wohl so etwas wie die Option each nth point für \addplot (vgl. S. 390 der aktuellen Anleitung von Version 1.14).

Verfasst: Mo 12. Jun 2017, 18:55
von pegasus87
Hallo Stamm,

danke für die Info. Dies ist in etwa das was ich suche. Weisst du ob die Daten beim kompilieren auch weniger Speicher benötigen ?

Gruss
pegasus

Verfasst: Mo 12. Jun 2017, 19:52
von esdd
pegasus87 hat geschrieben: ich habe eine Kurve aus beliebigvielen Punkten und möchte im Plot nur jeden n-ten Punkt mit der Sample Funktion darstellen.

D.h. ich möchte die im Minibeispiel angehängte Funktion genauso fein plotten, aber die Marker der Sample Funktion auf z.B. 10 Stk. limitieren können.
Mir ist jetzt nicht klar, ob Du wirklich nur jeden n-ten Punkt plotten willst, d.h. die Punkte dazwischen vollständig ignorieren möchtest. Dann ist das von Stamm genannte each nth point das richtige für Dich.

Dein zweiter Satz hört sich aber so an, als würdest Du schon gern alle Datenpunkte plotten, aber nur jeden n-ten mit einem Marker versehen wollen. Das ginge mit mark repeat=20, wenn nur jeder 20. geplottete Datenpunkt mit einem Marker versehen werden soll. Mit mark phase kann man den ersten Punkt vorgeben, der einen Marker erhalten soll. Es ist auch möglich manuell die Koordinatenindizes vorzugeben, die einen Marker erhalten sollen, beispielsweise mark indices={10,100,150}.