从 pgfplots 中的表面网格图中删除尖峰

从 pgfplots 中的表面网格图中删除尖峰

我正在尝试使用 pgfplots 绘制一些 3d 对象。这些对象由通过以下方式描述的表面定义(x,y,z)我从 MATLAB 导入的坐标:

\addplot3[surf, faceted color=black, fill=white, thick, z buffer=sort, mesh/rows=8]
table[row sep=crcr, point meta=\thisrow{c}] {%
x   y   z   c\\
0   0   80  80\\
2.25    0   80  80\\
2.25    0   81.5    81.5\\
0   0   81.5    81.5\\
% [...] %
0   0   81.5    81.5\\
};

效果不错,但结果很糟糕,因为网格中出现了尖峰,我正试图将其移除。我尝试使用smoothrounded corners键,但不知何故,第一个键移除了白色填充(我想要的),而第二个键没有任何作用。

Spikes_pgfplots_surf

有人能建议一种方法来解决这个问题吗?提前谢谢了。

编辑:已解决miter limits=1

答案1

这种效果是由结合相邻行的起点和终点的 pdf 功能引起的:“过冲”是由于小规模的变化和行尾的默认配置而出现的。

使用miter limit=1以便配置较少限制的设置就应该没问题。

有关此参数(及其相关参数)的详细信息可以在 pgfmanual.pdf 中找到

相关内容