13

I am running Python 2.7.2 on Mac 10.8 with matplotlib 1.1.1. The backend I am using is MacOSX. If I run any plotting code e.g.

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

the plot window always appears on a different desktop from the one I am working on. This behaviour is the same if I use ipython or if I run a script. Is there a way around this? It's annoying to have to go and hunt for the plot each time!

1
  • This does not fix the different-desktop issue, but I use ipython, and specifically ipython-notebook at least partially for the inline graphics. So no floating windows. Commented May 29, 2013 at 0:45

3 Answers 3

1

If you previously moved it with OSX's desktop management commands you can fix it like this:

Right click (Command click) on the Python Icon of the Matplotlib Icon in the Dock. Under Options there are options to assign the "application" to Desktops. Set to none. If it still opens in another desktop, move it to desktop you want it on (one way is to click and hold the header of the window... press Ctrl-#, where # is the desktop you want it on)

Sign up to request clarification or add additional context in comments.

Comments

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()

For TkAgg, just change it to:

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

3 Comments

Thanks for your comment, but this does not work for me. I used the TkAgg version but the plot still appears on a different desktop.
Did you try changing the coordinates?
Yes. I have run this line by line in ipython. After the figure(1) command, the computer switches to the desktop where the plot is going to appear. I then go back to where I started, finish typing the rest and then the plot appears on the desktop it switched to previously.
0

I found this to be pretty helpful actually: matplotlib window layout questions

Although, it seems that Brian has beat me to it. Have you checked out WXAgg?

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.