平滑 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]

但主要問題是點組彼此距離太近,並且突然跳到更高值的組,這限制了轉彎的自由度並使插值變得病態。如果可能的話,我建議忽略太接近(!)的點。

相關內容