我刚刚开始学习python,并且最近尝试使用matplotlib使用我的数据集制作3D散点图。因为我的数据是如此分散(x范围=(1到20000)),我试图强制X轴限制只显示x< 1000.但是,当我尝试设置轴限制时,我仍然会在图上看到大于x = 1000的点。我无法弄清楚为什么会这样做,而且无法通过我在互联网上的搜索找到答案:(
这是我所做的一个简化示例......当我将x轴限制强制为2时,我仍然看到绘制了点(3,3,3)。为什么这样做以及我做错了什么?
非常感谢你!
from matplotlib.figure import Figure
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.gca(projection='3d')
xs = [1,2,3,5,11]
ys = [1,2,3,4,5]
zs = [1,2,3,4,5]
ax.scatter3D(xs, ys, zs, c="blue")
ax.set_xlim3d([0,2])
ax.set_ylim3d([0,5])
ax.set_zlim3d([0,5])
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()
答案 0 :(得分:1)
以下适用于我。您刚刚在set_xlim3d调用中遇到了一个小错误。请查看here以获取更多文档。
from matplotlib.figure import Figure
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig = plt.figure()
ax = Axes3D(fig)
xs = [1,2,3,5,11]
ys = [1,2,3,4,5]
zs = [1,2,3,4,5]
ax.scatter(xs, ys, zs, c="blue")
ax.set_xlim3d(0,2)
ax.set_ylim3d(0,5)
ax.set_zlim3d(0,5)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()