Como posso suavizar a cor dos segmentos de linha em pgfplots?

Como posso suavizar a cor dos segmentos de linha em pgfplots?

Descobri que a figura produzida por \addplot[mesh]é composta por segmentos de reta com cores diferentes.

\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 produzem insira a descrição da imagem aqui

A transição de cores não é suave. Quero suavizar a cor da linha e reescrever o código acima 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}

Isso produz a linha na mesma cor. Como fazer com que a cor da linha varie de acordo com o meta do ponto e a transição de cores seja suave?

Responder1

Não tente isso em casa ! (porque é bobagem ;)...!)

Sério, você deveria apenas aumentar o samplesnúmero da sua curva.

A saída

insira a descrição da imagem aqui

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

informação relacionada