
Ich versuche, einige Punkte mit plötzlichen Änderungen der Steigung zu plotten. Aber ich erhalte ein seltsames Verhalten wie dieses:
wie Sie an den Spitzen sehen können, ist dort nichts glatt.
Ich denke jedoch, dass das Problem der Interpolationsalgorithmus ist, da tikzBézierkurven. Daher frage ich mich, ob es eine Möglichkeit gibt, dieses Problem zu lösen?
Ich stelle hier nur ein Beispiel der Daten ein. Ich habe jedoch mehrere Diagramme mit diesen Diskontinuitäten und hätte gern eine automatische Möglichkeit, sie zu beheben. Bei Bedarf kann ich weitere Punkte anzeigen, an denen Diskontinuitäten auftreten.
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotstableread{
0.0000 0.0000
0.1561 0.8615
0.1614 0.8643
0.1669 0.8670
0.3619 0.8670
0.3679 0.8781
0.3739 0.8809
0.3799 0.8809
0.3858 0.8837
0.3918 0.8975
1.0000 1.0000
}\datatable
\begin{document}
\makeatletter
\begin{tikzpicture}
\begin{axis}[
ylabel=label,
no markers,
smooth
]
\addplot table [x index=0, y index=1] \datatable;
\end{axis}
\end{tikzpicture}
\end{document}
Antwort1
Sie können tension=0.08
der Achse Optionen hinzufügen und damit spielen (je kleiner die Zahl, desto schärfer wird es innerhalb der Skala) [0,1]
.
Das Hauptproblem besteht jedoch darin, dass Sie Gruppen von Punkten haben, die zu nahe beieinander liegen, und plötzlich zu einer Gruppe mit höherem Wert springen, was die Freiheit der Drehung einschränkt und die Interpolation ungünstig macht. Ich würde vorschlagen, die zu nahe(!) liegenden Punkte möglichst wegzulassen.