LaTeX:Tikz循环画图

使用的函数:\foreach
功能:可以嵌套
注意:似乎一次只能画一组图

示例:

\begin{figure}[H]
    \centering
    % scale数值要和size统一!
    \begin{tikzpicture}[scale = 1.5]
        \foreach \i in {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
        {
            \foreach \j in {0, 1, 2, 3, 4}
            {
                % 可以批量命名!
                \Vertex[x = \i, y = \j, color = white, shape = rectangle, size = 1.5, label = {$(\i,\j)$}, fontscale = 1.5]{A\i\j} 
            }
        }
    \end{tikzpicture}
    \caption{原始空白切面}
\end{figure}

效果图:


图1:foreach的基本使用

需要注意的是:在内循环中似乎不能再用别的画图命令!比如想要在每个方块里加一个扇形图,那么画扇形图的命令需要重新再执行一遍!不能直接在内循环中做!

错误操作:

\begin{figure}[H]
    \centering
    % scale数值要和size统一!
    \begin{tikzpicture}[scale = 1.5]
        \foreach \i in {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
        {
            \foreach \j in {0, 1, 2, 3, 4}
            {
                % 可以这样批量命名!
                \Vertex[x = \i, y = \j, color = white, shape = rectangle, size = 1.5]{A\i\j} 
                \pie[pos = { \a,\b }, radius = 0.4, color = {blue, cyan, yellow, red}, hide number]{10/, 20/, 30/, 40/}
            }
        }
    \caption{切片:每个方格中画一个饼图}
\end{figure}

正确操作:再重启一个大+小循环

\begin{figure}[H]
    \centering
    % scale数值要和size统一!
    \begin{tikzpicture}[scale = 1.5]
        \foreach \i in {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
        {
            \foreach \j in {0, 1, 2, 3, 4}
            {
                % 可以这样批量命名!
                \Vertex[x = \i, y = \j, color = white, shape = rectangle, size = 1.5]{A\i\j} 
            }
        }
        % 一个foreach中只能有一个画图命令!
        % 再重启一套循环:
        \foreach \a in {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
        {
            \foreach \b in {0, 1, 2, 3, 4}
            {
                % 可以这样批量命名!
                \pie[pos = { \a,\b }, radius = 0.4, color = {blue, cyan, yellow, red}, hide number]{10/, 20/, 30/, 40/}
            }
        }
        %
    \end{tikzpicture}
    \caption{切片:每个方格中画一个饼图}
\end{figure}

效果图:


图2:每个方格中加一个扇形

你可能感兴趣的:(LaTeX:Tikz循环画图)