PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 3D-plot - Probleme mit NaN-Werten



HumanDelight
31-03-2015, 15:30
Hallo Forum,

ich bin heute auf ein weiteres Problem gestoßen, zu dem ich leider keine Lösung finden konnte. Daher wende ich mich erneut an euch.

Ich habe mit Matlab/Simulink Kennfelder generiert, die vereinfacht gesagt wie folgt aussehen und folgendes Problem aufweisen:



\documentclass[margin=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot3[surf,mesh/ordering=x varies,colorbar horizontal]
coordinates {
(-3,1,5)
(-2,1,2.5)
(-1,1,1)
(-0,1,0.5)
(1,1,1)
(2,1,2.5)
(3,1,5)

(-3,2,5)
(-2,2,2.5)
(-1,2,1)
(-0,2,0.5)
(1,2,1)
(2,2,2.5)
(3,2,0)};

\end{axis}
\end{tikzpicture}
\end{document}


Jetzt möchte ich den letzten Datenpunkt ("Ausreißer") gerne NICHT dargestellt haben und belege die "0" mit "NaN", d.h. ich ändern "{3,2,0}" zu "{3,2,NaN}". Es resultiert die Fehlermeldung "an internal error occured during z buffer recordings: rows/cols were not balanced. I have rows=2, cols=7 [...]".

Kann mir einer von euch helfen und mir sagen, wie ich diesen Datenpunkt ausblenden kann?

Vielen Dank euch.
Markus

HumanDelight
01-04-2015, 15:05
Hallo,

ich habe jetzt für das vermeintlich einfache Problem doch noch eine Lösung finden können.

Gefunden auf:
http://tex.stackexchange.com/questions/46891/pgfplots-three-dimensional-plot-with-one-variable-as-exponent

Damit wird das Minimalbeispiel zu:

\documentclass[margin=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
\begin{tikzpicture}
\begin{axis}[restrict z to domain=-inf:inf]
\addplot3[surf,mesh/ordering=x varies,colorbar horizontal]
coordinates {
(-3,1,5)
(-2,1,2.5)
(-1,1,1)
(-0,1,0.5)
(1,1,1)
(2,1,2.5)
(3,1,5)

(-3,2,5)
(-2,2,2.5)
(-1,2,1)
(-0,2,0.5)
(1,2,1)
(2,2,2.5)
(3,2,5)

(-2,3,NaN)
(-2,3,2.5)
(-1,3,1)
(-0,3,0.5)
(1,3,1)
(2,3,2.5)
(2,3,NaN)

(-3,4,NaN)
(-2,4,NaN)
(-1,4,1)
(-0,4,0.5)
(1,4,1)
(2,4,NaN)
(3,4,NaN)};


\end{axis}
\end{tikzpicture}


\end{document}


Danke denen, die hier reingeschaut und nachgedacht haben, ob sie einen Lösung kennen.

Beste Grüße
Markus