一年多以前,我发表了以下开源文章:https://www.sciencedirect.com/science/article/pii/S0045782521007374
目前,我正在撰写我的博士论文,其中涉及此类文章。我想改进上述出版物图 1 中给出的草图/图表,如下所示:
由于我的论文中包含的所有其他图形都是 Tikz 格式的,因此我也希望这幅图采用这种优雅的格式。但是,我发现这真的非常困难!我想要一个可重现的代码来输入到我的论文中,以便根据论文的排版风格生成图形。
如果你们中有人能帮我完成这项任务,我将不胜感激。当然,我会在论文中写上你的名字(昵称),以表彰你的努力。
答案1
这是一个手动的、快速而简单的方法。
仅需借助3d
库中的一些矩形和网格即可获得canvas is AB plane at C
按键。
代码
\documentclass[tikz]{standalone}
\usetikzlibrary{3d, shapes.arrows}
\begin{document}
\begin{tikzpicture}[
line join=round,
z=(135:.8cm), sh/.style={shift={(0,0,#1)}},
sides/.style={fill=lightgray}]
\sffamily
\foreach \i in {4, 3, 2, 1}{
\tikzset{sh=\i}
\fill[white] (0,0) rectangle coordinate(@) (3,2);
\draw[line cap=rect, xstep=3/(2^\i), ystep=2/(2^\i)] (0,0) grid (3,2);
}
\node[below] at (@|-0,0) {FEM refinements};
\tikzset{shift=(right:7)}
\foreach \i in {4, 3, 2, 1}{
\tikzset{sh=\i}
\draw[sides, canvas is yz plane at x=0]
(0,0) rectangle (1.5,.5) coordinate (@);
\draw[sides, canvas is xz plane at y=1.5]
(@) rectangle node[transform shape, yscale=.75] {Layer \i}
(4,0) coordinate (@);
\draw[fill=white] (0,0) rectangle coordinate(@) (@);
}
\node[below] at (@|-0,0) {NN layers};
\node[single arrow, draw, fill=white, minimum height=3cm,
canvas is yz plane at x=0, rotate=90] at (0, .75, 2.75) {};
\end{tikzpicture}
\end{document}