forked from matplotlib/matplotlib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
INTERACTIVE
74 lines (48 loc) · 1.8 KB
/
INTERACTIVE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
To use matplotlib interactively from the prompt, you need a special
interpreter that doesn't enter the gtk mainloop. One is provided in
examples/interactive.py. The coew functionality of this interpreter
was provided by Brian McErlean and John Finlay. See the header for
more info.
This will only work if you have pygtk compiled with threading. See
instrubtions below.
WIN32 Users
I haven't tested the interactive shell on win32. It is apparently
possible, but not easy, to get threading to work on win32. See
http://www.async.com.br/faq/pygtk/index.py?req=show&file=faq21.003.htp
LINUX/UNIX Users:
To compile pygtk with threading, I recommend you make a backup of your
existing pygtk install tree and completely remove it
eg
> cd /your/path/to/python/site-packages
> cp -a gtk-2.0 /some/backup/dir
> rm -rf gtk-2.0
This is because I have found that recompiling pygtk with threads on top
of an existing installation w/o threads does not enable threads. Your
milage may vary.
Then from a clean pygtk src tree
> ./configure --enable-thread # and any other flags
> make install
TESTING threading
To test whether this install worked, try running this script
import pygtk
pygtk.require('2.0')
import gtk
import threading, time
def func():
n = 0
while 1:
print n
n += 1
time.sleep(0.1)
gtk.threads_init()
threading.Thread(target=func).start()
gtk.mainloop()
If it spits numbers back at you, you're golden.
TESTING with matplotlib
You should be able to make a simple plot with
> cd examples
> ./interactive.py
Welcome to matplotlib.
help(matlab) -- shows a list of all matlab compatible commands provided
help(plotting) -- shows a list of plot specific commands
>> plot([1,2,3])