【问题标题】:Set zlim in matplotlib scatter3d在 matplotlib scatter3d 中设置 zlim
【发布时间】:2016-09-28 01:29:09
【问题描述】:

我在 Python 中有三个数据点 xs、ys、zs 列表,我正在尝试使用 scatter3d 方法创建一个带有 matplotlib 的 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 方向设置边框的函数。我该怎么做?

【问题讨论】:

    标签: matplotlib scatter3d


    【解决方案1】:

    只需使用axes 对象的set_zlim 函数(就像您已经对set_zlabel 所做的那样,它也不能用作plt.zlabel):

    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)
    

    【讨论】:

    • 为什么plt.zlim没有实现?这将使 mpl 更加一致,人们不必在这里问这个问题。
    • @Sören。 3D 绘图是一种扩展。话虽如此,我看不出有什么理由不能让相关导入在 plt 命名空间中设置附加功能
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 2017-01-02
    • 1970-01-01
    • 2021-01-14
    • 2011-04-16
    • 2013-07-21
    相关资源
    最近更新 更多