我想平滑图表下方某些特定位置的阴影。我不知道该怎么做,库中没有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}