TikZ:模糊效果

TikZ:模糊效果

你知道,在 Burrows-Wheeler 变换中,所有旋转的矩阵只是概念性的,重要的是最后一列。我想在图片中传达这个想法

\documentclass{standalone}
\usepackage{tikz}

\usetikzlibrary{matrix,positioning}

\begin{document}

\begin{tikzpicture}
    \begin{scope}
            \matrix (B) [matrix of nodes, ampersand replacement = \&]{
                {} \&  {} \&  {} \&  {} \&  {} \&  {} \&  {} \&  {} \&  {} \&  {} \&  {BWT} \& {SA} \\
                \hline
                {a} \& {n} \& {k} \& {u} \& {k} \& {l} \& {u} \& {k} \& {s} \& {k} \& {l} \& {9} \\
                {k} \& {l} \& {a} \& {n} \& {k} \& {u} \& {k} \& {l} \& {u} \& {k} \& {s} \& {7} \\
                {k} \& {l} \& {u} \& {k} \& {s} \& {k} \& {l} \& {a} \& {n} \& {k} \& {u} \& {2} \\
                {k} \& {s} \& {k} \& {l} \& {a} \& {n} \& {k} \& {u} \& {k} \& {l} \& {u} \& {5} \\
                {k} \& {u} \& {k} \& {l} \& {u} \& {k} \& {s} \& {k} \& {l} \& {a} \& {n} \& {0} \\
                {l} \& {a} \& {n} \& {k} \& {u} \& {k} \& {l} \& {u} \& {k} \& {s} \& {k} \& {8} \\
                {l} \& {u} \& {k} \& {s} \& {k} \& {l} \& {a} \& {n} \& {k} \& {u} \& {k} \& {3} \\
                {n} \& {k} \& {u} \& {k} \& {l} \& {u} \& {k} \& {s} \& {k} \& {l} \& {a} \& {10} \\
                {s} \& {k} \& {l} \& {a} \& {n} \& {k} \& {u} \& {k} \& {l} \& {u} \& {k} \& {6} \\
                {u} \& {k} \& {l} \& {u} \& {k} \& {s} \& {k} \& {l} \& {a} \& {n} \& {k} \& {1} \\
                {u} \& {k} \& {s} \& {k} \& {l} \& {a} \& {n} \& {k} \& {u} \& {k} \& {l} \& {4} \\
            };
            \filldraw[semitransparent] (B-1-1.north west) rectangle (B-12-10.south east);
    \end{scope}
\end{tikzpicture}

\end{document}

我想要实现的效果是以某种方式“模糊”矩阵中除最后一列之外的内容。我是否必须在矩阵选项中尝试后置操作?当然,我可以明确地用较浅的颜色设置矩阵的相关元素,这样就可以实现整体模糊效果,但有什么办法可以模糊整个地区?

答案1

我能想到的模糊部分矩阵的最简单方法是降低矩阵中每个节点的不透明度,然后明确将最后一列节点的不透明度设置为1。可以这样实现:

\documentclass{standalone}
\usepackage{tikz}

\usetikzlibrary{matrix}

\begin{document}

\begin{tikzpicture}
    \begin{scope}
            \matrix (B) [matrix of nodes, ampersand replacement = \&,nodes={opacity=.5}]{
                {} \&  {} \&  {} \&  {} \&  {} \&  {} \&  {} \&  {} \&  {} \&  {} \&  {BWT} \& {SA} \\
                \hline
                {a} \& {n} \& {k} \& {u} \& {k} \& {l} \& {u} \& {k} \& {s} \& {k} \& {l} \&|[opacity=1]| {9} \\
                {k} \& {l} \& {a} \& {n} \& {k} \& {u} \& {k} \& {l} \& {u} \& {k} \& {s} \&|[opacity=1]| {7} \\
                {k} \& {l} \& {u} \& {k} \& {s} \& {k} \& {l} \& {a} \& {n} \& {k} \& {u} \&|[opacity=1]| {2} \\
                {k} \& {s} \& {k} \& {l} \& {a} \& {n} \& {k} \& {u} \& {k} \& {l} \& {u} \&|[opacity=1]| {5} \\
                {k} \& {u} \& {k} \& {l} \& {u} \& {k} \& {s} \& {k} \& {l} \& {a} \& {n} \&|[opacity=1]| {0} \\
                {l} \& {a} \& {n} \& {k} \& {u} \& {k} \& {l} \& {u} \& {k} \& {s} \& {k} \&|[opacity=1]| {8} \\
                {l} \& {u} \& {k} \& {s} \& {k} \& {l} \& {a} \& {n} \& {k} \& {u} \& {k} \&|[opacity=1]| {3} \\
                {n} \& {k} \& {u} \& {k} \& {l} \& {u} \& {k} \& {s} \& {k} \& {l} \& {a} \&|[opacity=1]| {10} \\
                {s} \& {k} \& {l} \& {a} \& {n} \& {k} \& {u} \& {k} \& {l} \& {u} \& {k} \&|[opacity=1]| {6} \\
                {u} \& {k} \& {l} \& {u} \& {k} \& {s} \& {k} \& {l} \& {a} \& {n} \& {k} \&|[opacity=1]| {1} \\
                {u} \& {k} \& {s} \& {k} \& {l} \& {a} \& {n} \& {k} \& {u} \& {k} \& {l} \&|[opacity=1]| {4} \\
            };
    \end{scope}
\end{tikzpicture}

\end{document}

我删除了该positioning库,因为它没有在任何地方使用。结果:

模糊矩阵

它看起来很糟糕(我猜是因为转换为 jpg),但在 PDF 中它看起来很好。

编辑:经过评论中的讨论,我同意 Jake 的建议,根据颜色而不是透明度进行区分。我最初只使用透明度,因为我觉得它更接近“模糊”的外观。我不会在这里重复整个代码,您可以删除|[opacity=1]|最后一列中的添加并将\matrix行更改为:

\matrix (B) [matrix of nodes, ampersand replacement = \&,nodes={color=gray},column 12/.style={nodes={color=black}},column 11/.style={nodes={color=black}}]{

结果:

颜色模糊

相关内容