SourceForge logo
SourceForge logo
Menu

matplotlib-users — Discussion related to using matplotlib

You can subscribe to this list here.

2003 Jan
Feb
Mar
Apr
May
(3)
Jun
Jul
Aug
(12)
Sep
(12)
Oct
(56)
Nov
(65)
Dec
(37)
2004 Jan
(59)
Feb
(78)
Mar
(153)
Apr
(205)
May
(184)
Jun
(123)
Jul
(171)
Aug
(156)
Sep
(190)
Oct
(120)
Nov
(154)
Dec
(223)
2005 Jan
(184)
Feb
(267)
Mar
(214)
Apr
(286)
May
(320)
Jun
(299)
Jul
(348)
Aug
(283)
Sep
(355)
Oct
(293)
Nov
(232)
Dec
(203)
2006 Jan
(352)
Feb
(358)
Mar
(403)
Apr
(313)
May
(165)
Jun
(281)
Jul
(316)
Aug
(228)
Sep
(279)
Oct
(243)
Nov
(315)
Dec
(345)
2007 Jan
(260)
Feb
(323)
Mar
(340)
Apr
(319)
May
(290)
Jun
(296)
Jul
(221)
Aug
(292)
Sep
(242)
Oct
(248)
Nov
(242)
Dec
(332)
2008 Jan
(312)
Feb
(359)
Mar
(454)
Apr
(287)
May
(340)
Jun
(450)
Jul
(403)
Aug
(324)
Sep
(349)
Oct
(385)
Nov
(363)
Dec
(437)
2009 Jan
(500)
Feb
(301)
Mar
(409)
Apr
(486)
May
(545)
Jun
(391)
Jul
(518)
Aug
(497)
Sep
(492)
Oct
(429)
Nov
(357)
Dec
(310)
2010 Jan
(371)
Feb
(657)
Mar
(519)
Apr
(432)
May
(312)
Jun
(416)
Jul
(477)
Aug
(386)
Sep
(419)
Oct
(435)
Nov
(320)
Dec
(202)
2011 Jan
(321)
Feb
(413)
Mar
(299)
Apr
(215)
May
(284)
Jun
(203)
Jul
(207)
Aug
(314)
Sep
(321)
Oct
(259)
Nov
(347)
Dec
(209)
2012 Jan
(322)
Feb
(414)
Mar
(377)
Apr
(179)
May
(173)
Jun
(234)
Jul
(295)
Aug
(239)
Sep
(276)
Oct
(355)
Nov
(144)
Dec
(108)
2013 Jan
(170)
Feb
(89)
Mar
(204)
Apr
(133)
May
(142)
Jun
(89)
Jul
(160)
Aug
(180)
Sep
(69)
Oct
(136)
Nov
(83)
Dec
(32)
2014 Jan
(71)
Feb
(90)
Mar
(161)
Apr
(117)
May
(78)
Jun
(94)
Jul
(60)
Aug
(83)
Sep
(102)
Oct
(132)
Nov
(154)
Dec
(96)
2015 Jan
(45)
Feb
(138)
Mar
(176)
Apr
(132)
May
(119)
Jun
(124)
Jul
(77)
Aug
(31)
Sep
(34)
Oct
(22)
Nov
(23)
Dec
(9)
2016 Jan
(26)
Feb
(17)
Mar
(10)
Apr
(8)
May
(4)
Jun
(8)
Jul
(6)
Aug
(5)
Sep
(9)
Oct
(4)
Nov
Dec
2017 Jan
(5)
Feb
(7)
Mar
(1)
Apr
(5)
May
Jun
(3)
Jul
(6)
Aug
(1)
Sep
Oct
(2)
Nov
(1)
Dec
2018 Jan
Feb
Mar
Apr
(1)
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2020 Jan
Feb
Mar
Apr
May
(1)
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2025 Jan
(1)
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
S M T W T F S






1
2
(1)
3
(2)
4
5
(4)
6
(9)
7
(5)
8
(3)
9
(3)
10
(4)
11
(1)
12
(5)
13
14
(2)
15
16
(5)
17
(2)
18
19
(4)
20
(1)
21
(8)
22
23
24
(1)
25
(2)
26
27
(3)
28
29
30






Showing results of 62

<< < 1 2 3 (Page 3 of 3)
From: LUK S. <shu...@po...> - 2003年11月06日 16:29:10
John Hunter wrote:
> > I can confirm that if the font files are installed in the default
> > location under the system python tree, it works. Setting AFMPATH also
> > works in linux.
> 
> OK, so the font files exist and are readable. In order to figure out
> where the problem is, I'll need you to add a couple of lines to
> matplotlib/backends/backend_ps.py and tell me what the output is. In
> the function _get_afm_filenames on line 413, add these print lines
> before the return statement and let me know what they report
> 
> print paths
> print fnames
> return fnames
> 
> John Hunter
H:00円work00円cvs\matplotlib\matplotlib\examples>python subplot_demo.py -dPS
['E:\\Py23\\share\\matplotlib', 'E', '\\Py23e\\share\\matplotlib']
[]
Error: Could not find any AFM files; please set AFMPATH to point to some 
readable adobe font metric files
Regards,
ST
--
From: John H. <jdh...@ac...> - 2003年11月06日 15:12:33
 > I can confirm that if the font files are installed in the default
 > location under the system python tree, it works. Setting AFMPATH also
 > works in linux.
OK, so the font files exist and are readable. In order to figure out
where the problem is, I'll need you to add a couple of lines to
matplotlib/backends/backend_ps.py and tell me what the output is. In
the function _get_afm_filenames on line 413, add these print lines
before the return statement and let me know what they report
 print paths
 print fnames
 return fnames
John Hunter
John Hunter wrote:
 >
> LUK> Another question: I've set the environmental variable AFMPATH
> LUK> in the registry via the control panel but matplotlib
> LUK> complains that the .afm files are not there.
> 
> I cannot replicate this problem on my system. Are the *.afm files in
> E:\Py23e\share\matplotlib? Are you sure you are running the right
> version of python, ie, do you still get the error with
> 
> > E:\Py23e\python simple_plot.ps -dPS
> 
[snipped]
> 
> And let me know what it reports. If you are using the fonts that ship
> with matplotlib, you shouldn't even need to set the AFMPATH because it
> automatically looks in the share/matplotlib subdir of your python
> install dir. 
I can confirm that if the font files are installed in the default 
location under the system python tree, it works. Setting AFMPATH also 
works in linux.
> 
> You may also want to verify that matplotlib is finding your
> environment variable by doing
> 
> 
>>python
>>
>>>>import os
>>>>print os.environ.has_key('AFMPATH')
> 
 >>> import os
 >>> os.environ["AFMPATH"]
'E:\\Py23e\\share\\matplotlib'
> 
> If the *.afm fonts are in the share/matplotlib dir, and you are using
> the right python, and the paths look correct from the diagnostic
> information above, the only thing I can think of is that these files
> are not readable by you (admin versus user thing?). To test this try
> 
> 
>>python
>>
>>>>fh = file('E:\Py23e\\share\\matplotlib\\phvl8a.afm', 'r')
>>>>s = fh.read()
>>>>len(s)
> 
 >>> fh = file('E:\Py23e\\share\\matplotlib\\afm\\phvl8a.afm', 'r')
 >>> len(fh.read())
15627
> 
> Let me know....
> JDH
> 
Regards,
ST
--
From: John H. <jdh...@ac...> - 2003年11月06日 14:56:57
>>>>> "Flavio" == Flavio C Coelho <fcc...@fi...> writes:
 Flavio> Hi John et al., I know that the development of a wx
 Flavio> backend is under way.
Well under way in fact. Jeremy O'Donoghue sent me a version yesterday
which I checked into CVS. It is still under active development, with
several known bugs, but he has tested it across platforms with most of
the example scripts. I'll post in the text of his email below which
has more details.
 Flavio> But meanwhile, can any of the non GTK backends (PS and GD)
 Flavio> be used from within a wx app?
 Flavio> I suspect that the answer to this question is no because
 Flavio> the mere import of matplotlib.matlab from any wxpython
 Flavio> shell (like pycrust) will crash it. But I don't want to
 Flavio> assume that before I am certain of it.
matplotlib should not crash pycrust (it doesn't on my system). This
may be related to an improper GTK install on your system. In any
case, you need to import the backend you plan to use before importing
matplotlib.matlab. I just did the following from pycrust w/o problems
import matplotlib
matplotlib.use('PS')
import os
def psshow():
 savefig('tmp.ps')
 os.system('ggv tmp.ps')
 close()
from matplotlib.matlab import *
plot([1,2,3])
psshow()
t = arange(0.0, 1.0, 0.01)
plot(t, sin(2*pi*t))
psshow()
I also did the the same with GD module. Just replace 'PS' with GD and
execute your favorite image viewer command.
For either of these, though, You'll first need to comment out line 43
in _matlab_helpers.py, which reads 'figwin.window.destroy()'. I only
discovered this bug when trying to answer your question.
Now, on to WX. It is currently only working from pycrust and is under
heavy development, but you are welcome to try it from CVS. Let me
know if you need a win32 installer and I'll email one.
Here is Jeremy's email:
I thought I'd keep you up to date with my progress.
Attached is the set of files for an early version of the wxWindows
back-end. It seems to work with most of the examples on the website, and
has been tested with wxPython 2.3.3 (on wxWindows 2.2.9) on Windows 2000
using Active State Python 2.2, and (less thoroughly) using wxWindows 2.4
under WxGTK with Python 2.3 on Debian GNU/Linux.
The implementation is very similar to your GTK back-end (probably too
similar, but I like re-using code which works :) This at least means that
it should be pretty easy for you to follow what I've done.
The code is probably only ready for very early users - if anyone is
screaming for wxWindows, you may wish to put it into CVS, otherwise it may
be better to wait for a while - say until I have the interactive functions
working. I'll leave it to your judgement.
Best regards
Jeremy
Known bugs:
- Coloured text labels to not work correctly. I do
 not yet understand why not, and will need to look
 carefully at how wxWindows treats text, as I think
 the code I have is OK!
- I currently do not perform any clipping, as this
 clips text labels.
- Under Windows 2000, the Figure window is larger
 than the figure (seems OK on Linux, however)
- Interactive sessions currently only work inside
 a Python console which already has a wxWindows
 event loop (I recommend PyCrust, which is
 distributed with wxPython)
Not implemented:
- Printing
- Interactive operation using the toolbar (probably
 not a large job to do, as I suspect that I can simply
 re-use the functions from backend_gtk).
Ugly hacks:
- Dotted lines - I have a nasty hack to make this work
 sufficiently for demonstration purposes. The problem
 is that you currently implement dotted lines in a rather
 GTK-specific way. I'd prefer, given that there are only
 a few 'dotted' styles, for these to have symbolic names
 (e.g. in a dictionary), and to do all of the decisions
 on how to draw the 'dotted' style in the back-end.
- As wxWindows has no 'stock' icons, I have converted GTK
 icons similar to those used in backend_gtk into XPM
 format and put them into an 'images' directory under
 backends. I'm open to your preference as to whether it
 would be better to put the images into python code or
 leave them as pixmaps.
From: Flavio C. C. <fcc...@fi...> - 2003年11月06日 12:19:18
Hi John et al.,
I know that the development of a wx backend is under way.
But meanwhile, can any of the non GTK backends (PS and GD) be used from
within a wx app?
I suspect that the answer to this question is no because the mere import
of matplotlib.matlab from any wxpython shell (like pycrust) will crash
it. But I don't want to assume that before I am certain of it.
do the PS & GD backend support the show() command? i.e., can they be
easily displayed on the screen or are they geared towards saving and
printing?
thanks
Fl=E1vio Coelho
From: John H. <jdh...@ac...> - 2003年11月05日 14:43:59
>>>>> "LUK" == LUK ShunTim <shu...@po...> writes:
 LUK> I followed the link in the matplotlib site and installed gtk
 LUK> 2.2.4.1 from the sf site and the problem goes away. This
 LUK> version has all the images libraries with them. I must
 LUK> bookmark it!
Good news ...
 LUK> Another question: I've set the environmental variable AFMPATH
 LUK> in the registry via the control panel but matplotlib
 LUK> complains that the .afm files are not there.
I cannot replicate this problem on my system. Are the *.afm files in
E:\Py23e\share\matplotlib? Are you sure you are running the right
version of python, ie, do you still get the error with
 > E:\Py23e\python simple_plot.ps -dPS
You might want to add a diagnostic debug line to
backends/backend_ps.py to print the paths that it is searching. After
line 422 in that file, insert a new line that prints the paths, eg,
 def _get_afm_filenames(self):
 paths = [os.path.join(distutils.sysconfig.PREFIX, 'share', 'matplotlib')]
 if os.environ.has_key('AFMPATH'):
 afmpath = os.environ['AFMPATH']
 if afmpath.find(';')>0: #win32 style
 paths.extend(afmpath.split(';'))
 elif afmpath.find(':')>0: # unix style
 paths.extend(afmpath.split(':'))
 else:
 paths.append(afmpath)
*** print paths
 fnames = []
And let me know what it reports. If you are using the fonts that ship
with matplotlib, you shouldn't even need to set the AFMPATH because it
automatically looks in the share/matplotlib subdir of your python
install dir. 
You may also want to verify that matplotlib is finding your
environment variable by doing
> python
>>> import os
>>> print os.environ.has_key('AFMPATH')
If the *.afm fonts are in the share/matplotlib dir, and you are using
the right python, and the paths look correct from the diagnostic
information above, the only thing I can think of is that these files
are not readable by you (admin versus user thing?). To test this try
> python
>>> fh = file('E:\Py23e\\share\\matplotlib\\phvl8a.afm', 'r')
>>> s = fh.read()
>>> len(s)
Let me know....
JDH
From: LUK S. <shu...@po...> - 2003年11月05日 14:27:22
John Hunter wrote:
>>>>>>"LUK" == LUK ShunTim <shu...@po...> writes:
> 
> 
> LUK> Hello, When I tried out "python simple_plot.py" and tried to
> LUK> save it as a png file, python crashes. No problem with saving
> LUK> it to jpeg, though.
> 
> I haven't seen that before. It works fine on my system (Windows ME)
> and noone else has reported a win32 problem. The fact that it works
> with jpeg and not png suggests a lib PNG problem. What version of
> pygtk and GTK-Runtime are you using. If you are using pygtk-2.0.0 and
> GTK-Runtime-2.2.4.1, then you should be OK. Have you installed an
> earlier version of these libs, possibly creating a library conflict?
> 
> When you search for libpng, what turns up?
>
> JDH
> 
GTK 2.2.4 (Can't remember where I got it. There's been a few of these 
floating around.) Pygtk 2.0.0 from the link in matplotlib site.
Somehow my GTK runtime don't have the png, jpeg etc images libraries and 
I got them from the gnuwin32 sf site.
I followed the link in the matplotlib site and installed gtk 2.2.4.1 
from the sf site and the problem goes away. This version has all the 
images libraries with them. I must bookmark it!
Another question: I've set the environmental variable AFMPATH in the 
registry via the control panel but matplotlib complains that the .afm 
files are not there.
<quote>
H:00円work00円cvs\matplotlib\matplotlib\examples>python simple_plot.py -dPS
Error: Could not find any AFM files; please set AFMPATH to point to some 
readable adobe font metric files
H:00円work00円cvs\matplotlib\matplotlib\examples>echo %AFMPATH%
E:\Py23e\share\matplotlib
</quote>
This is a W2K system.
Thanks very much,
ST
--
From: John H. <jdh...@ac...> - 2003年11月05日 13:32:30
>>>>> "LUK" == LUK ShunTim <shu...@po...> writes:
 LUK> Hello, When I tried out "python simple_plot.py" and tried to
 LUK> save it as a png file, python crashes. No problem with saving
 LUK> it to jpeg, though.
I haven't seen that before. It works fine on my system (Windows ME)
and noone else has reported a win32 problem. The fact that it works
with jpeg and not png suggests a lib PNG problem. What version of
pygtk and GTK-Runtime are you using. If you are using pygtk-2.0.0 and
GTK-Runtime-2.2.4.1, then you should be OK. Have you installed an
earlier version of these libs, possibly creating a library conflict?
When you search for libpng, what turns up?
JDH
From: LUK S. <shu...@po...> - 2003年11月05日 10:23:09
Hello,
When I tried out "python simple_plot.py" and tried to save it as a png 
file, python crashes. No problem with saving it to jpeg, though.
My system: W2K SP4/Python2.3.2/matplotlib-0.31
Here's some traceback:
<quote>
python.exe caused an Access Violation at location 77f92373 in module 
ntdll.dll Writing to location 00000010.
Registers:
eax=00000000 ebx=00000000 ecx=00000000 edx=00000000 esi=7803a710 
edi=00000000
eip=77f92373 esp=0012e83c ebp=0012e89c iopl=0 nv up ei pl nz na 
pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 
efl=00000202
Call stack:
77F92373 ntdll.dll:77F92373 RtlpWaitForCriticalSection
77F922F8 ntdll.dll:77F922F8 RtlImageDirectoryEntryToData
03B5C06C libpng.dll:03B5C06C png_set_read_fn
01F5F480
00FA5192 libgdk_pixbuf-2.0-0.dll:00FA5192 gdk_pixbuf_new_from_xpm_data
00FA53FF libgdk_pixbuf-2.0-0.dll:00FA53FF gdk_pixbuf_savev
00E822DA _gtk.pyd:00E822DA init_gtk
1E0591AA python23.dll:1E0591AA PyCFunction_Call
</quote>
Regards,
ST
--
From: Charles T. <Cha...@in...> - 2003年11月03日 00:28:39
A slightly different approach to live plotting. I have a numerical
program that calls a status function every run through the main loop. It
allows the user to define a status function and pass it that function
(defaulting to just a one-line report on sys.err).
Using GTK idle slowed things down way too much, because GTK was always
idle, even though the number cruncher wasn't. GTK timeout didn't work
either. Using threads was too complicated and error prone, for no gain.
What I wanted was a meter that updated every second or so.
Here is my status function. It shows traces for the best score so far, and
the current score. If enough time has elapsed, it plots (thus scheduling
GTK events), otherwise no. So the gtk.events_pending() call near the end
is usually false.
It rescales the graph too, as required. You can ignore the "interrupted"
stuff -- that allows me to send a "stop" signal to the numerical routine,
saying "Ok, it looks to me like you've converged, stop now."
	-Charles
----------
def my_status_func(*args, **kwargs):
 """ Gather info from a running snob, and plot it.
 It expects the final arg to be a dictionary with
 the following keyword arguments:
 fig -- the matplot figure for drawing to
 ax -- the matplot axes in that figure
 t1 -- a list of length 1, with timestamp of last refresh
 iteratns -- sequence of all iteration #s to date (x axis)
 currlens -- sequence of all current lengths to date
 bestlens -- sequence of all best lenghts to date
 All of these kwargs will be modified, at least sometimes.
 """
 #global currlens, bestlens, iteratns, t
 UPDATE_INTERVAL = 1 # how long in s to wait before updating graph
 itr = args[0] + 1
 max_itr = args[1]
 cl = int (args[2][0] / N.log(2))
 bl = int (args[3][0] / N.log(2))
 #cl = int (curr[0] / N.log(2))
 #bl = int (best[0] / N.log(2))
 # Extract variables from kwargs
 t1 = kwargs['t1']
 iteratns = kwargs['iteratns']
 currlens = kwargs['currlens']
 bestlens = kwargs['bestlens']
 iteratns.append (itr)
 currlens.append (cl)
 bestlens.append (bl)
 if itr == 1:
 print "Original length: ", cl
 delta = time.time() - t1[0]
 if (itr > 1) and ( (delta > UPDATE_INTERVAL) or (itr >= max_itr) ):
 # matplot has trouble if we plot just a single data point
 # so we wait for itr > 1
# if not ShowOn().get():
# ShowOn().set(True)
 fig = kwargs['fig']
 ax = kwargs['ax']
 xlo, xhi = ax.get_xlim()
 xlo = max ( 0, xlo) # Check bc original call is ignored
 xhi = max (50, xhi) # Likewise
 if itr > xhi:
 xhi *= 2
 ax.set_xlim ([xlo, xhi])
 ax.set_ylim ( [ min(currlens), max(currlens) ] )
 plot(iteratns, currlens, 'b',
 iteratns, bestlens, 'r')
 fig.draw() # schedule a refresh
 t1[0] = time.time()
 # Display any updates to the figure
 while gtk.events_pending():
 gtk.mainiteration() # if running in normal gtk thread
 global interrupted
 if interrupted:
 return 1
 return snob.default_status_func(*args)
From: Charles T. <Cha...@in...> - 2003年11月03日 00:17:52
Pretty!
From: John H. <jdh...@ac...> - 2003年11月02日 21:28:51
I just finished adding pseudo-color plots to matplotlib in the CVS
repository.
Here are a couple of screenshots
 http://nitace.bsd.uchicago.edu:8080/files/share/pcolor_demo_large.png
 http://nitace.bsd.uchicago.edu:8080/files/share/mri_with_eeg_large.png
The scripts that generated them are in examples/pcolor_demo.py and
examples/mri_with_eeg.png.
There is currently bug with pcolor in the GTK backend can cause a
vertical banding to appear due to integer rounding in very small
pcolor plots (eg, when you place the plot in a small subplot). The GD
and PS backends work fine however.
Enjoy!
John Hunter
3 messages has been excluded from this view by a project administrator.

Showing results of 62

<< < 1 2 3 (Page 3 of 3)
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /