如何解决在 matplotlib 3d 绘图中,plot_wireframe 中参数 rcount、ccount、rstride 和 cstride 的意义是什么?
在 matplotlib 3d 绘图中,函数 plot_wireframe
分别采用参数 - rcount
、ccount
、rstride
和 cstride
。我在 matplotlib documentation 中查看了他们的文档,但不太清楚他们做了什么。我稍微改变了 rcount
和 ccount
的参数值,并感觉到它与网格 X 和 Y 中的多少行和列用于放置线(X和 Y 是网格输入到 plot_wireframe
)。我想在理解了 rcount 和 ccount 之后,就会对 rstride 和 cstride 有一个清晰的了解。因此,我要求用一个例子来更好地解释这一点。
这是我的参考代码(在 Jupyter notebook 中运行)-
import numpy as np
import matplotlib.pyplot as plt
# Because I would want to rotate the plots manually
%matplotlib notebook
x = np.linspace(-3,3,7)
y = np.linspace(-3,7)
X,Y = np.meshgrid(x,y)
Z = X**2 + Y**2
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.plot_wireframe(X,Y,Z,rcount=3,ccount=5)
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
解决方法
说同一件事的两种方式。假设您有 1000x1000 点。如果您指定 rcount=10
和 ccount=50
,它将对数据进行下采样,以便绘制 10 行和 50 列。如果您改为使用 rstride=10
和 cstride=50
,则行中每 10 个点取一次,列中每 50 个点取一次。
因此,对于 1000x1000,rcount=10
与 rstride=100
相同。它们是相互排斥的,很明显,您并不需要两者兼而有之。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。