我正在尝试在 tikz 中的节点内创建一个表(主要目的是在我的表旁边有两个箭头。但是表格式发生了变化。具体来说,列不在图片中。
\tcbset{tab2/.style={enhanced,fonttitle=\bfseries,
colback=yellow!10!white,colframe=red!50!black,colbacktitle=Salmon!40!white,
coltitle=black,center title}}
\begin{tikzpicture}
\node
{
\begin{table}[htb]
\setlength{\tabcolsep}{3pt}
\refstepcounter{table}
\begin{tcolorbox}[tab2,tabularx={p{3cm}|Y|Y}]
\footnotesize{-} & \footnotesize{a}& \footnotesize{b}\\\hline\hline
\footnotesize{c} & \footnotesize{d}&\footnotesize{f} \\\hline\hline
\footnotesize{g} & \footnotesize{h}& \footnotesize{i}\\\hline\hline
\footnotesize{j } & \footnotesize{l} & \footnotesize{m}\\\hline\hline
\end{tcolorbox}
\end{table}
};
\draw[very thick, ->] (-6,-2) -- (-6,2) node[midway,above,sloped] {dimension 1};
\draw[very thick, ->] (-5,-2) -- (4,-2) node[midway,above,sloped] {dimension2};
\end{tikzpicture}
答案1
您可以将text width
节点设置为可以使表格适合框架的内容。
其他一些评论:
- 您不需要在
table
环境中包装您的桌子。 \footnotesize
是一个开关,不接受参数。你应该使用它来\footnotesize ...
代替\footnotesize{...}
- 如果你已经将表创建为节点,则可以使用该节点的坐标作为箭头
\documentclass[xcolor={svgnames,table}]{beamer}
\usepackage{tikz}
\usepackage[most]{tcolorbox}
\usepackage{tabularx}
\tcbset{
tab2/.style={
enhanced,
fonttitle=\bfseries,
colback=yellow!10!white,
colframe=red!50!black,
colbacktitle=Salmon!40!white,
coltitle=black,
center title
}
}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\node[text width=.8\linewidth,font=\footnotesize] (table) {
\begin{tcolorbox}[tab2,tabularx={|X|X|X|}]
- & a & b\\\hline\hline
c & d & f\\\hline\hline
g & h & i\\\hline\hline
j & l & m\\\hline\hline
\end{tcolorbox}
};
\draw[very thick, ->] ([xshift=-0.4cm]table.south west) -- ([xshift=-0.4cm]table.north west) node[midway,above,sloped] {dimension 1};
\draw[very thick, ->] ([yshift=-0.4cm]table.south west) -- ([yshift=-0.4cm]table.south east) node[midway,below,sloped] {dimension2};
\end{tikzpicture}
\end{frame}
\end{document}