summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/sankey/sankey-example1.tex
blob: bdeebbb876adbf5f3d92ad0a195e003d4c784fec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
\begin{tikzpicture}
  \begin{sankeydiagram}%[debug]
    \colorlet{cold}[rgb]{cyan!75!blue!50!white}
    \colorlet{hot}[rgb]{red!50!orange!75!white}
    \sankeyset{
      ratio=90pt/6,minimum radius=15pt,
      start style=simple,end style=simple,
      draw/.style={
        draw=blue!50!cyan,
        line width=1pt,line cap=round,line join=round,
      },
      cold/.style={
        fill/.style={
          draw=cold,line width=0pt,fill=cold,
        },
      },
      cold to hot/.style={
        fill/.style={
          fill=none,top color=cold,
          bottom color=hot,middle color=yellow,
        },
      },
      hot/.style={
        fill/.style={
          draw=hot,line width=0pt,fill=hot,
        },
      },
    }

    \sankeyset{cold}
    \sankeynodestart{name=p0,at={100,0},angle=-90,quantity=6}
    \sankeyadvance{p0}{50pt}
    \sankeyfork{p0}{3/p1,3/p2}
    \sankeyturnleft{p1}{90}
    \sankeyadvance{p1}{20pt}
    \sankeyadvance{p2}{60pt}
    \sankeyfork{p2}{2/p3,1/p4}
    \sankeyturnleft{p3}{90}
    \sankeyadvance{p3}{50pt}
    \sankeyfork{p3}{1/p5,1/p6}
    \sankeyadvance{p5}{70pt}
    \sankeyfork{p1}{1/p7,1/p8,1/p9}
    \sankeyadvance{p7}{50pt}
    \sankeyadvance{p9}{50pt}
    \sankeyadvance{p4}{40pt}
    \sankeyturnleft{p4}{90}
    \sankeyadvance{p4}{65pt}
    \sankeyadvance{p7}{40pt}
    \sankeynode{
      name=p11,at={[shift={(50pt,-15pt)}]p7},quantity=3,
      forked={1/p7a,1/p9a,1/p5a},
    }
    \sankeyoutin{p7}{p7a}
    \sankeyoutin{p9}{p9a}
    \sankeyoutin{p5}{p5a}
    \sankeyadvance{p11}{30pt}
    \sankeyend{p11}
    \sankeyturnright{p8}{90}
    \sankeyturnright{p6}{90}
    \sankeyturnright{p4}{90}
    \sankeyset{hot}
    \sankeyadvance[cold to hot]{p8}{40pt}
    \sankeynode{
      name=p10,at={[shift={(-15pt,-60pt)}]p8},angle=-90,quantity=3,
      forked={1/p8a,1/p6a,1/p4a},
    }
    \sankeyoutin[cold to hot]{p4}{p4a}
    \sankeyoutin[cold to hot]{p6}{p6a}
    \sankeyoutin{p8}{p8a}
    \sankeyadvance{p10}{30pt}
    \sankeyend{p10}
  \end{sankeydiagram}
\end{tikzpicture}