在 pgfplots 中绘制带阴影的框

在 pgfplots 中绘制带阴影的框

作为后续行动这个问题,或者更准确地说这个答案,我想知道怎么做

\shadedraw
  [shading=axis,left color=green,right color=orange,color=blue,line width=2] 
  (2,0) -- (2,1) 
  {[rounded corners=1em] -- (3,1)} --
  (3,0) -- (2,0);

使用 pgfplots 以便在 CMYK 色彩空间中完成阴影。

(然后将其用作baposter框标题中的阴影的替代。)

答案1

正如已经强调的那样https://tex.stackexchange.com/a/137031,这个答案应该被视为一种解决方法:正确的解决方案是“等待 tikz 中的功能请求”。

当然,这可能比手头上笨拙的解决方法花费更长的时间。

这里尝试使用pgfplots曲面图来模拟所需的填充阴影:

在此处输入图片描述

\documentclass[a4paper]{article}

\usepackage[cmyk]{xcolor}

\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
% if you have v1.8, write:
%\pgfplotsset{mesh/colorspace explicit color output=cmyk}


\begin{document}

\begin{tikzpicture}
\draw (0,0) grid (3,3);
    \shadedraw
  [shading=axis,left color=green,right color=orange,color=blue,line width=2] 
  (2,0) -- (2,1) 
  {[rounded corners=1em] -- (3,1)} --
  (3,0) -- (2,0);
\end{tikzpicture}

\begin{tikzpicture}

\draw (0,0) grid (3,3);
    \draw
  [color=blue,line width=4pt] 
  (2,0) -- (2,1) 
  {[rounded corners=1em] -- (3,1)} --
  (3,0) -- cycle;
    \clip
  (2,0) -- (2,1) 
  {[rounded corners=1em] -- (3,1)} --
  (3,0) -- cycle;

    \begin{axis}[
        % necessary to match up coordinate systems:
        xmin=0,ymin=0,
        anchor=origin,
        x=1cm,y=1cm,
        hide axis,
    ]
    \addplot[surf,mesh/color input=explicit,shader=interp] 
    table[meta=cdata] {
        x y cdata
        2 0 color=green
        2 1 color=green

        3 0 color=orange
        3 1 color=orange
    };
    \end{axis}
\end{tikzpicture}
\end{document}

两者都是 tikzpictures,第一个是从您的问题中复制而来的,第二个是基于pgfplots。您会发现它涉及的内容要多得多:它安装一条clip路径以将阴影限制在您的“圆角”矩形中,然后绘制剪辑路径的轮廓(出于某种原因,如果我使用\draw[clip]其余选项,pgf 会拒绝它)。其余部分是一个pgfplots轴,它被强制使用与外部图片相同的坐标系tikz(需要 pgfplots 手册中“TikZ 互操作性”部分中解释的一组键)。

一旦 TikZ 支持 CMYK 阴影,这个答案有望变得多余。

相关内容