平滑 pgf-blur 中圖形邊緣的陰影

平滑 pgf-blur 中圖形邊緣的陰影

我想平滑圖表下方某些特定位置的陰影。我不知道該怎麼做,庫中沒有任何鍵pgf-blur可以讓我進一步自訂陰影。以下代碼的有問題的區域周圍有紅色圓圈。我試圖讓它們更平滑地與圖表的其餘部分融合。

我知道結果是因為我使用了fill關鍵來消除由奇怪的形狀產生的額外陰影。如果沒有它,我不知道如何接近這個結果。

在此輸入影像描述

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

答案1

這是一個解決方案(使用類似的方法我的答案質疑如何為 tikz 線添加陰影?):

在此輸入影像描述

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

相關內容