4*4 tikz 收益矩阵

4*4 tikz 收益矩阵

有人可以告诉我如何扩展此处描述的 3 * 3 tikz 图像吗:

生成 3x3 收益矩阵(博弈论)

变成 4*4 的图像?

答案1

  • 再添加一个条目\myrowhead\mycolhead

  • 矩阵中的每一行都添加一个数字

  • 向矩阵添加两行

  • \foreach运行到3

    • 在计算节点的位置时除以 8,而不是 6 \foreach

在此处输入图片描述

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{matrix,calc,positioning}
\begin{document}    
\begin{tikzpicture}
\def\myrowhead{{"Left","Up","Front","Somewhere"}}
\def\mycolhead{{"Right","Down","Back","Dunno"}}

\matrix[matrix of math nodes,draw,
every odd row/.style={align=right},every evenrow/.style={align=left},
nodes={text width=1.5cm},row sep=0.2cm,column sep=0.2cm] 
          (m) {2&3&6&5\\4&2&-1&9\\-1&0&0&2\\0&0&0&3\\2&3&6&1\\4&2&-1&8\\4&2&-1&8\\4&2&-1&8\\};
\foreach\x[count=\xi from 2,evaluate={\xx=int(2*\x);\xxi=int(\xx+1)}] in {1,2,3}{
  \draw ({$(m-1-\x)!0.5!(m-1-\xi)$}|-m.north) -- ({$(m-1-\x)!0.5!(m-1-\xi)$}|-m.south);
  \draw ({$(m-\xx-1)!0.5!(m-\xxi-1)$}-|m.west) -- ({$(m-\xx-1)!0.5!(m-\xxi-1)$}-|m.east);
}
\foreach\x in{0,1,2,3}{
  \node[text depth=0.25ex,above=2mm] at ($(m.north west)!{(2*\x+1)/8}!(m.north east)$) 
     {\pgfmathparse{\myrowhead[\x]}\pgfmathresult};
  \node[left=2mm] at ($(m.north west)!{(2*\x+1)/8}!(m.south west)$) 
     {\pgfmathparse{\mycolhead[\x]}\pgfmathresult};
}


\node[above=18pt of m.north] (firm b) {Column};
\node[left=1.6cm of m.west,align=center,anchor=center] {Row};
\end{tikzpicture}
\end{document}

相关内容