TikZ 矩阵中希尔伯特矩阵的阴影条目

TikZ 矩阵中希尔伯特矩阵的阴影条目

我正在尝试显示一个希尔伯特矩阵,并通过从数组中选择不同的颜色来对反对角线进行着色,以便单元格 (i,j) 获得颜色\Colors[i+j-1 mod 3](以便相邻的具有相同值的单元格获得相同的颜色)。我得到的希尔伯特矩阵上的着色不起作用(目前)。

我尝试跟随(使用 arrayjob 在 foreach 中更改颜色) 但我不知道如何计算颜色,以便稍后在绘制命令中使用它。

我尝试使用以下方法来定义它execute at begin cell

\documentclass[tikz,border=2mm]{standalone}

\usepackage{tikz}\usetikzlibrary{matrix}

\begin{document}
\newcommand{\Colors}{{%
"FF0000","00FF00","0000FF",%
%"FF0000","00FF00","0000FF",
}}

%hilbert matrix
\begin{tikzpicture}[
  mygridmatrix/.style={matrix of nodes,
    nodes={rectangle,
      draw,
      execute at begin cell=\pgfmathsetmacro{\thecurrentcolor}{\Colors[\the\pgfmatrixcurrentcolumn]}\definecolor{currentcolor}{HTML}{\thecurrentcolor},
      fill=currentcolor,
      minimum width=8mm,
      minimum height=8mm,
      node contents={$\frac{1}{\the\pgfmatrixcurrentrow+\the\pgfmatrixcurrentcolumn-1}$},
    },
    nodes in empty cells,
},
]

\matrix (m) [mygridmatrix]
{
&&&\\
&&&\\
&&&\\
&&&\\
};
\end{tikzpicture}

\end{document}

但这只会产生! Package xcolor Error: Undefined color 'currentcolor'.:(currentcolor用任何真实的颜色替换red都可以使其工作,但所有反对角线都会得到颜色(而不是根据\Colors-array 的颜色)。

任何帮助均感激不尽。

答案1

我不知道颜色代码应该是什么,但您可以相应地修改以下内容。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\tikzset{
  mycolorstyle/.code={%
    \pgfmathparse{\Colors[\the\pgfmatrixcurrentcolumn-1]}%
    \definecolor{temp}{HTML}{\pgfmathresult}%
    \tikzset{fill=temp}%
  }
}
\begin{document}
\newcommand{\Colors}{{"FF0000","00FF00","0000FF","FF0000","00FF00","0000FF"}}

%hilbert matrix
\begin{tikzpicture}[
  mygridmatrix/.style={matrix of nodes,
    nodes={rectangle,
      draw,
      mycolorstyle,
      minimum width=8mm,
      minimum height=8mm,
      node contents={$\frac{1}{\pgfmathparse{int(\the\pgfmatrixcurrentrow+\the\pgfmatrixcurrentcolumn-1)}\pgfmathresult}$},
    },
    nodes in empty cells,
},
]
\matrix (m) [mygridmatrix]
{
&&&\\
&&&\\
&&&\\
&&&\\
};
\end{tikzpicture}
\end{document}

在此处输入图片描述

您的版本不起作用,因为at begin cell它是在节点的 hbox 内部调用的,而不是在节点形状本身的创建中调用的,因此更改填充规范为时已晚。

相关内容