visualisation/cube.tex

Wed, 06 Nov 2024 21:12:14 -0500

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

Improve 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 },
23
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
43 illustr3d/.style = {
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
44 axis equal,
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
45 width=5cm,
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
46 height=5cm,
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
47 scale only axis,
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
48 enlargelimits=false,
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
49 colormap access=map,
23
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
50 colormap/Blues,
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
51 colorbar,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
52 point meta rel=axis wide,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
53 shader = interp,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
54 xlabel = {$x$},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
55 ylabel = {$y$},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
56 zlabel = {$z$},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
57 ticks = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
58 axis line style = {draw=none},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
59 %axis x line = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
60 %axis y line = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
61 %axis z line = none,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
62 legend columns = 3,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
63 legend style = {
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
64 at = {(0.5, 1.05)},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
65 anchor = north,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
66 column sep = 1ex,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
67 },
23
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
68 }
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
69 }
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
70
23
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
71 \begin{tikzpicture}
b719a44b0b26 Improve TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents: 21
diff changeset
72 \begin{axis}[illustr3d]
21
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
73 \addplot3[cube] coordinates {(0, 0, 0) (0, 1, 0) (0, 1, 1) };
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
74 \addplot3[cube] coordinates {(0, 1, 0) (1, 1, 0) };
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
75 \addplot3[backdata] table[x=x,y=y,z=z] {\datapath/data.csv};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
76 \addplot3[backiter] table[x=x,y=y,z=z] {\datapath/log.txt};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
77
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
78 \addplot3[
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
79 surf,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
80 mesh/ordering=x varies,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
81 mesh/cols=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
82 mesh/rows=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
83 surfstyle,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
84 ] table [
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
85 x = u,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
86 z = v,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
87 y expr = 0.0,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
88 point meta = \thisrow{value},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
89 ] {\datapath/F4.csv};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
90 \addplot3[
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
91 surf,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
92 mesh/ordering=y varies,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
93 mesh/cols=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
94 mesh/rows=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
95 surfstyle,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
96 ] table [
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
97 x expr = 1.0,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
98 y = u,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
99 z = v,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
100 point meta = \thisrow{value},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
101 ] {\datapath/F2.csv};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
102 \addplot3[
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
103 surf,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
104 mesh/ordering=x varies,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
105 mesh/cols=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
106 mesh/rows=32,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
107 surfstyle,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
108 ] table [
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
109 x = u,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
110 y = v,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
111 z expr = 1.0,
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
112 point meta = \thisrow{value},
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
113 ] {\datapath/F6.csv};
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 % Edges
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
116 \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
117 \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
118 \addplot3[cube] coordinates {(1, 0, 0) (1, 1, 0) (1, 1, 1)};
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
119
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
120 \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
121 \addlegendentry{Data}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
122
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
123 \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
124 \addlegendentry{Origin}
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 \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
127 \addlegendentry{Iterates}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
128 \end{axis}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
129 \end{tikzpicture}
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
130
5f2b65738e66 Add visualisation TikZ
Tuomo Valkonen <tuomov@iki.fi>
parents:
diff changeset
131 \end{document}

mercurial