我需要类似的东西:在两边画日晷。感谢@crayzeewou的回答,如果我找到以下解决方法(左、右或两边):
首先根据需要绘制3d图,然后在调用show()之前,用一个简单地重写draw()方法的包装类包装Axes3D。
Wrapper类调用只是将某些特性的可见性设置为False,然后绘制自己,最后使用修改过的平面绘制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():