visualisation/cube.tex

Wed, 06 Nov 2024 14:58:31 -0500

author
Tuomo Valkonen <tuomov@iki.fi>
date
Wed, 06 Nov 2024 14:58:31 -0500
changeset 21
5f2b65738e66
child 23
b719a44b0b26
permissions
-rw-r--r--

Add visualisation TikZ

21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
1 \documentclass[tikz]{standalone}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
2 \usepackage{pgfplots}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
3 \usepackage{tikz-3dplot}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
4 \usepgfplotslibrary{colorbrewer}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
5
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
6 \def\datapath{../res/}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
7
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
8 \begin{document}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
9
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
10 \tdplotsetmaincoords{50}{25}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
11
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
12 \def\onlyfront#1{
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
13 \ifnum#1=2\else\ifnum#1=4\else\ifnum#1=6\else
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
14 \def\pgfmathresult{}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
15 \fi\fi\fi}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
16
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
17 \def\onlyback#1{
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
18 \ifnum#1=1\else\ifnum#1=3\else\ifnum#1=5\else
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
19 \def\pgfmathresult{}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
20 \fi\fi\fi}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
22 \pgfplotsset{
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
23 % forget plot = no legend
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
24 cube/.style = {thick, gray!50!black,forget plot},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
25 iter/.style = {mark=x, red},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
26 data/.style = {mark=*, blue, only marks},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
27 backdata/.style = {mark=*, blue!30!white, only marks, onlyback, forget plot},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
28 backiter/.style = {mark=x, red!30!white, onlyback, forget plot},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
29 origin/.style = {mark=o, green, only marks, thick},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
30 surfstyle/.style = {very nearly opaque, forget plot},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
31 onlyfront/.code = \pgfplotsset{x filter/.code={\onlyfront{\thisrow{face}}}},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
32 onlyback/.code = \pgfplotsset{x filter/.code={\onlyback{\thisrow{face}}}},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
33 legend style = {
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
34 inner sep = 0pt,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
35 outer xsep = 5pt,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
36 outer ysep = 0pt,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
37 legend cell align = left,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
38 align = left,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
39 draw = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
40 fill = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
41 font = \small
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
42 },
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
43 }
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
44
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
45 \begin{tikzpicture}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
46 \begin{axis}[
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
47 colormap access=map,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
48 colormap/Blues,%RdPu-6,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
49 colorbar,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
50 point meta rel=axis wide,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
51 shader = interp,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
52 xlabel = {$x$},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
53 ylabel = {$y$},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
54 zlabel = {$z$},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
55 ticks = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
56 axis line style = {draw=none},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
57 %axis x line = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
58 %axis y line = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
59 %axis z line = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
60 legend columns = 3,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
61 legend style = {
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
62 at = {(0.5, 1.05)},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
63 anchor = north,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
64 column sep = 1ex,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
65 },
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
66 ]
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
67
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
68 \addplot3[cube] coordinates {(0, 0, 0) (0, 1, 0) (0, 1, 1) };
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
69 \addplot3[cube] coordinates {(0, 1, 0) (1, 1, 0) };
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
70 \addplot3[backdata] table[x=x,y=y,z=z] {\datapath/data.csv};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
71 \addplot3[backiter] table[x=x,y=y,z=z] {\datapath/log.txt};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
72
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
73 \addplot3[
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
74 surf,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
75 mesh/ordering=x varies,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
76 mesh/cols=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
77 mesh/rows=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
78 surfstyle,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
79 ] table [
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
80 x = u,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
81 z = v,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
82 y expr = 0.0,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
83 point meta = \thisrow{value},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
84 ] {\datapath/F4.csv};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
85 \addplot3[
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
86 surf,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
87 mesh/ordering=y varies,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
88 mesh/cols=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
89 mesh/rows=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
90 surfstyle,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
91 ] table [
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
92 x expr = 1.0,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
93 y = u,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
94 z = v,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
95 point meta = \thisrow{value},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
96 ] {\datapath/F2.csv};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
97 \addplot3[
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
98 surf,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
99 mesh/ordering=x varies,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
100 mesh/cols=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
101 mesh/rows=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
102 surfstyle,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
103 ] table [
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
104 x = u,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
105 y = v,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
106 z expr = 1.0,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
107 point meta = \thisrow{value},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
108 ] {\datapath/F6.csv};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
109
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
110 % Edges
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
111 \addplot3[cube] coordinates {(0, 0, 0) (1, 0, 0) (1, 0, 1) (0, 0, 1) (0, 0, 0)};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
112 \addplot3[cube] coordinates {(0, 0, 1) (0, 1, 1) (1, 1, 1) (1, 0, 1)};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
113 \addplot3[cube] coordinates {(1, 0, 0) (1, 1, 0) (1, 1, 1)};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
114
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
115 \addplot3[data,onlyfront] table[x=x,y=y,z=z] {\datapath/data.csv};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
116 \addlegendentry{Data}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
117
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
118 \addplot3[origin,onlyfront] table[x=x,y=y,z=z] {\datapath/origin.csv};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
119 \addlegendentry{Origin}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
120
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
121 \addplot3[iter,onlyfront] table[x=x,y=y,z=z] {\datapath/log.txt};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
122 \addlegendentry{Iterates}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
123 \end{axis}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
124 \end{tikzpicture}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
125
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
126 \end{document}

mercurial