2012-11-01 38 views
11

我正在使用matplotlib 1.1.1在Mac 10.8上運行Python 2.7.2。我使用的後端是MacOSX。如果我運行任何繪圖代碼Matplotlib繪圖窗口出現在不同的桌面上

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

繪圖窗口總是出現在與我工作的桌面不同的桌面上。如果我使用ipython或者如果我運行腳本,這種行爲是相同的。有沒有解決的辦法?每次都必須去尋找情節,這很煩人!

+0

這不能解決不同的桌面問題,但我使用ipython,特別是ipython-notebook至少部分用於內聯圖形。所以沒有浮動的窗戶。 –

回答

1

如果以前OSX的桌面管理移動它的命令就可以解決這個問題是這樣的:

在Matplotlib圖標在Dock中的圖標的Python右擊(命令點擊)。在選項下,可以選擇將「應用程序」分配給桌面。設置爲無。如果它仍然在另一個桌面上打開,請將其移動到您想要的桌面上(一種方法是單擊並按住窗口的標題...按Ctrl-#,其中#是您想要的桌面)

0

Source

import matplotlib 
matplotlib.use("wx") 
from pylab import * 
figure(1) 
plot([1,2,3,4,5]) 
thismanager = get_current_fig_manager() 
thismanager.window.SetPosition((500, 0)) 
show() 

對於TkAgg,只是將其更改爲:

thismanager.window.wm_geometry("+500+0") 
+1

感謝您的評論,但這不適合我。我使用了TkAgg版本,但情節仍然出現在不同的桌面上。 – emma

+1

你嘗試改變座標嗎? –

+1

是的。我已經在ipython中逐行運行這一行。在圖(1)命令之後,計算機切換到將出現劇情的桌面。然後我回到我開始的位置,完成剩下的輸入,然後劇情出現在之前切換到的桌面上。 – emma

0

我發現這是非常有益的實際上是: matplotlib window layout questions

雖然,似乎布賴恩先後擊敗我來吧。你有沒有簽出WXAgg?

>>> import matplotlib 
>>> matplotlib.get_backend() 
'WXAgg'