Странное поведение гладкой pgfplot с резкими изменениями наклона

Странное поведение гладкой pgfplot с резкими изменениями наклона

Я пытаюсь построить некоторые точки с резкими изменениями наклона. Но получаю странное поведение, вроде этого:

введите описание изображения здесь

как вы можете видеть на пиках, там нет никакой гладкости.

Однако я думаю, что проблема в алгоритме интерполяции, поскольку tikz используеткривые Безье. Вот мне интересно, есть ли способ решить эту проблему?

Я привожу здесь только выборку данных. Однако у меня есть несколько графиков с этими разрывами, и я хотел бы получить автоматический способ их исправления. Если нужно, я могу показать больше точек, в которых происходят разрывы.

\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}

решение1

Вы можете добавлять и играть с tension=0.08опциями оси (чем меньше число, тем резче становится шкала) [0,1].

Но главная проблема в том, что у вас есть группы точек, которые слишком близки друг к другу, и внезапно происходит переход к группе с более высоким значением, что ограничивает свободу поворота и делает интерполяцию плохо обусловленной. Я бы предложил исключить слишком близкие(!) точки, если это возможно.

Связанный контент