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


Showing 5 results of 5

From: John H. <jdh...@ac...> - 2005年03月05日 13:43:35
>>>>> "Alex" == Alex Rada <ale...@ya...> writes:
 Alex> Hi all, I'm trying to make some nice plots, but I have the
 Alex> following problem. I think that ticks labels are too close
 Alex> to axes. Are there some trics to set this distance?
Set these two parameters in matplotlibrc
http://matplotlib.sf.net/.matplotlibrc
 tick.major.pad : 4 # distance to major tick label in points
 tick.minor.pad : 4 # distance to the minor tick label in points
You can also set rc parameters with the rc function.
From: Alex R. <ale...@ya...> - 2005年03月05日 09:37:33
Hi all,
I'm trying to make some nice plots, but I have the following problem. I 
think that ticks labels are too close to axes. Are there some trics to 
set this distance?
thanks, Alex
From: John H. <jdh...@ac...> - 2005年03月05日 02:43:58
>>>>> "Humufr" == Humufr <hu...@ya...> writes:
 Humufr> Hi, when I wrote a script like:
 Humufr> import numarray image = numarray.ones((30,30))
 Humufr> from pylab import * matshow(image) show()
 Humufr> I obtain an error message:
 Humufr> Traceback (most recent call last): File "test.py", line 6,
 Humufr> in ? matshow(image) File
 Humufr> "/usr/lib/python2.4/site-packages/matplotlib/pylab.py",
 Humufr> line 1647, in matshow w,h = figaspect(arr) File
 Humufr> "/usr/lib/python2.4/site-packages/matplotlib/figure.py",
 Humufr> line 480, in figaspect nr,nc = arr.shape[:2]
 Humufr> AttributeError: 'module' object has no attribute 'shape'
 Humufr> if I'm call pylab before to create the numarray array it's
 Humufr> ok:
It looks like your numerix setting is your .matplotlibrc file may be
Numeric, and you are trying to pass a Numeric array. Make sure that
the rc setting agrees with the actual array type used. To insure
this, we recommend that you use matplotlib.numerix to import the array
object and methods, rather than explicitly importing numarray
directly. matplotlib numerix, and by extension the pylab module,
already provide the proper array packages based on your rc setting.
Please see several FAQs on this issue regarding rc and numerix.
JDH
>>>>> "matthew" == matthew arnison <ma...@ca...> writes:
 matthew> To make a long story short, _winreg is failing to deal
 matthew> with some Japanese font registry keys, and throwing the
 matthew> WindowsError (ErrNo 234). A good workaround is to add a
 matthew> "try / except WindowsError: pass" around the
 matthew> _winreg.EnumValue() stanza inside the for loop. From my
 matthew> testing, for a system with 93 fonts, this should skip the
 matthew> 3 troublesome fonts and catalog the rest.
 matthew> My apologies that I cannot provide a patch or a simple
 matthew> test case at this time, but I hope this report is useful.
Hi Matthew -- thanks for your efforts on this. I have to honestly say
that I don't have a lot of time to work on this bug -- I don't know
enough about Japanese fonts or the windows registry. None of the
other matplotlib developers seem to have taken up the banner either.
If you can provide a patch that fixes or works around the bug, I'd be
very happy to include it. I could work figure out the appropriate
patch by reading your email closely, but I don't have a good
environment to test it, so it would be more efficient if you simply
submitted a patch that has your try/except workaround until we can
come up with something better.
Thanks!
JDH
From: matthew a. <ma...@ca...> - 2005年03月05日 01:10:38
Hi,
A few months back I gave a little report to matplotlib-users on using 
matplotlib on Japanese Windows. There were several issues that I managed 
to find workarounds for.
I wanted to give an update on the font_manager.py bug. This bug is still 
in matplotlib (as of CVS earlier today) and causes a matplotlib import 
to throw a WindowsError exception (ErrNo 234). This has happened to me 
on every Windows 2000 Japanese PC I've tried it on, including PCs which 
had a pretty fresh installs of Win2K. (It may also happen on Japanese 
WinXP, I haven't tried it.)
In other words, it's a showstopper. And it happens even without py2exe.
A bit of google searching turned up a couple of *.jp blogs mentioning 
the error.
The workaround I suggested last Novemeber works (see my message quoted 
below), but it's a bit of a kludge. I dug a bit into the bug today and 
discovered it's actually a side-effect of what appears to be a Microsoft 
Win32 API registry bug.
_winreg uses RegQueryInfoKey to ask for the maximum length of all the 
subkeys in the fonts registry key. Then _winreg creates a buffer of that 
length (plus 1 for NULL termination) and uses RegEnumValue to grab the 
subkey, but for some fonts Windows returns ERROR_MORE_DATA (234) 
indicating that the buffer size is too small. There are at least 3 fonts 
that trigger it, which seem to be standard on Japanese Win2k.
To make a long story short, _winreg is failing to deal with some 
Japanese font registry keys, and throwing the WindowsError (ErrNo 234). 
A good workaround is to add a "try / except WindowsError: pass" around 
the _winreg.EnumValue() stanza inside the for loop. From my testing, for 
a system with 93 fonts, this should skip the 3 troublesome fonts and 
catalog the rest.
My apologies that I cannot provide a patch or a simple test case at this 
time, but I hope this report is useful.
Cheers,
Matthew.
p.s. It may be there are ways to work around this bug in _winreg, which 
I think would be the better place to do it. E.g. by using RegEnumValue 
to query the subkey size instead of RegQueryInfoKey. But I haven't 
isolated a simple test case yet, apart from "import matplotlib" on 
Japanese Win2k.
Here is the code fragment:
MSFontDirectories = [
 r'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts',
 r'SOFTWARE\Microsoft\Windows\CurrentVersion\Fonts']
...
def win32InstalledFonts(directory=None, fontext='ttf'):
 """Search for fonts in the specified font directory, or use the
system directories if none given. A list of TrueType fonts are
returned by default with AFM fonts as an option.
"""
 import _winreg
 if directory is None:
 directory = win32FontDirectory()
 key, items = None, {}
 for fontdir in MSFontDirectories:
 try:
 local = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, fontdir)
 except OSError:
 continue
 if not local:
 return glob.glob(os.path.join(directory, '*.'+fontext))
 try:
 for j in range(_winreg.QueryInfoKey(local)[1]):
 key, direc, any = _winreg.EnumValue( local, j)
 if not os.path.dirname(direc):
 direc = os.path.join(directory, direc)
 direc = os.path.abspath(direc).lower()
 if direc[-4:] == '.'+fontext:
 items[direc] = 1
 return items.keys()
 finally:
 _winreg.CloseKey(local)
 return None
On 1/11/2004 3:32 PM, matthew arnison wrote:
> I thought I'd mention some small isuues I found with using py2exe to deploy matplotlib 0.63.2 on Japanese Windows 2000.
> 
 > [...snip...]
 >
> * font_manager.py throws an exception, I suspect to do with Japanese font names or font directory names:
> 
> File "c:\Python23\lib\site-packages\matplotlib\font_manager.py", line 111, in
> win32InstalledFonts
> key, direc, any = _winreg.EnumValue( local, j)
> WindowsError: [Errno 234]
> 
> from this site:
> 
> http://www.google.com.au/search?q=cache:B8BlgKwVYxcJ:www.cubelab.com/ymasuda/python/index_jp.html+matplotlib+local+None+windowserror&hl=en
> 
> I found a workaround to add
> 
> local = None
> 
> at line 107 of font_manager.py to give this:
> 
> for fontdir in MSFontDirectories:
> try:
> local = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, fontdir)
> except OSError:
> continue
> 
> local = None
> 
> if not local:
> return glob.glob(os.path.join(directory, '*.'+fontext))

Showing 5 results of 5

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 によって変換されたページ (->オリジナル) /