如何在 plt.show() 中设置关键字 "block" 默认情况下等于 True?



由于某些原因,我需要显式地将关键字"block"设置为True,以便在从bash shell运行脚本时显示绘图。(当我从ipython shell运行它时,我不需要它)。我怎么能默认将该参数设置为True,因为几乎每个人都有它?

样品:

import matplotlib.pyplot as plt
plt.plot([1,2,3], [1,2,3])
plt.show(block=True) 

我希望情节显示出来,即使这个论点没有明确设置为True,也就是说:

import matplotlib.pyplot as plt
plt.plot([1,2,3], [1,2,3])
plt.show() 

我的matplotlibc包含:

后端:MacOSX

交互式:真正的

工具栏:工具栏2
时区:UTC

mpl的"交互式"模式决定了plt.show的行为。如果处于"交互式"模式,则假定有其他东西在管理GUI事件循环。使用运行脚本时

python -i script.py

将把您放入一个交互式shell中。当位于REPL中时,python REPL循环和GUI事件循环之间存在集成,这允许GUI循环在后台运行,这使得图形具有"交互式"。在这种情况下,如果"交互式"模式是而不是,则在关闭图形之前不会收到提示。

"交互式"模式可以通过调用plt.ion()或在matplotlibrc中设置'interactive'键来启用。

我强烈建议您将rcparam值保留为False

kwargs = dict(type='candle',mav=(10),volume=True,figratio=(11,8),figscale=0.85, block=True)
mpf.plot(dfless, **kwargs, style='classic')

把它放在kwargs里对我来说效果很好

最新更新