3

I find that stick figures often make great tools for illustrations of organizations. They are understandable, don't crowd the visual space, and clearly represent an individual person.

Ideally, I would like something that created a stick-figure-shaped node, that I could then use to create network diagrams, to represent people. A package would be the best option, but even simple code to do the same, would be great.

  • Do you know 'tikzpeople'? – Ignasi Jul 16 '18 at 17:53
  • A bit more advanced, but https://tex.stackexchange.com/a/186478/586 might be of interest. – Torbjørn T. Jul 16 '18 at 17:56
  • So I looked at 'tikzpeople' and that is cool, but everything is a little more complex. The simplicity of the stick person is that is instantly recognizable, yet small and easily used. A group of stick figures are exactly and only that, and unmistakable, even at a distance or when small, because they are so frequently used. I may end up going with tikzpeople, ultimately, but it seems odd that something as common as stick people doesn't already have a tikz package, or some such thing. – The Pompitous of Love Jul 16 '18 at 18:28
  • What exactly is a network diagram? – Marijn Jul 16 '18 at 20:56
  • Do you know about tikzsymbols? – cfr Jul 17 '18 at 00:56
  • Could you show some example of "stick figure"? – Ignasi Jul 17 '18 at 08:08

3 Answers3

13

Just for fun, there is a package {tikzsymbols} you can see the examples in section 21.3 in the visual tikz document, you have the macro \Strichmaxerl[scale]:

RESULT:

enter image description here

MWE:

\documentclass[tikz,border=20pt]{standalone}
\usepackage{tikz}  
\usepackage{tikzsymbols}

\begin{document}
    \begin{tikzpicture}
    \Strichmaxerl[5]
    \end{tikzpicture}
\end{document}

There is another variation of this macro \Strichmaxerl[5][right_arm][left_arm][right_leg][lef_leg] that allows to change the position of the arms and legs.

RESULT:

enter image description here

MWE:

% arara: pdflatex: {synctex: yes, action: nonstopmode}
% arara: animate: {density: 200, delay: 10, other: -background white -alpha remove}
% arara: showanimate
\documentclass[tikz,border=20pt]{standalone}
\usepackage{tikzsymbols}
\usetikzlibrary{backgrounds,decorations.pathreplacing}
\begin{document}
\pagecolor{black}
\foreach \A in {1,2,...,9,8,7,...,1}{
\begin{tikzpicture}
    \Strichmaxerl[5][90+\A*18][-\A*18][-45+\A*5][45-\A*5]
    \begin{scope}[on background layer]
    \fill[white](0,0.75) circle (1.5);
    \draw[
        decorate,
        white,
        decoration={
                waves,
                segment length=pi*6,
                radius=1cm
        }
    ] (0,0.75) circle (1.5);
    \draw[white] node at(0,-2){Stick Bond};
    \end{scope}
\end{tikzpicture}}
\end{document}

PSD: To animate this I use imagemagic converter

J Leon V.
  • 11,533
  • 16
  • 47
6

enter image description here

\documentclass{article}

\begin{document}

\begin{picture}(10,25)(0,-3)
\put(5,18){\circle{5}}
\thicklines
\put(5,7){\line(0,1){8}}
\put(5,7){\line(1,-2){5}}
\put(5,7){\line(-1,-2){5}}
\put(1,12){\line(1,0){8}}
\end{picture}
%
\begin{picture}(10,25)(0,-3)
\put(5,17){\circle{5}}
\thicklines
\put(5,7){\line(0,1){7}}
\put(5,7){\line(1,-2){5}}
\put(5,7){\line(-1,-2){5}}
\put(1,11){\line(1,0){8}}
\put(1.75,1.5){\line(1,0){6}}
\put(2.0,2){\line(1,0){5.5}}
\put(2.25,2.5){\line(1,0){5}}
\put(2.5,3){\line(1,0){4.5}}
\put(2.75,3.5){\line(1,0){4}}
\put(3,4){\line(1,0){3.5}}
\put(3.25,4.5){\line(1,0){3}}
\put(3.5,5){\line(1,0){2.5}}
\put(3.75,5.5){\line(1,0){2}}
\end{picture}
%
\begin{picture}(10,25)(0,-3)
\put(5,6){\circle{2}}

\put(4.5,1){\line(0,-1){4}}
\put(5.5,1){\line(0,-1){4}}

\put(3,3){\line(1,0){4}}
\thicklines
\put(5,1){\line(0,1){4}}
\end{picture}


\end{document}

Almost too lifelike to be called stick figures.

David Carlisle
  • 757,742
2

This is what I use in my presentations. It is parametric so that I can place it quite easily by setting \x and \y parameters. Having a population is also easy.

\documentclass[border=3]{standalone}

\usepackage{tikz}
\usetikzlibrary{math}

\begin{document}

% ======================================= V
\newcommand{\stickman}[4]{% \stickman ==== V
    \def\x{#1} % center x
    \def\y{#2} % center y
    \def\r{#3} % radius
    \def\name{#4} % name
    \def\xl{\x-\r} % x left
    \def\xr{\x + \r} % x right
    \def\ya{\y-\r} % body upper
    \def\yb{\ya-\r} % arms
    \def\yc{\yb-\r} % legs
    \def\ybd{\yb-0.5*\r} % arms lower
    \def\ycd{\yc-0.5*\r} % legs lower

    \draw[
        thick, orange
    ]
    (\x, \y) circle (\r) % head
    (\x, \y) node {\name}
    (\x, \ya) -- (\x,\yc) % body
    (\xl, \ybd) -- (\x, \yb) -- (\xr, \ybd) %arms
    (\xl, \ycd) -- (\x, \yc) -- (\xr, \ycd) %arms
    ; %
} % \stickman ==== A
% ======================================= A

% ======================================= V
\begin{tikzpicture}

%   % no name
%   \stickman{3}{3}{1} {}

    % generation
    \stickman{1}{3}{0.4} {a}
    \stickman{1.8}{4.3}{0.4} {b}
    \stickman{3}{4.8}{0.3} {$c_{i}$}
    \stickman{3.1}{2}{0.4} {}
    \stickman{4}{3}{0.5} {}

    % i, j
    \stickman{6}{3}{0.2} {i}
    \stickman{9}{3}{1} {j}

    %
%   \stickman{6}{3}{1}{}
%   \stickman{9}{4}{1}{}
%   \stickman{4.5}{4}{1}{}
\end{tikzpicture}
% ======================================= A

\end{document}```