-
Notifications
You must be signed in to change notification settings - Fork 2
/
cleva_filled.tex
135 lines (110 loc) · 6.13 KB
/
cleva_filled.tex
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
\newcommand{\D}{11} % number of protocol dimensions (config option)
\newcommand{\U}{2} % number of scale units (config option)
\newcommand{\M}{0}
\newcommand{\EV}{15} %number of evaluation measures (config option)
\newdimen\R % maximal diagram radius (config option)
\R=2.7cm
\newdimen\L % radius to put dimension labels (config option)
\L=3.3cm
\newcommand{\A}{360/\D} % calculated angle between dimension axes
\newcommand{\B}{360/\EV} % calculated angle between evaluation measure axes
\newcommand{\BM}{\B/\M}
\newcommand{\Doffset}{3*\A - 90}
\newcommand{\Instrip}{3.6cm}
\newcommand{\Outstrip}{3.85cm}
\newcommand{\nodefontsize}{|\tiny \selectfont|}
\usetikzlibrary{decorations.text, arrows.meta}
\tikzset{
font={\tiny\selectfont},
myarrow/.style={thick, -latex},
whiteshell/.style={draw=white,fill=white,opacity=0.0},
whitecircle/.style={draw=black,fill=white,circle, align=center,, inner sep=1pt, opacity=0.75},
magentashell/.style={draw=magenta,fill=magenta,fill opacity=0.4, opacity=0.3},
greenshell/.style={draw=green!50!black,fill=green!50!black, fill opacity=0.4, opacity=0.3},
blueshell/.style={draw=blue!70!black, fill=blue!70!black, fill opacity=0.4,opacity=0.3},
orangeshell/.style={draw=orange!90!black, fill=orange!80,fill opacity=0.4, opacity=0.3},
cyanshell/.style={draw=cyan!90!black, fill=cyan!80!black,fill opacity=0.4, opacity=0.3},
brownshell/.style={draw=brown!90!black, fill=brown!80!black,fill opacity=0.4, opacity=0.3},
% #1=radius, #2=start angle, #3=end angle, #4=draw style,
% #5 text colour, #6=text
pics/strip/.style args = {#1,#2,#3,#4,#5,#6}{
code = {
\draw[#4] (#2:#1-1.25mm) arc (#2:#3:#1-1.25mm)
-- (#3:#1) -- (#3:#1+1.25mm) arc (#3:#2:#1+1.25mm)
-- (#2:#1) -- cycle;
\path[
decoration={text along path, text color=#5, text = {#6},
text align = {align = center}, raise = -0.3ex},
decorate] (#2:#1) arc (#2:#3:#1);
}
}
}
\begin{tikzpicture}[scale=1]
\path (0:0cm) coordinate (O); % define coordinate for origin
% draw the spiderweb
\foreach \X in {1,...,\D}{
\draw [opacity=0.5](\X*\A:0) -- (\X*\A:\R);
}
\foreach \Y in {0,...,\U}{
\foreach \X in {1,...,\D}{
\path (\X*\A:\Y*\R/\U) coordinate (D\X-\Y);
\fill (D\X-\Y) circle (1.5pt);
}
\draw [opacity=0.5] (0:\Y*\R/\U) \foreach \X in {1,...,\D}{
-- (\X*\A:\Y*\R/\U)
} -- cycle;
}
% define labels for each dimension axis (names config option)
\path (1*\A:\L) node (L1)[yshift=-2ex,xshift=-2.25ex, rotate=\Doffset-2*\A] {Multiple Models};
\path (2*\A:\L) node (L2)[yshift=-2.5ex, xshift=-1ex,rotate=\Doffset-\A] {Federated};
\path (3*\A:\L) node (L3) [xshift=0ex, yshift=-2.75ex, rotate=\Doffset]{Online};
\path (4*\A:\L) node (L4) [xshift=1.5ex, yshift=-2.25ex, rotate=\Doffset+\A]{Open World};
\path (5*\A:\L) node (L5) [xshift=2.5ex, yshift=-0.5ex, rotate=\Doffset+2*\A]{Multiple Modalities};
\path (6*\A:\L) node (L6) [xshift=2.75ex, yshift=0.5ex, rotate=-2*\A-5]{Active Data Query};
\path (7*\A:\L) node (L7) [xshift=2.75ex, yshift=1.25ex, rotate=5-\A]{Task Order Discovery};
\path (8*\A:\L) node (L8) [xshift=2.0ex, yshift=2.5ex, rotate=0]{Task Agnostic};
\path (9*\A:\L) node (L9) [xshift=0ex, yshift=2.75ex, rotate=-(\Doffset-1*\A)]{Episodic Memory};
\path (10*\A:\L) node (L10) [xshift=-2.5ex,yshift=1ex, rotate=2*\A-15]{Generative};
\path (11*\A:\L) node (L11)[yshift=-0.5ex,xshift=-2.75ex, rotate=\Doffset-3*\A] {Uncertainty};
% for each sample case draw a path around the web along concrete values
% for the individual dimensions. Each node along the path is labeled
% with an identifier using the following scheme:
%
% D<d>-<v>, dimension <d> a number between 1 and \D (#dimensions) and
% value <v> a number between 0 and \U (#scale units)
%
% The paths will be drawn half-opaque, so that overlapping parts will be
% rendered in a composite color.
% 1 - multiple models, 2 - federated, 3 - online , 4 - open world, 5 -multiple modalities, 6- active, 7 - task order, 8 - task agnostic, 9 - episodic memory, 10 - generative, 11 - uncertainty
% Inner circle
% Outer circle
%% OUTSIDE circle labels
% Top half
\pic at (0,0){strip={\Outstrip, 1*\B, 0*\B,whitecircle,black,\nodefontsize Parameters}};
\pic at (0,0){strip={\Outstrip, 2*\B, 1*\B,whitecircle,black,\nodefontsize Compute time}};
\pic at (0,0){strip={\Outstrip, 3*\B, 2*\B,whitecircle,black,\nodefontsize MAC operations}};
\pic at (0,0){strip={\Outstrip, 4*\B, 3*\B,whitecircle,black,\nodefontsize Communication}};
\pic at (0,0){strip={\Outstrip, 5*\B, 4*\B,whitecircle,black,\nodefontsize Forgetting}};
\pic at (0,0){strip={\Outstrip, 6*\B, 5*\B,whitecircle,black,\nodefontsize Forward transfer}};
\pic at (0,0){strip={\Outstrip, 7*\B, 6*\B,whitecircle,black,\nodefontsize Backward transfer}};
\pic at (0,0){strip={\Outstrip, 8*\B, 7*\B,whitecircle,black,\nodefontsize Openness}};
% Bottom half (invert direction here instead of (i * \B, i-1 * \B) do (i-1 * \B, i * \B)
% for improved text label readability
\pic at (0,0){strip={\Outstrip, 8*\B, 9*\B,whitecircle,black,\nodefontsize Data per task}};
\pic at (0,0){strip={\Outstrip, 9*\B, 10*\B,whitecircle,black,\nodefontsize Task order}};
\pic at (0,0){strip={\Outstrip, 10*\B, 11*\B,whitecircle,black,\nodefontsize Per task metrics}};
\pic at (0,0){strip={\Outstrip, 11*\B, 12*\B,whitecircle,black,\nodefontsize Optimization steps}};
\pic at (0,0){strip={\Outstrip, 12*\B, 13*\B,whitecircle,black,\nodefontsize Generated data}};
\pic at (0,0){strip={\Outstrip, 13*\B, 14*\B,whitecircle,black,\nodefontsize Stored data}};
\pic at (0,0){strip={\Outstrip, 14*\B, 15*\B,whitecircle,black,\nodefontsize Memory}};
\newcommand{\lentry}[2]{%
% #1: color, #2: label
\scalebox{0.6}{\fcolorbox{#1!30}{#1!30}{\textcolor{#1!30}{\rule{\fontcharht\font`X}{\fontcharht\font`X}}}} #2
}
\coordinate (center) at (0,0);
{\protect\NoHyper
\node[] (legend) [below=4.05cm of center, align = left] {
%-$LEGEND$
};
\protect\endNoHyper}
\end{tikzpicture}