如何改善此图的 3D 效果?(TikZ 和 pgfplots)

如何改善此图的 3D 效果?(TikZ 和 pgfplots)

我一直在尝试绘制我生成的特定数据系列的图表。下面的代码绘制了围绕极轴的表面,并从文件中读取数据。该文件可以在此处下载(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 表面镜头和上面的镜头。

在此处输入图片描述

相关内容