Schlagschatten am Rand des Diagramms in pgf-blur glätten

Schlagschatten am Rand des Diagramms in pgf-blur glätten

Ich möchte einen Schlagschatten an bestimmten Stellen unter meinem Diagramm glätten. Ich weiß nicht, wie das geht, es gibt keinen Schlüssel in der pgf-blurBibliothek, mit dem ich den Schatten weiter anpassen kann. Die problematischen Bereiche des folgenden Codes sind von roten Kreisen umgeben. Ich versuche, sie glatter zu machen, damit sie sich in den Rest des Diagramms einfügen.

Ich weiß, dass das Ergebnis darauf zurückzuführen ist, dass ich den fillSchlüssel verwendet habe, um den zusätzlichen Schatten zu entfernen, der durch die seltsame Form entsteht. Ich weiß nicht, wie ich ohne ihn auch nur annähernd an dieses Ergebnis herankommen kann.

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{pgf}
\usepackage{pgfplots}

\pgfplotsset{compat=1.8}

\usepackage{tikz}
\usetikzlibrary{arrows,automata,calc,shapes, positioning,shadows,shadows.blur,shapes.geometric}

\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot[thick,line cap=round,rounded corners, draw=red,double=white,double distance=1.6pt,fill=white, blur shadow={shadow yshift=-5pt, shadow xshift=3pt,shadow blur radius=3pt}
] table {
dof l2_err level
.2 2.6 2
%.3 2.8 3
.4 2.3 4
.5 2.4 5
.6 1.1 6
.7 1.8 7
.8 4.6 8
.9 3.3 9
1 6.2 10
};
\end{axis}
\end{tikzpicture}
\end{document}

Antwort1

Hier ist eine Lösung (mit einer ähnlichen Methode wiemeine Antwortin Frage zu stellenWie fügt man einer Tikz-Linie einen Schatten hinzu?):

Bildbeschreibung hier eingeben

\documentclass{standalone}

\usepackage{pgf}
\usepackage{pgfplots}

\pgfplotsset{compat=1.8}

\usepackage{tikz}
\usetikzlibrary{arrows,automata,calc,shapes, positioning,shadows,shadows.blur,shapes.geometric}

\tikzset{
  shadowed/.style={preaction={
      transform canvas={shift={(2pt,-1pt)}},draw opacity=.2,#1,preaction={
        transform canvas={shift={(3pt,-1.5pt)}},draw opacity=.1,#1,preaction={
          transform canvas={shift={(4pt,-2pt)}},draw opacity=.05,#1,
        }}}},
}

\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot[shadowed={double=gray,draw=gray},thick,line cap=round,rounded corners, draw=red,double=white,double distance=1.6pt,
] table {
dof l2_err level
.2 2.6 2
%.3 2.8 3
.4 2.3 4
.5 2.4 5
.6 1.1 6
.7 1.8 7
.8 4.6 8
.9 3.3 9
1 6.2 10
};
\end{axis}
\end{tikzpicture}
\end{document}

verwandte Informationen