Spyderの他のすべてのウィンドウの上にMATPLOTLIBフィギュアウィンドウを表示する方法
-
21-12-2019 - |
質問
私はSpyder IDEを使用しています、そして私はMatpLotLib Figure Windowsが常に他のウィンドウの後ろに表示されることを見つけました。たとえば、Spyderを起動した直後に、コンソールにplt.plot([0,1],[0,1])
を入力した場合、メインスパイダーウィンドウの後ろにプロットが表示されます。新しい図のWindowsが他のすべてのWindowsの上に表示されるようにする方法は?
私はこの解決策を見つけました(メイクMatplotLibプロットウィンドウを作るアクティブな1つとしてポップアップしますが、それは私のためにSpyderでは動作しません。fig.canvas.manager.window
で問題が発生します。それはAttributeError: 'FigureManagerMac' object has no attribute 'window'
を紹介します。
解決
ええと、私が他の何かに取り組んでいたときに私は解決策に起こった。
MacOSX
バックエンドを使用すると、fig.canvas.manager.window
はAttributeError: 'FigureManagerMac' object has no attribute 'window'
を与えます。ただし、TkAgg
バックエンドを使用すると、fig.canvas.manager
には属性window
があります。したがって、私はこの提案
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot([0,1],[0,1])
#Put figure window on top of all other windows
fig.canvas.manager.window.attributes('-topmost', 1)
#After placing figure window on top, allow other windows to be on top of it later
fig.canvas.manager.window.attributes('-topmost', 0)
.
所属していません StackOverflow