我有一个在Matplotlib中常见的实际问题,我将不得不多次编写
ax.set_xlim([-5, 5])
ax.set_ylim([-5, 5])
ax.set_zlim([0, 5])我想知道有没有一种方法可以遍历它们?
我发现有一种可能的循环它们的方法是使用eval()。但我还没有想出它到底能不能做到。
有没有一种聪明的方法来循环这段代码?谢谢!
发布于 2020-06-07 18:26:39
如果这就是您要做的全部工作,那么每次输入它可能是最简单的。您可以通过一次调用设置x和y限制,从而节省少量的输入,但z限制仍然是分开的:
ax.axis([xmin, xmax, ymin, ymax])
ax.set_zlim([zmin, zmax])如果您经常这样做,您可以创建一个实用程序模块,并开始为您经常使用的代码片段收集函数。
例如,您可能会发现使用单个函数来创建3D投影并设置限制和标签会很有用:
def setup3d(fig, lims=None, labels=None):
ax = fig.gca(projection='3d')
if lims:
ax.set_xlim(*lims[0:2])
ax.set_ylim(*lims[2:6])
ax.set_zlim(*lims[4:6])
if labels:
ax.set_xlabel(labels[0])
ax.set_ylabel(labels[1])
ax.set_zlabel(labels[2])
return ax
fig = plt.figure()
ax = setup3d(fig, [-2, 2, 1, 5, -5, 5], ['my X', 'YYY' ,'Z'])https://stackoverflow.com/questions/62241605
复制相似问题