为 pgfplots 添加精美设计(阴影、圆角、反射)

为 pgfplots 添加精美设计(阴影、圆角、反射)

在我们公司,我们希望使用 LaTeX 来运行客户报告,它工作得很好,但我们在图表的设计要求方面遇到了困难——我们使用pgfplots。我们的目标是获得那些奇特的“反射式”图表,也可以使用一些阴影,这样看起来有点三维。

我们能得到的唯一阴影就是这个阴影,但它看起来应该像 TikZ/PGF 参考 (v2.1 p.418) 中的发光阴影,这似乎只适用于圆圈(至少对我来说)。对于反射,我尝试了淡入淡出,但这会导致阴影出现问题。此外,淡入淡出的效果并不适用于所有条形,而是取决于它们的高度。

最后一点是圆角,虽然可以,但顶角和底角不行(有趣的是阴影不行)。这看起来也很奇怪,最好只使用圆顶角。

下面我附上了一个包含我们当前状态的小样本,我很乐意听取建议。

\documentclass{article}
\usepackage{pgfplots}
\usetikzlibrary{shadows}

\begin{document}

\tikzfading[name=fade down,
    top color=transparent!30,
    bottom color=transparent!0]

\begin{tikzpicture}
    \begin{axis}[axis x line*=bottom,
            axis y line*=left, drop shadow] 
    \addplot[ybar, blue, fill,path fading=fade down, rounded corners=2pt]
    coordinates{(1,2.9) (2,1.7) (3,4.2) (4,5.1) (5,4) (6,2.2)};
\end{axis}
\end{tikzpicture}

\end{document}

答案1

有许多可以应用的黑客技术,但我认为这足以被视为一种解决方案。

对于阴影,可以使用pgf-blur由开发的软件包(或带有.dtx文件的 TikZ 库)马丁·吉斯。 看衰落声明中软路径的重用?衰落的转变?因此,将漂亮的阴影与绘图移位相结合,使圆角矩形消失,看起来就像“3D”。阴影没有问题的原因正是这个 hack 起作用的原因,它们被轴剪裁了。

\documentclass{article}
\usepackage{pgfplots}
\usetikzlibrary{shadows.blur}

\begin{document}

\tikzfading[name=fade down,
    top color=transparent!30,
    bottom color=transparent!0]

\begin{tikzpicture}
    \begin{axis}[axis x line*=bottom,
            axis y line*=left, blur shadow] 
    \addplot[yshift=-2pt,ybar, blue, fill,path fading=fade down, rounded corners=2pt]
    coordinates{(1,2.9) (2,1.7) (3,4.2) (4,5.1) (5,4) (6,2.2)};
\end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容