¿Cómo puedo suavizar el color de los segmentos de línea en pgfplots?

¿Cómo puedo suavizar el color de los segmentos de línea en pgfplots?

Descubrí que la figura producida por \addplot[mesh]está compuesta por segmentos de línea que tienen diferentes colores.

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

que producen ingrese la descripción de la imagen aquí

La transición de color no es suave. Quiero suavizar el color de la línea y reescribo el código anterior como

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

Eso produce la línea del mismo color. ¿Cómo se puede hacer que el color de la línea varíe según el metapunto y la transición de color sea suave?

Respuesta1

No intente esto en casa ! (¡porque es una tontería ;)...!)

En serio, deberías aumentar el samplesnúmero de tu curva.

La salida

ingrese la descripción de la imagen aquí

El código

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

información relacionada