我需要类似的东西:在两边画Zaxis.感谢@crayzeewulf的答案我来到了解决方法(左,右或双方):
首先根据需要绘制您的3d,然后在调用show()之前,使用简单地覆盖draw()方法的Wrapper类来包装Axes3D.
Wrapper类调用简单地将某些功能的可见性设置为False,它绘制自身,最后用修改的PLANES绘制zaxis.这个包装类允许你在左边,在右边或者两边画Zaxis.
import matplotlib
matplotlib.use('QT4Agg')
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
class MyAxes3D(axes3d.Axes3D):
def __init__(self, baseObject, sides_to_draw):
self.__class__ = type(baseObject.__class__.__name__,
(self.__class__, baseObject.__class__),
{})
self.__dict__ = baseObject.__dict__
self.sides_to_draw = list(sides_to_draw)
self.mouse_init()
def set_some_features_visibility(self, visible):
for t in self.w_zaxis.get_ticklines() + self.w_zaxis.get_ticklabels():
t.set_visible(visible)
self.w_zaxis.line.set_visible(visible)
self.w_zaxis.pane.set_visible(visibl