在matplotlib scatter3d中设置zlim

在matplotlib scatter3d中设置zlim,matplotlib,scatter3d,Matplotlib,Scatter3d,我在Python中有三个数据点列表xs、ys、zs,我正在尝试使用matplotlib方法scatter3d创建一个3d绘图 import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(111, projection='3d') plt.xlim(290) plt.ylim(301) ax.set_xlabel('X') ax.set_ylabel('Y') ax.set_zlabel('Z')

我在Python中有三个数据点列表xs、ys、zs,我正在尝试使用
matplotlib
方法
scatter3d
创建一个3d绘图

import matplotlib.pyplot as plt

fig = plt.figure()  
ax = fig.add_subplot(111, projection='3d')  
plt.xlim(290)  
plt.ylim(301)  
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.scatter(xs, ys, zs)  
plt.savefig('dateiname.png')
plt.close()

plt.xlim()
plt.ylim()
工作正常,但我没有找到一个函数来设置z方向的边界。如何操作?

只需使用
对象的
set\u zlim
功能(就像您已经使用
set\u zlabel
一样,它也不可用作
plt.zlabel
):


为什么没有实现
plt.zlim
?这将使mpl更加一致,人们不必在这里问这个问题。@Sören。三维打印是一种扩展。也就是说,我不认为有任何理由不能让相关导入在plt名称空间中设置一个加法函数
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

xs = np.random.random(10)
ys = np.random.random(10)
zs = np.random.random(10)

fig = plt.figure()  
ax = fig.add_subplot(111, projection='3d')  
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.scatter(xs, ys, zs)  
ax.set_zlim(-10,10)