如何在表格上方/下方水平放置箭头?

如何在表格上方/下方水平放置箭头?

我试图在表格旁边画这样的箭头:

桌子

我能够用这个技巧画出垂直箭头显示在这里

$\left.
  \begin{tabular}{|c|c|c|}
    \hline medium & high & high \\
    \hline low & medium & high \\
    \hline low & low & medium \\
    \hline
  \end{tabular}
\right\uparrow
\rotatebox[origin=c]{90}{Impact}$

表乳胶

但是我不知道如何在表格顶部画水平箭头。这个答案似乎使用相同的技术来绘制水平箭头,但我无法适应它。它也应该可以使用 TikZ但我希望保持简单。

答案1

距离您提出这个问题已经有一段时间了,但我刚刚才偶然发现。
既然您要求tikz解决方案,那么这里有一个简单的解决方案。

\documentclass[border=10pt]{standalone}
\usepackage{tikz}

\begin{document}

\def\spc{7pt} % Space between array and arrows, adjuts the arrows length automatically

\tikzset{myarrow/.style={-stealth,shorten >=\spc, shorten <=\spc}}

\begin{tikzpicture}
    
    \node[inner sep=\spc] (t)
        {
        \begin{tabular}{|*{3}{c|}}
        \hline medium & high & high \\
        \hline low & medium & high \\
        \hline low & low & medium \\
        \hline
        \end{tabular}
        };
    
    \draw[myarrow] (t.north west) -- (t.north east) node[midway,above] {Likelihood};
    \draw[myarrow] (t.south east) -- (t.north east) node[midway,below,sloped] {Impact};
\end{tikzpicture}

\end{document}

数组周围的箭头

答案2

只需xrightarrow

\documentclass{article}
\usepackage{amsmath, amssymb}
\usepackage{bigstrut}
\usepackage{array, rotating, cellspace}
\setlength{\cellspacetoplimit}{6pt}
\setlength{\cellspacebottomlimit}{6pt}

\begin{document}

$\xrightarrow[%
  \left.\begin{tabular}{|*{3}{>{\sffamily}Sc|}}
    \hline medium & high & high \\
    \hline low & medium & high \\
    \hline low & low & medium \\
    \hline
  \end{tabular}%
  \enspace \right\uparrow\hskip-1em\rlap{\hskip 1.25em\rotatebox[origin=c]{90}{\sffamily Impact}}]
{\textsf{\normalsize Likelihood}\bigstrut} $

\end{document} 

在此处输入图片描述

答案3

{NiceTabular}这是使用和 Tikz 的解决方案nicematrix

\documentclass{article}
\usepackage{nicematrix,tikz}

\begin{document}
\begin{NiceTabular}{ccc}[hvlines,first-row,last-col,cell-space-limits=6pt]
\Cdots[line-style={solid,->}]^{\text{Likelihood}} \\
medium & high & high 
& \Vdots[line-style={xshift=3mm,solid,<-}]^{\text{Impact}} \\
low & medium & high \\
low & low & medium \\
\end{NiceTabular}
\end{document} 

您需要多次编译(因为nicematrix使用 PGF/Tikz 节点)。

上述代码的输出

相关内容