我很想知道seaborn是如何通过import seaborn as sns
来改变matplotlib函数的行为的。
我想实现相同的函数来改变pyplot中imshow()函数的行为,例如,我想在图的左下角显示像素值。
当然可以重新定义imshow()函数,并导入重新定义的函数,但问题是我有多个脚本以多种不同的方式调用imshow(),例如,plt.imshow()
,imshow()
,以及OOP样式axes.imshow()
。有没有像seaborn那样的简单方法?
阅读seaborn的源代码当然会给我一些线索,如果我有时间奢侈。。。在
您可以在python中重写您想要的任何内容
我的_pyplot.py
主.py
^{pr2}$请注意,在导入修改过的内容之前,您需要导入您的内容
Seaborn不会按照您描述的方式更改matplotlib函数的行为。Matplotlibexposes许多自定义选项通过更改各种绘图参数的默认值而生效。当导入seaborn时,它运行一些代码,这些代码使用此功能来更改全局默认值。在
更改默认参数值和更改函数行为之间有一个重要区别。你提出的是后者,有时称为monkey patching。这是可能的,但这将不同于seaborn正在做的,而且我不会在任何类型的生产环境中推荐它。在
相关问题 更多 >
编程相关推荐