答案1
与。{NiceTabular}
nicematrix
- 为了获得方形单元格,将列的宽度固定为 8 毫米(并将
tabcolsep
列两侧的长度设置为 0 pt)并在每行中放置总高度为 8 毫米的支柱(\rule[-3mm]{0pt}{8mm}
)。 - 使用
\rotatebox
来graphicx
旋转第一行每个单元格的内容。 - 在 中
{NiceTabular}
,键hvlines
绘制所有规则,除了“第一行”和“第一列”(由相应的键指定)。
\documentclass{article}
\usepackage{graphicx}
\usepackage{nicematrix}
\begin{document}
\NewDocumentCommand{\MyRotate}{m}
{ \rotatebox[origin=c]{80}{#1} }
\setlength{\tabcolsep}{0pt}
\begin{NiceTabular}[first-row,first-col,hvlines,colortbl-like,columns-width=8mm]
{>{\rule[-3mm]{0pt}{8mm}}ccccc}
& \MyRotate{Feature A}
& \MyRotate{Feature B}
& \MyRotate{Feature C}
& \MyRotate{Feature 1}
& \MyRotate{Feature 2} \\
Foo & & \cellcolor{blue!15} & & \cellcolor{red!15}{}\\
Bar & & \cellcolor{blue!15} & \cellcolor{blue!15} & \cellcolor{red!15} & \cellcolor{red!15}\\
Baz & \cellcolor{blue!15}\\
\end{NiceTabular}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。
评论:使用nicematrix
,您将在所有缩放级别的所有 PDF 查看器中获得良好的输出。