我一直在尝试绘制我生成的特定数据系列的图表。下面的代码绘制了围绕极轴的表面,并从文件中读取数据。该文件可以在此处下载(test.dat):
http://expirebox.com/download/bfeeb6e62597b92808a625fd03f80974.html
它看起来“还行”,但我觉得可以做得更好。我知道 TikZ 不是 3D 绘图的最佳选择,但我想测试它的功能,我觉得在 TikZ/pgfplots 中执行此操作会比在 Asymptote 中更快。
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\usepgfplotslibrary{polar}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
view={180}{10},
%axis equal,
axis x line=middle,
axis y line=middle,
axis z line=middle,
%hide y axis,
hide x axis,
ytick=\empty,
zticklabel style = {font=\tiny},
data cs=polar,
]
\foreach \r in {0,1,...,4} {
\addplot+[domain=0:180,mark=none,black,samples=200, smooth, solid] (\x, \r);
}
%% Dummy white circle to stop the angle labels being cut off by the 3-D environment.
\addplot+[domain=0:180,mark=none,white,samples=200, smooth, solid] (\x, 6);
\foreach \thetta in {0,30,...,180} {
\edef\doplot{\noexpand\addplot+[domain=0:4,mark=none,black, solid] (\thetta, \noexpand\x) node[pos=1.25] {\thetta};}
\doplot
}
\addplot3[surf, z buffer=sort,mesh/ordering=y varies,opacity=0.8,colormap/blackwhite] table[x index={1},y index={0},z index={2},
opacity=0.]{test.dat};
\end{axis}
\end{tikzpicture}
\end{document}
输出:
问题是,某些视角(极轴和 z 轴)看起来不垂直,或者缺少“深度”方面。如果无法在 TikZ 中修改它,那么使用 Asymptote 等的最佳方法是什么?
先感谢您
编辑:
应用 Zoxume 的建议会产生以下结果。这确实以更合乎逻辑的格式显示信息。最好同时拥有 3D 表面镜头和上面的镜头。