Wie kann ich die Farbe der Liniensegmente in pgfplots glätten?

Wie kann ich die Farbe der Liniensegmente in pgfplots glätten?

Ich habe festgestellt, dass die dadurch erzeugte Figur \addplot[mesh]aus Liniensegmenten unterschiedlicher Farbe besteht.

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

die produzieren Bildbeschreibung hier eingeben

Der Farbübergang ist nicht glatt. Ich möchte die Linienfarbe glatt machen und schreibe den obigen Code wie folgt um:

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

Dadurch wird die Linie in derselben Farbe erzeugt. Wie kann die Linienfarbe je nach Punktmetadaten variiert werden und der Farbübergang weich sein?

Antwort1

Versuchen Sie das nicht zu Hause! (weil es albern ist ;)...!)

Im Ernst, Sie sollten einfach die samplesNummer Ihrer Kurve erhöhen.

Die Ausgabe

Bildbeschreibung hier eingeben

Der Code

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

verwandte Informationen