擅长:python、mysql、java
<p>在回答这个问题之后:</p>
<blockquote>
<p><a href="https://stackoverflow.com/questions/44090563/in-python-how-can-i-inherit-and-override-a-method-on-a-class-instance-assignin">In python, how can I inherit and override a method on a class instance, assigning this new version to the same name as the old one?</a></p>
</blockquote>
<p>我找到了一种方法,在创建斧头后更改它的投影,至少在下面的简单示例中是可行的,但是我不知道这个解决方案是否是最好的方法</p>
<pre><code>from matplotlib.axes import Axes
from matplotlib.projections import register_projection
class CustomAxe(Axes):
name = 'customaxe'
def plotko(self, x):
self.plot(x, 'ko')
self.set_title('CustomAxe')
register_projection(CustomAxe)
if __name__ == '__main__':
import matplotlib.pyplot as plt
fig = plt.figure()
## use this syntax to create a customaxe directly
# ax = fig.add_subplot(111, projection="customaxe")
## change the projection after creation
ax = plt.gca()
ax.__class__ = CustomAxe
ax.plotko(range(10))
plt.show()
</code></pre>