mplot3d轴限制与墙壁不对应

时间:2016-04-28 09:59:04

标签: python matplotlib mplot3d

我试图在mplot3d图中创建一个接触所有轴墙的平面。轴限制使用ax.set_xlim(-6.0,6.0)ax,set_xlim3d(-6.0,6.0)设置。在这两种情况下,墙壁都略微超出规定的限制。使用Poly3DCollection绘制我的平面会导致平面绘制正确,但是,它不会触碰轴墙。

我正在使用(网格和墙壁的颜色设置作为我屏幕上的默认颜色,至少看起来很轻,因此模糊了“功能”)

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
from mpl_toolkits.mplot3d.art3d import Poly3DCollection

fig = plt.figure()
ax = fig.add_subplot(111,projection='3d')

ax.set_xlim(-6.0, 6.0)
ax.set_ylim(-6.0, 6.0)
ax.set_zlim(-1.0, 1.0)

ax.w_xaxis.set_pane_color((.85, .85, .85, 1.0))
ax.w_yaxis.set_pane_color((.85, .85, .85, 1.0))
ax.w_zaxis.set_pane_color((.85, .85, .85, 1.0))

ax.w_xaxis._axinfo.update({"grid": {"color": (.7, .7, .7, 1)}})
ax.w_yaxis._axinfo.update({"grid": {"color": (.7, .7, .7, 1)}})
ax.w_zaxis._axinfo.update({"grid": {"color": (.7, .7, .7, 1)}})

x = [-6,6,6,-6]
y = [-6,-6,6,6]
z = [0,0,0,0]

verts = [zip(x,y,z)]
collection = Poly3DCollection(verts)
collection.set_color("green")
ax.add_collection3d(collection)

plt.tight_layout()

plt.show()

情节看起来像example

我已经在这里搜索了一个解决方案,发现有两个帖子有相同的“问题”(question 1question 2),遗憾的是这两个帖子目前尚未解决。

我怎样才能实现飞机接触外墙 a)通过将壁限制在轴的设定极限或 b)通过扩大我的飞机确实包括那个额外的小空间?

0 个答案:

没有答案