有没有办法创建这个最终图形及其文本,该文本描述了统计中 k 倍交叉验证背后的想法,其形状像表格或矩阵一样使用 TikZ 对齐?我从哪里开始,有没有类似的代码可以提供帮助?此外,是否有任何预定义的形状库允许使用比下图中提供的形状更多的不同形状?
答案1
这不是一个完整的答案,但应该足以帮助您入门。
这个想法是为每个形状定义一个宏,并使用一个指定颜色的参数。在 TikZ 中,可以为这三种形状定义\mycirc
、\myrect
和 ,\mystar
如下所示。
\tikzset{myshade/.style={minimum size=.4cm,shading=radial,inner color=white,outer color={#1!90!gray}}}
\newcommand\mycirc[1][]{\tikz\node[circle,myshade=#1]{};}
\newcommand\myrect[1][]{\tikz\node[rectangle,myshade=#1]{};}
\newcommand\mystar[1][]{\tikz\node[star,star points=15,star point height=2pt,myshade=#1]{};}
然后,您可以在tabular
环境中使用这些形状来生成与发布的图形类似的图形。
完整代码
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\tikzset{myshade/.style={minimum size=.4cm,shading=radial,inner color=white,outer color={#1!90!gray}}}
\newcommand\mycirc[1][]{\tikz\node[circle,myshade=#1]{};}
\newcommand\myrect[1][]{\tikz\node[rectangle,myshade=#1]{};}
\newcommand\mystar[1][]{\tikz\node[star,star points=15,star point height=2pt,myshade=#1]{};}
\begin{document}
\begin{tabular}{rccccc|ccc}
Original Data & \mycirc[orange] & \mystar[pink] & \myrect[orange] & \mycirc[red] & \myrect[green] \\[.5cm]
& \multicolumn{5}{c|}{\textit{Build Model With}} & \multicolumn{2}{c}{\textit{Predict On}} \\
CV Group \#1 & \mycirc[orange] & \mystar[pink] & \myrect[orange] & \mycirc[red] & & \mycirc[orange] & \mystar[pink] \\
CV Group \#1 & & \mystar[pink] & \myrect[orange] & \mycirc[red] & \myrect[green] & \mycirc[orange] & \mystar[pink]
\end{tabular}
\end{document}
输出
答案2
没有tikz
。它由一系列堆栈组成。符号只是按比例缩放的项目符号和规则,每个都放入 2.6ex 宽度的框中,以便对齐。
\documentclass{article}
\usepackage{xcolor}
\usepackage[usestackEOL]{stackengine}
\usepackage{scalerel}
\def\SQ{\makebox[2.6ex]{\rule[-.4ex]{0ex}{2ex}\rule{1.8ex}{1.8ex}}}
\def\BL{\makebox[2.6ex]{}}
\def\OC{\makebox[2.6ex]{\scalerel*{\color{orange}\bullet}{\SQ}}}
\def\RC{\makebox[2.6ex]{\scalerel*{\color{red}\bullet}{\SQ}}}
\def\BC{\makebox[2.6ex]{\scalerel*{\color{blue}\bullet}{\SQ}}}
\def\GC{\makebox[2.6ex]{\scalerel*{\color{green}\bullet}{\SQ}}}
\def\OS{\color{orange}\SQ}
\def\RS{\color{red}\SQ}
\def\BS{\color{blue}\SQ}
\def\GS{\color{green}\SQ}
\begin{document}
\sffamily
\Longstack[l]{
Original Data\\
\\
\\
CV Group \#1\\
CV Group \#2\\
CV Group \#3
}~
\Longstack{
\OC\RC\OS\RC\GS\GC\BC\RS\BS\GC\BC\OC\\
\\
Build Model With\\
\BL\BL\BL\BL\GS\GC\BC\RS\BS\GC\BC\OC\\
\OC\RC\OS\RC\BL\BL\BL\BL\BS\GC\BC\OC\\
\OC\RC\OS\RC\GS\GC\BC\RS\BL\BL\BL\BL
}~
\rule[-1ex]{2pt}{4.5\baselineskip}~
\Longstack[l]{
Predict On\\
\OC\RC\OS\RC\\
\GS\GC\BC\RS\\
\BS\GC\BC\OC
}
\end{document}