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