如何使 pgfplots 中的线段颜色变得平滑?

如何使 pgfplots 中的线段颜色变得平滑?

我发现产生的图形\addplot[mesh]是由具有不同颜色的线段组成的。

\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        samples=50,
        point meta rel=axis wide,
        point meta=y,
        ]
    \addplot[mesh,thick] {sin(deg(x))};
    \end{axis}
\end{tikzpicture}
\end{document}

产生 在此处输入图片描述

颜色过渡不平滑。我想让线条颜色平滑,我将上述代码重写为

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{
compat=newest
}
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        samples=50,
        point meta rel=axis wide,
        point meta=y,
        colormap access=direct,
        shader=interp
        ]
    \addplot[mesh,thick] {sin(deg(x))};
    \end{axis}
\end{tikzpicture}
\end{document}

这样就产生了相同颜色的线条。如何使线条颜色根据点元数据而变化,并且颜色过渡平滑?

答案1

不要在家里尝试这个! (因为这很傻;)......!)

认真地讲,你应该增加samples曲线的数量。

输出

在此处输入图片描述

代码

\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
    \begin{axis}
      [
        samples=51,
        view={0}{0},
        ]
    \addplot3
    [
      surf,
      line width=2mm,
      point meta=z,
      shader=interp,
      samples y=2,
      y domain=0:.05,
    ]
      ({x-y*cos(deg(x)},0,{sin(deg(x))+y});
    \end{axis}
\end{tikzpicture}
\end{document}

相关内容