SourceForge logo
SourceForge logo
Menu

matplotlib-devel — matplotlib developers

You can subscribe to this list here.

2003 Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
(1)
Nov
(33)
Dec
(20)
2004 Jan
(7)
Feb
(44)
Mar
(51)
Apr
(43)
May
(43)
Jun
(36)
Jul
(61)
Aug
(44)
Sep
(25)
Oct
(82)
Nov
(97)
Dec
(47)
2005 Jan
(77)
Feb
(143)
Mar
(42)
Apr
(31)
May
(93)
Jun
(93)
Jul
(35)
Aug
(78)
Sep
(56)
Oct
(44)
Nov
(72)
Dec
(75)
2006 Jan
(116)
Feb
(99)
Mar
(181)
Apr
(171)
May
(112)
Jun
(86)
Jul
(91)
Aug
(111)
Sep
(77)
Oct
(72)
Nov
(57)
Dec
(51)
2007 Jan
(64)
Feb
(116)
Mar
(70)
Apr
(74)
May
(53)
Jun
(40)
Jul
(519)
Aug
(151)
Sep
(132)
Oct
(74)
Nov
(282)
Dec
(190)
2008 Jan
(141)
Feb
(67)
Mar
(69)
Apr
(96)
May
(227)
Jun
(404)
Jul
(399)
Aug
(96)
Sep
(120)
Oct
(205)
Nov
(126)
Dec
(261)
2009 Jan
(136)
Feb
(136)
Mar
(119)
Apr
(124)
May
(155)
Jun
(98)
Jul
(136)
Aug
(292)
Sep
(174)
Oct
(126)
Nov
(126)
Dec
(79)
2010 Jan
(109)
Feb
(83)
Mar
(139)
Apr
(91)
May
(79)
Jun
(164)
Jul
(184)
Aug
(146)
Sep
(163)
Oct
(128)
Nov
(70)
Dec
(73)
2011 Jan
(235)
Feb
(165)
Mar
(147)
Apr
(86)
May
(74)
Jun
(118)
Jul
(65)
Aug
(75)
Sep
(162)
Oct
(94)
Nov
(48)
Dec
(44)
2012 Jan
(49)
Feb
(40)
Mar
(88)
Apr
(35)
May
(52)
Jun
(69)
Jul
(90)
Aug
(123)
Sep
(112)
Oct
(120)
Nov
(105)
Dec
(116)
2013 Jan
(76)
Feb
(26)
Mar
(78)
Apr
(43)
May
(61)
Jun
(53)
Jul
(147)
Aug
(85)
Sep
(83)
Oct
(122)
Nov
(18)
Dec
(27)
2014 Jan
(58)
Feb
(25)
Mar
(49)
Apr
(17)
May
(29)
Jun
(39)
Jul
(53)
Aug
(52)
Sep
(35)
Oct
(47)
Nov
(110)
Dec
(27)
2015 Jan
(50)
Feb
(93)
Mar
(96)
Apr
(30)
May
(55)
Jun
(83)
Jul
(44)
Aug
(8)
Sep
(5)
Oct
Nov
(1)
Dec
(1)
2016 Jan
Feb
Mar
(1)
Apr
May
Jun
(2)
Jul
Aug
(3)
Sep
(1)
Oct
(3)
Nov
Dec
2017 Jan
Feb
(5)
Mar
Apr
May
Jun
Jul
(3)
Aug
Sep
(7)
Oct
Nov
Dec
2018 Jan
Feb
Mar
Apr
May
Jun
Jul
(2)
Aug
Sep
Oct
Nov
Dec
S M T W T F S



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

Showing 7 results of 7

From: Neal B. <ndb...@gm...> - 2013年05月31日 11:32:19
Paul Hobson wrote:
> On Thu, May 30, 2013 at 5:03 PM, Michael Droettboom
> <md...@st...> wrote:
> 
>> On 05/30/2013 02:27 PM, Chris Barker - NOAA Federal wrote:
>> >
>> > With a fully-function mathtex, it could be the default (only?) text
>> > layout system for MPL, simplifying things quite a bit.
>>
>> I'm not sure that's realistic. The usetex backend gets a great deal of
>> use, and I don't think it's only because it handles multiline text
>> better -- it's also the easiest way to make the text match that of a
>> larger TeX document in which it's included (though the new PGF backend
>> goes some way to helping that in an entirely different way).
> 
> 
> Exactly! I like that I can set text.usetex=True and add
> \usepackage{fourier} and I *know* that my figures and document will look
> the same.
> 
> That said, I've never been able to get the PGF backend to work well. Random
> elements are pixelated. It's surely user-error on my end, but the usetex is
> comparatively easy to set up.
> 
> 
>> It might
>> be worth collating a list of reasons that users are using "usetex" to
>> include in the MEP -- if we can address them all in another way, great,
>> but if not it's not too difficult to keep something that already works
>> fairly well working. The problem I have with it is not really that it
>> exists, only that it has tendrils all throughout matplotlib that could
>> be better localized into a single set of modules.
>>
> 
> As I state above -- I absolutely require One Font throughout my documents.
> If it's a serif font, I use the fourier TeX package. If it's a sans-serif
> font, I do the weird \sansmath voodoo (I still owe you a PR with an example
> of setting that up). Point is, it works well.
> 
> Cheers,
> -paul
I had the impression that XeTeX had stopped development and that LuaTeX was 
the path forward.
From: Nicolas R. <Nic...@in...> - 2013年05月31日 06:29:52
> 1) It's implemented in ctypes. I'm not much of a fan of ctypes, as it 
> has the potential to segfault in nasty ways if the API changes in any 
> way from what was expected (which would normally be caught at compile 
> time in a C extension). I'm also concerned about the overhead of 
> ctypes, given that there are already so many required optimizations in 
> the matplotlib freetype wrapper to make it fast enough. But I'm willing 
> to hold judgement on that until some measurements have been made.
> 
I would never have thought ctypes would be a problem for speed/optimization and I never benchmarked the freetype-py. Not sure how to do that though.
> 2) It's not Numpy-aware. For example, it loads image buffers into 
> regular Python lists. This really should use Numpy for speed.
Yes, and I recently discovered it may make things really slow in some cases.
> 3) It exposes the fixed point numbers to Python as integers -- it should 
> really return all of these as floats -- the user shouldn't have to know 
> or remember which values are 16.16 and which are 24.8 etc. It should 
> just give floats. Double precision (with 52 bits in the mantissa) is 
> enough for any of these 32-bit fixed-point values. I think that's just a 
> remnant of older systems and needing to run on hardware without an FPU 
> that doesn't need to be brought forward into the Python wrapper.
You're right. I try to keep the very-low level to stick to the freetype implementation/type and the mid-level wrapper should use float everywhere (I may need to check that).
This + your comment on Google App Engine makes me think that freetype-py might not be so useful in the end. Anyway, I would gladly (try to) contribute to the new system.
Nicolas
From: Michael D. <md...@st...> - 2013年05月31日 03:23:05
On 05/30/2013 08:21 PM, Michael Droettboom wrote:
> 1) It's implemented in ctypes. I'm not much of a fan of ctypes, as it 
> has the potential to segfault in nasty ways if the API changes in any 
> way from what was expected (which would normally be caught at compile 
> time in a C extension). I'm also concerned about the overhead of 
> ctypes, given that there are already so many required optimizations in 
> the matplotlib freetype wrapper to make it fast enough. But I'm 
> willing to hold judgement on that until some measurements have been 
> made. 2) It's not Numpy-aware. For example, it loads image buffers 
> into regular Python lists. This really should use Numpy for speed. 3) 
> It exposes the fixed point numbers to Python as integers -- it should 
> really return all of these as floats -- the user shouldn't have to 
> know or remember which values are 16.16 and which are 24.8 etc. It 
> should just give floats. Double precision (with 52 bits in the 
> mantissa) is enough for any of these 32-bit fixed-point values. I 
> think that's just a remnant of older systems and needing to run on 
> hardware without an FPU that doesn't need to be brought forward into 
> the Python wrapper. 4) It should have another layer to handle the 
> decoding of SFNT tables in a consistent manner. I know the 
> sfnt-names.py example does this, but that should be built into the 
> library. There are certain places where hiding the details of the 
> underlying font file is a good thing -- and I think one of the reasons 
> freetype doesn't do this is the lack of a standard Unicode type in C. 
> We don't have that problem in Python. I think all of these are fixable 
> by adding another layer on top, with the exception of (1) of course. 
> Maybe it makes sense to build that intermediate layer, adapt 
> matplotlib to it, benchmark the ctypes issue, and if necessary 
> reimplement the core using C/API.
Additionally, I just discovered that ctypes isn't available on Google 
App Engine, for obvious security reasons. That sort of, unfortunately, 
makes it a non-starter for matplotlib.
Wish that weren't the case, but I think Google App Engine support is an 
important thing to keep going...
Mike
From: Paul H. <pmh...@gm...> - 2013年05月31日 01:10:44
On Thu, May 30, 2013 at 5:03 PM, Michael Droettboom <md...@st...> wrote:
> On 05/30/2013 02:27 PM, Chris Barker - NOAA Federal wrote:
> >
> > With a fully-function mathtex, it could be the default (only?) text
> > layout system for MPL, simplifying things quite a bit.
>
> I'm not sure that's realistic. The usetex backend gets a great deal of
> use, and I don't think it's only because it handles multiline text
> better -- it's also the easiest way to make the text match that of a
> larger TeX document in which it's included (though the new PGF backend
> goes some way to helping that in an entirely different way).
Exactly! I like that I can set text.usetex=True and add
\usepackage{fourier} and I *know* that my figures and document will look
the same.
That said, I've never been able to get the PGF backend to work well. Random
elements are pixelated. It's surely user-error on my end, but the usetex is
comparatively easy to set up.
> It might
> be worth collating a list of reasons that users are using "usetex" to
> include in the MEP -- if we can address them all in another way, great,
> but if not it's not too difficult to keep something that already works
> fairly well working. The problem I have with it is not really that it
> exists, only that it has tendrils all throughout matplotlib that could
> be better localized into a single set of modules.
>
As I state above -- I absolutely require One Font throughout my documents.
If it's a serif font, I use the fourier TeX package. If it's a sans-serif
font, I do the weird \sansmath voodoo (I still owe you a PR with an example
of setting that up). Point is, it works well.
Cheers,
-paul
From: Michael D. <md...@st...> - 2013年05月31日 01:02:37
On 05/30/2013 06:06 PM, Russell E. Owen wrote:
> I uploaded a binary installer for MacOS X, 64-bit python.org python 2.7.
> I built it using numpy 1.7.1. This version does not include pytz,
> dateutil or six, but the included ReadMe says they are prerequisites and
> suggests installing them with pip.
>
> The tests showed more problems than usual. I have appended the whole set.
>
> A few questions:
> - Why does setupext.py's dateutil finder have this:
> return ['python_dateutil']
> when the package is called python-dateutil (hyphen instead of
> underscore)? If it is intentional, it might be worth noting with a
> comment.
Thanks for noticing that. You are correct, and that underscore should 
be replaced with a hyphen. However, I think in practice it's making no 
difference. distribute automatically replaces underscores with hyphens 
before it does the PyPI lookup. In any event, I've fixed this in e2e89eb.
> - Why include licenses for pytz and dateutil?
I just forgot to remove those during the refactor. They have been 
removed in 441fe10.
As for the tests: The warnings are all normal (it would be great to 
hide them, but I haven't invested much time to investigate that).
The first two failures are related to the PGF backend, and I suspect are 
failing because of a missing package in your LaTeX installation. I've 
created issue #2097 and Cc'd you and Peter Wurtz (the PGF backend 
author) who may have some insight.
The last failure is a puzzler -- for some reason, the 
test_coding_standards test module isn't importing, though it was found. 
I'll let you know if there's more information I need from you about 
that, but at this point I'm not even sure how to investigate that one.
Thanks for working on this,
Mike
>
> -- Russell
>
> Here is the test log:
>
> localhost$ python -c "import matplotlib as m ; m.test(verbosity=1)"
> .........................................................................
> .........................................................................
> .........................................................................
> ..........kpathsea: Invalid fontname `Bitstream Vera Serif', contains ' '
> Ekpathsea: Invalid fontname `Bitstream Vera Serif', contains ' '
> EK.....K.................................................................
> .........................................................................
> .........................................................................
> .........................................................................
> .........................................................................
> .........................................................................
> .........................................................................
> .........................................................................
> .........................................................................
> .........................................................................
> .........................................................................
> .........................................................................
> .........................................................................
> .........................................................................
> .........................................................................
> ...................................../Library/Frameworks/Python.framework
> /Versions/2.7/lib/python2.7/site-packages/numpy/ma/core.py:777:
> RuntimeWarning: invalid value encountered in absolute
> return umath.absolute(a) * self.tolerance >= umath.absolute(b)
> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pack
> ages/numpy/ma/core.py:3791: UserWarning: Warning: converting a masked
> element to nan.
> warnings.warn("Warning: converting a masked element to nan.")
> .........................................../Library/Frameworks/Python.fra
> mework/Versions/2.7/lib/python2.7/site-packages/matplotlib/gridspec.py:29
> 8: UserWarning: This figure includes Axes that are not compatible with
> tight_layout, so its results might be incorrect.
> warnings.warn("This figure includes Axes that are not "
> ............................................/Library/Frameworks/Python.fr
> amework/Versions/2.7/lib/python2.7/site-packages/numpy/testing/utils.py:8
> 07: RuntimeWarning: invalid value encountered in absolute
> z = abs(x-y)
> ........E
> ======================================================================
> ERROR: matplotlib.tests.test_backend_pgf.test_pathclip
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/nose/case.py", line 197, in runTest
> self.test(*self.arg)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/tests/test_backend_pgf.py", line 45, in backend_switcher
> result = func(*args, **kwargs)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/tests/test_backend_pgf.py", line 145, in test_pathclip
> plt.savefig(os.path.join(result_dir, "pgf_pathclip.pdf"))
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/pyplot.py", line 561, in savefig
> return fig.savefig(*args, **kwargs)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/figure.py", line 1410, in savefig
> self.canvas.print_figure(*args, **kwargs)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backend_bases.py", line 2220, in print_figure
> **kwargs)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backends/backend_pgf.py", line 864, in print_pdf
> self._print_pdf_to_fh(fh, *args, **kwargs)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backends/backend_pgf.py", line 822, in _print_pdf_to_fh
> self.print_pgf(fname_pgf, *args, **kwargs)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backends/backend_pgf.py", line 804, in print_pgf
> self._print_pgf_to_fh(fh, *args, **kwargs)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backends/backend_pgf.py", line 784, in _print_pgf_to_fh
> RendererPgf(self.figure, fh),
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backends/backend_pgf.py", line 409, in __init__
> self.latexManager = LatexManagerFactory.get_latex_manager()
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backends/backend_pgf.py", line 223, in get_latex_manager
> new_inst = LatexManager()
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backends/backend_pgf.py", line 309, in __init__
> raise LatexError("LaTeX returned an error, probably missing font or
> error in preamble:\n%s" % stdout)
> LatexError: LaTeX returned an error, probably missing font or error in
> preamble:
> This is XeTeX, Version 3.1415926-2.4-0.9998 (TeX Live 2012)
> restricted \write18 enabled.
> **entering extended mode
> LaTeX2e <2011年06月27日>
> Babel <v3.8m> and hyphenation patterns for english, dumylang,
> nohyphenation, ge
> rman-x-2012年05月30日, ngerman-x-2012年05月30日, afrikaans, ancientgreek,
> ibycus, arabi
> c, armenian, basque, bulgarian, catalan, pinyin, coptic, croatian,
> czech, danis
> h, dutch, ukenglish, usenglishmax, esperanto, estonian, ethiopic, farsi,
> finnis
> h, french, friulan, galician, german, ngerman, swissgerman, monogreek,
> greek, h
> ungarian, icelandic, assamese, bengali, gujarati, hindi, kannada,
> malayalam, ma
> rathi, oriya, panjabi, tamil, telugu, indonesian, interlingua, irish,
> italian,
> kurmanji, latin, latvian, lithuanian, mongolian, mongolianlmc, bokmal,
> nynorsk,
> polish, portuguese, romanian, romansh, russian, sanskrit, serbian,
> serbianc, s
> lovak, slovenian, spanish, swedish, turkish, turkmen, ukrainian,
> uppersorbian,
> welsh, loaded.
>
> *(/usr/local/texlive/2012/texmf-dist/tex/latex/base/minimal.cls
> Document Class: minimal 2001年05月25日 Standard LaTeX minimal class
> )
> (Please type a command or say `\end')
> *
> *(/usr/local/texlive/2012/texmf-dist/tex/latex/fontspec/fontspec.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/expl3.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3names.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty))
> (/usr/local/texlive/2012/texmf-dist/tex/latex/etex-pkg/etex.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/color.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/latexconfig/color.cfg)
> (/usr/local/texlive/2012/texmf-dist/tex/xelatex/xetex-def/xetex.def))
> (/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/graphics.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/trig.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/latexconfig/graphics.cfg))
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3basics.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3expan.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3tl.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3seq.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3int.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3quark.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3prg.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3clist.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3token.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3prop.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3msg.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3file.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3skip.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3keys.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3fp.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3box.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3coffins.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3color.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3luatex.sty))
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3packages/xparse/xparse.st
> y)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/fontspec/fontspec-patches.s
> ty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/base/fixltx2e.sty)
> *************************************************
> * LaTeX warning: "xparse/redefine-command"
> *
> * Redefining document command \oldstylenums with arg. spec. 'm' on line
> 107.
> *************************************************
> )
> (/usr/local/texlive/2012/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/base/fontenc.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/euenc/eu1enc.def)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/euenc/eu1lmr.fd))
> (/usr/local/texlive/2012/texmf-dist/tex/xelatex/xunicode/xunicode.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/tipa/t3enc.def
> (/usr/local/texlive/2012/texmf-dist/tex/latex/euenc/eu1lmss.fd))
> (/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/graphicx.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/keyval.sty)))
> (/usr/local/texlive/2012/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
>
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> !
> ! fontspec error: "font-not-found"
> !
> ! The font "Bitstream Vera Serif" cannot be found.
> !
> ! See the fontspec documentation for further information.
> !
> ! For immediate help type H <return>.
> !...............................................
> 
> <*> \setmainfont{Bitstream Vera Serif}
> 
> No pages of output.
> Transcript written on texput.log.
>
>
> ======================================================================
> ERROR: matplotlib.tests.test_backend_pgf.test_mixedmode
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/nose/case.py", line 197, in runTest
> self.test(*self.arg)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/tests/test_backend_pgf.py", line 45, in backend_switcher
> result = func(*args, **kwargs)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/tests/test_backend_pgf.py", line 157, in test_mixedmode
> compare_figure('pgf_mixedmode.pdf')
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/tests/test_backend_pgf.py", line 56, in compare_figure
> plt.savefig(actual)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/pyplot.py", line 561, in savefig
> return fig.savefig(*args, **kwargs)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/figure.py", line 1410, in savefig
> self.canvas.print_figure(*args, **kwargs)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backend_bases.py", line 2220, in print_figure
> **kwargs)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backends/backend_pgf.py", line 864, in print_pdf
> self._print_pdf_to_fh(fh, *args, **kwargs)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backends/backend_pgf.py", line 822, in _print_pdf_to_fh
> self.print_pgf(fname_pgf, *args, **kwargs)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backends/backend_pgf.py", line 804, in print_pgf
> self._print_pgf_to_fh(fh, *args, **kwargs)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backends/backend_pgf.py", line 784, in _print_pgf_to_fh
> RendererPgf(self.figure, fh),
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backends/backend_pgf.py", line 409, in __init__
> self.latexManager = LatexManagerFactory.get_latex_manager()
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backends/backend_pgf.py", line 223, in get_latex_manager
> new_inst = LatexManager()
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/matplotlib/backends/backend_pgf.py", line 309, in __init__
> raise LatexError("LaTeX returned an error, probably missing font or
> error in preamble:\n%s" % stdout)
> LatexError: LaTeX returned an error, probably missing font or error in
> preamble:
> This is XeTeX, Version 3.1415926-2.4-0.9998 (TeX Live 2012)
> restricted \write18 enabled.
> **entering extended mode
> LaTeX2e <2011年06月27日>
> Babel <v3.8m> and hyphenation patterns for english, dumylang,
> nohyphenation, ge
> rman-x-2012年05月30日, ngerman-x-2012年05月30日, afrikaans, ancientgreek,
> ibycus, arabi
> c, armenian, basque, bulgarian, catalan, pinyin, coptic, croatian,
> czech, danis
> h, dutch, ukenglish, usenglishmax, esperanto, estonian, ethiopic, farsi,
> finnis
> h, french, friulan, galician, german, ngerman, swissgerman, monogreek,
> greek, h
> ungarian, icelandic, assamese, bengali, gujarati, hindi, kannada,
> malayalam, ma
> rathi, oriya, panjabi, tamil, telugu, indonesian, interlingua, irish,
> italian,
> kurmanji, latin, latvian, lithuanian, mongolian, mongolianlmc, bokmal,
> nynorsk,
> polish, portuguese, romanian, romansh, russian, sanskrit, serbian,
> serbianc, s
> lovak, slovenian, spanish, swedish, turkish, turkmen, ukrainian,
> uppersorbian,
> welsh, loaded.
>
> *(/usr/local/texlive/2012/texmf-dist/tex/latex/base/minimal.cls
> Document Class: minimal 2001年05月25日 Standard LaTeX minimal class
> )
> (Please type a command or say `\end')
> *
> *(/usr/local/texlive/2012/texmf-dist/tex/latex/fontspec/fontspec.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/expl3.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3names.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty))
> (/usr/local/texlive/2012/texmf-dist/tex/latex/etex-pkg/etex.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/color.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/latexconfig/color.cfg)
> (/usr/local/texlive/2012/texmf-dist/tex/xelatex/xetex-def/xetex.def))
> (/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/graphics.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/trig.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/latexconfig/graphics.cfg))
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3basics.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3expan.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3tl.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3seq.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3int.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3quark.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3prg.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3clist.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3token.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3prop.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3msg.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3file.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3skip.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3keys.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3fp.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3box.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3coffins.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3color.sty)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3kernel/l3luatex.sty))
> (/usr/local/texlive/2012/texmf-dist/tex/latex/l3packages/xparse/xparse.st
> y)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/fontspec/fontspec-patches.s
> ty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/base/fixltx2e.sty)
> *************************************************
> * LaTeX warning: "xparse/redefine-command"
> *
> * Redefining document command \oldstylenums with arg. spec. 'm' on line
> 107.
> *************************************************
> )
> (/usr/local/texlive/2012/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/base/fontenc.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/euenc/eu1enc.def)
> (/usr/local/texlive/2012/texmf-dist/tex/latex/euenc/eu1lmr.fd))
> (/usr/local/texlive/2012/texmf-dist/tex/xelatex/xunicode/xunicode.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/tipa/t3enc.def
> (/usr/local/texlive/2012/texmf-dist/tex/latex/euenc/eu1lmss.fd))
> (/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/graphicx.sty
> (/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/keyval.sty)))
> (/usr/local/texlive/2012/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
>
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> !
> ! fontspec error: "font-not-found"
> !
> ! The font "Bitstream Vera Serif" cannot be found.
> !
> ! See the fontspec documentation for further information.
> !
> ! For immediate help type H <return>.
> !...............................................
> 
> <*> \setmainfont{Bitstream Vera Serif}
> 
> No pages of output.
> Transcript written on texput.log.
>
>
> ======================================================================
> ERROR: Failure: AttributeError ('module' object has no attribute
> 'test_coding_standards')
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/nose/loader.py", line 379, in loadTestsFromName
> module = resolve_name(addr.module)
> File
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pac
> kages/nose/util.py", line 331, in resolve_name
> obj = getattr(obj, part)
> AttributeError: 'module' object has no attribute 'test_coding_standards'
>
> ----------------------------------------------------------------------
> Ran 1458 tests in 833.661s
>
> FAILED (KNOWNFAIL=2, errors=3)
> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-pack
> ages/matplotlib/__init__.py:1141: UserWarning: This call to
> matplotlib.use() has no effect
> because the the backend has already been chosen;
> matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
> or matplotlib.backends is imported for the first time.
>
> warnings.warn(_use_error_msg)
> localhost$
>
>
> ------------------------------------------------------------------------------
> Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
> Get 100% visibility into your production application - at no cost.
> Code-level diagnostics for performance bottlenecks with <2% overhead
> Download for free and get started troubleshooting in minutes.
> http://p.sf.net/sfu/appdyn_d2d_ap1
> _______________________________________________
> Matplotlib-devel mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
From: Michael D. <md...@st...> - 2013年05月31日 00:24:01
On 05/30/2013 03:33 PM, Nicolas Rougier wrote:
>
> For the free type wrapper, maybe the freetype-py may be of some help:
> http://code.google.com/p/freetype-py/
>
> I did not wrap all the freetype library but it already allows a fair amount of font manipulation/rendering.
I looked at this a number of years ago, and just looked at it again 
today. I think in general it's a better approach than what we have now 
in matplotlib, in that it's a thin wrapper around freetype rather than a 
"just enough to for what we need approach", which should make things 
more flexible in the long run. It's a lot like what I have in mind.
However, I do have some concerns about it and I'd like to get a sense of 
your receptibility to these changes.
1) It's implemented in ctypes. I'm not much of a fan of ctypes, as it 
has the potential to segfault in nasty ways if the API changes in any 
way from what was expected (which would normally be caught at compile 
time in a C extension). I'm also concerned about the overhead of 
ctypes, given that there are already so many required optimizations in 
the matplotlib freetype wrapper to make it fast enough. But I'm willing 
to hold judgement on that until some measurements have been made.
2) It's not Numpy-aware. For example, it loads image buffers into 
regular Python lists. This really should use Numpy for speed.
3) It exposes the fixed point numbers to Python as integers -- it should 
really return all of these as floats -- the user shouldn't have to know 
or remember which values are 16.16 and which are 24.8 etc. It should 
just give floats. Double precision (with 52 bits in the mantissa) is 
enough for any of these 32-bit fixed-point values. I think that's just a 
remnant of older systems and needing to run on hardware without an FPU 
that doesn't need to be brought forward into the Python wrapper.
4) It should have another layer to handle the decoding of SFNT tables in 
a consistent manner. I know the sfnt-names.py example does this, but 
that should be built into the library. There are certain places where 
hiding the details of the underlying font file is a good thing -- and I 
think one of the reasons freetype doesn't do this is the lack of a 
standard Unicode type in C. We don't have that problem in Python.
I think all of these are fixable by adding another layer on top, with 
the exception of (1) of course. Maybe it makes sense to build that 
intermediate layer, adapt matplotlib to it, benchmark the ctypes issue, 
and if necessary reimplement the core using C/API.
>
>
> For unicode/harfbuzz, I've found this example
>
> https://github.com/lxnt/ex-sdl-freetype-harfbuzz
>
> to be incredibly useful to understand the (poorly documented) library. The strong point of harfbuzz is to have no heavy dependencies (compared to pango for example). By the way, Behad is considering a refactoring of the library and it might be worth to interact with him (on the harfbuzz list) to see how this could ease a python wrapper (if you intend to use it of course).
That example is very helpful. Thanks. I should add to the MEP, for 
those that are not aware, that even though Harfbuzz is a part of the 
Gtk/Gnome/Cairo ecosystem, it is a very standalone library itself, and 
is the closest to "works everywhere with minimal requirements" of any of 
the available options. I should definitely clarify that even though 
there are many options for font layout libraries, including both 
cross-platform/open source and closed-source-vendor ones, Harfbuzz could 
be the "one to rule them all" so we wouldn't necessarily need to wrap 
all of them.
>
>
> In the current draft, you're speaking of rich text but I found no reference for a possible markup (or equivalent) to specify the different font, color, boldness, etc.
Yeah -- I need to make that more explicit. I think MEP14 needs to 
consider the *possibility* of adding rich text support down the line so 
that the API can support it, but the details of how we might actually do 
that should be postponed for another MEP. It's already a lot to bite 
off as it is. Does that make sense to you -- are there things in the 
proposed API that would inhibit that from being added in the future?
Cheers,
Mike
>
>
>
> Nicolas
>
>
>
> On May 30, 2013, at 8:27 PM, Chris Barker - NOAA Federal <chr...@no...> wrote:
>
>> On Thu, May 30, 2013 at 8:59 AM, Michael Droettboom <md...@st...> wrote:
>>> I've drafted a MEP with a plan to improve some of the text and font handling
>>> in matplotlib.
>>>
>>> I'd love any and all feedback.
>> nice writ-up and thanks for workign on this.
>>
>> One idea (alternative?) would be to put more effort into the
>> "mathtext" renderer. TeX itself, of course does an outstanding job of
>> laying out text, paragraphs, etc. I'm assuming that the core stuff is
>> already in mathtext, so adding better support for regular old non-math
>> text would be a less-than-huge deal. And we still wouldn't need the
>> full how-to-split-pages and all that code for MPL.
>>
>> Not sure about properly handling unicode issues, though modern TeX
>> does support unicode.
>>
>> With a fully-function mathtex, it could be the default (only?) text
>> layout system for MPL, simplifying things quite a bit.
>>
>> ... just a thought.
>>
>> -Chris
>>
>>
>>
>> -- 
>>
>> Christopher Barker, Ph.D.
>> Oceanographer
>>
>> Emergency Response Division
>> NOAA/NOS/OR&R (206) 526-6959 voice
>> 7600 Sand Point Way NE (206) 526-6329 fax
>> Seattle, WA 98115 (206) 526-6317 main reception
>>
>> Chr...@no...
>>
>> ------------------------------------------------------------------------------
>> Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
>> Get 100% visibility into your production application - at no cost.
>> Code-level diagnostics for performance bottlenecks with <2% overhead
>> Download for free and get started troubleshooting in minutes.
>> http://p.sf.net/sfu/appdyn_d2d_ap1
>> _______________________________________________
>> Matplotlib-devel mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
>
> ------------------------------------------------------------------------------
> Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
> Get 100% visibility into your production application - at no cost.
> Code-level diagnostics for performance bottlenecks with <2% overhead
> Download for free and get started troubleshooting in minutes.
> http://p.sf.net/sfu/appdyn_d2d_ap1
> _______________________________________________
> Matplotlib-devel mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
From: Michael D. <md...@st...> - 2013年05月31日 00:05:24
On 05/30/2013 02:27 PM, Chris Barker - NOAA Federal wrote:
> On Thu, May 30, 2013 at 8:59 AM, Michael Droettboom <md...@st...> wrote:
>> I've drafted a MEP with a plan to improve some of the text and font handling
>> in matplotlib.
>>
>> I'd love any and all feedback.
> nice writ-up and thanks for workign on this.
>
> One idea (alternative?) would be to put more effort into the
> "mathtext" renderer. TeX itself, of course does an outstanding job of
> laying out text, paragraphs, etc. I'm assuming that the core stuff is
> already in mathtext, so adding better support for regular old non-math
> text would be a less-than-huge deal. And we still wouldn't need the
> full how-to-split-pages and all that code for MPL.
That's an interesting idea, that we should definitely ruminate on. That 
still doesn't address the Unicode issues, which are really complex to 
get right -- I'd really rather depend on something else for that. But 
what you suggest might be the best way forward to improve the built-in 
rendering for a good fraction of users that don't really care about Unicode.
>
> Not sure about properly handling unicode issues, though modern TeX
> does support unicode.
Right -- and I think moving to XeTeX for the "usetex" backend, which is 
now pretty widely available, might be a good improvement on that front. 
I still don't want to reimplement all of that, if I can avoid it.
>
> With a fully-function mathtex, it could be the default (only?) text
> layout system for MPL, simplifying things quite a bit.
I'm not sure that's realistic. The usetex backend gets a great deal of 
use, and I don't think it's only because it handles multiline text 
better -- it's also the easiest way to make the text match that of a 
larger TeX document in which it's included (though the new PGF backend 
goes some way to helping that in an entirely different way). It might 
be worth collating a list of reasons that users are using "usetex" to 
include in the MEP -- if we can address them all in another way, great, 
but if not it's not too difficult to keep something that already works 
fairly well working. The problem I have with it is not really that it 
exists, only that it has tendrils all throughout matplotlib that could 
be better localized into a single set of modules.
>
> ... just a thought.
>
>
Thanks. Keep em coming!
Mike

Showing 7 results of 7

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