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
|
|
From: Adam H. <hug...@gm...> - 2014-11-06 16:39:08
|
Hi,
I recently noticed the method:
axes3d.get_test_data()
I was curious if other test/sample data is available somewhere in
matplotlib, for demo purposes? Or if this is the only sample dataset in
the library? Not just for 3dplots but for any plot type... Sorry if I'm
overlooking the obvious...
|
|
From: Paul H. <pmh...@gm...> - 2014-11-05 17:32:24
|
I think some examples would help. Which proj4 string are you looking to use? How are you currently constructing the map? -p On Wed, Nov 5, 2014 at 7:53 AM, knutfrode <knu...@ho...> wrote: > Does anyone know if this is possible? > > > > > > -- > View this message in context: > http://matplotlib.1069221.n5.nabble.com/Basemap-from-proj4-string-tp43428p44290.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: knutfrode <knu...@ho...> - 2014-11-05 15:53:55
|
Does anyone know if this is possible? -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Basemap-from-proj4-string-tp43428p44290.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
|
From: Ian T. <ian...@gm...> - 2014-11-04 08:14:46
|
On 2 November 2014 16:30, Benjamin Root <ben...@ou...> wrote: > Would it make sense to at least emit a warning when a mask is encountered. > There are very few places in matplotlib where masked arrays are not allowed > (I think histograms is the other spot, but I can't remember for sure). > Ben, That's certainly an option, but I'm happy with leaving it as it is with the onus on users to read the documentation. Ian |
|
From: Eric F. <ef...@ha...> - 2014-11-04 00:41:59
|
On 2014/11/03, 2:19 PM, Damien Irving wrote:
> I often like to define my own colormaps using hex strings, e.g.
> hex_list = ['#FFF295', '#FFD555', '#FF850B', '#D55000', '#D50000',
> '#550040','#600080', '#000080', '#0000D5', '#0B85FF', '#55AAFF', '#95CAFF']
>
> However, when I pass them to contourf and try to extend the colorbar...
> plt.contourf(x, y, data, colors=hex_list, extend='both')
>
> ... it always ends up that the color of the final segment on the
> extended ends of the colorbar is the same color as the extension segment
> (i.e. the bit in the little arrow). This happens even when hex_list is
> much longer than the actual number of segments required.
You need to use the "levels" kwarg to specify the contour interval
boundaries, and then your list of colors needs to have a length equal to
len(levels) + 1. In other words, the number of colors listed in the
colors kwarg needs to be *exactly* the number needed to fill between the
specified levels, plus one for each requested "extend" direction, if any.
plt.contourf(x, y, data, levels=[0, 1, 2],
colors=['red', 'blue, 'brown', 'black'],
extend='both')
That should give you blue and brown for 0-1 and 1-2; with red for
data<0, and black for data>2.
Eric
>
> Has anyone else had this problem?
>
>
>
> ------------------------------------------------------------------------------
>
>
>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
|
|
From: Damien I. <dam...@ya...> - 2014-11-04 00:19:15
|
I often like to define my own colormaps using hex strings, e.g. hex_list = ['#FFF295', '#FFD555', '#FF850B', '#D55000', '#D50000', '#550040', '#600080', '#000080', '#0000D5', '#0B85FF', '#55AAFF', '#95CAFF'] However, when I pass them to contourf and try to extend the colorbar... plt.contourf(x, y, data, colors=hex_list, extend='both') ... it always ends up that the color of the final segment on the extended ends of the colorbar is the same color as the extension segment (i.e. the bit in the little arrow). This happens even when hex_list is much longer than the actual number of segments required. Has anyone else had this problem? |
|
From: Andy B. <an...@in...> - 2014-11-03 22:59:54
|
Hi again,
I didn't see any on-list answer, but got an off-list suggestion to use
an rc parameter to set a LaTeX preamble. I played around a little and
thought I should report on what I found, especially since it seems that
there is room for improvement here and I'd be interested to help.
Here are the relevant rc params that I have set:
"font.size" : 17,
"font.family" : "serif",
"font.serif" : ["TeX Gyre Pagella"],
"pgf.rcfonts" : True,
"pgf.preamble": [r"\usepackage{amsmath,amssymb}",
r"\usepackage{fontspec}", r"\defaultfontfeatures{Numbers=OldStyle}"],
A couple of points to note here:
* I'm using the PGF backend -- this ran a bit faster and produced much
smaller files than MPL rendering with TeX labels (text.usetex = True).
Also, I have data files with labels using macros like \text which MPL
MathText doesn't support, so I need to be able to include amsmath.
* I've had to set TeX Gyre Pagella rather than Palatino, since this SE
question points out that fontspec's Palatino doesn't support small-caps
and old-style
figures:http://tex.stackexchange.com/questions/2994/fontspec-palatino-with-small-caps-and-old-style-figures
* Although the backend uses fontspec, I have to import it explicitly in
my preamble, because the MPL import and use of fontspec happens _after_
where the pgf.preamble key is inserted. Actually, given that I found
fontspec doesn't seem to do the right thing for most math fonts, maybe I
need to ignore the rcfonts setting and do it a bit more manually if I
want full control -- pity.
If I ask this configuration to output a PDF file, though, I don't get
old-style figures as intended. So I started looking at the generated TeX
source by outputting as .pgf and wrapping in a little LaTeX file like this:
\documentclass[12pt,minimal]{standalone}
\usepackage{pgf}
\usepackage{amsmath,amssymb}
\usepackage{fontspec}
\setmainfont[Numbers=OldStyle]{TeX Gyre Pagella}
\begin{document}
\input{plot.pgf}
\end{document}
I've attached the result of this with the default MPL .pgf output as
plot-mpldefault.pdf. A couple of things are notable in that plot:
* Old-style figures are used in the legend (where math mode is not
used), but the axis tick labels are not.
* The full-size figures on the axes are very thin weight compared to
the text axis labels -- I knew something had looked a bit wrong in the
default output!
Looking in the .pgf file, the reason is clear. The axis ticks are in
display math mode, like this:
\pgftext[x=0.987638in,y=1.778400in,right,]{{\rmfamily\fontsize{17.000000}{20.400000}\selectfont
\(\displaystyle 1.05\)}}%
^^^^^^^^^^^^^^^^^^^^^^
I removed the \(\displaystyle and \) from the file and then recompiled
with and without the Numbers=OldStyle spec in the wrapper, producing the
attached plot-textoldstyle.pdf and plot-textlining.pdf figures. In both
of these the weight of the tick labels is much more balanced with the
other labels than in the default; the old-style or lining figure style
is more a matter of personal preference, but I would like to have the
option.
Apologies for the long email! I'd appreciate any feedback. It seems that
there are a couple of small tweaks which would greatly improve the MPL
TeX/PGF output, although they probably have side-effects of which I'm
unaware:
* Don't put tick labels in math mode by default (i.e. unless a special
ticker is used). In our previous code, which I'm trying to reproduce in
MPL, even exponent-format tick labels were typeset as "10$^\text{exp}$"
which automatically gets the font weights and styles correct. Is the
current \(\displaystyle etc. specified by the default ticker or is it
specific to the PGF backend?
* I checked a bit, and fontspec seems a bit ropey when it comes to
changing math fonts to match the text font; I had to
\usepackage[osf]{mathpazo} before importing fontspec to get a correctly
weighted math font. mathspec is maybe worth investigation.
Thanks in advance, and thanks for tolerating this plot-cosmetics
obsessiveness ;-)
Andy
On 27/10/14 14:35, Andy Buckley wrote:
> Hi,
>
> I'm using MPL to implement a new plotter for a project has so far been
> using a custom-written LaTeX+pstricks script. Despite being slow and a
> bit hacky, the output is really quite nice and I want to try and emulate
> it as closely as possible via MPL; for example:
>
> https://users.hepforge.org/~buckley/atlas-py8-shower-e/ATLAS_2012_I1094568/d03-x02-y01.pdf
>
> I more or less have this working, but would really like to be able to
> use the "old-style figures" (OSF) numerals with variable baseline (aka
> lower-case or text figures cf.
> http://en.wikipedia.org/wiki/Text_figures), which give those plots quite
> a bit of their character.
>
> Probably this will anyway be possible only with the TeX or PGF backend
> to MPL, but what would be the best way to enable OSF figures from MPL?
> If I correctly understand the backend, the rc params font.family & e.g.
> font.serif are passed to the LaTeX fontspec package -- and in the
> fontspec documentation
> http://mirror.utexas.edu/ctan/macros/latex/contrib/fontspec/fontspec.pdf
> it seems that passing the Numbers=(OldStyle) option to the \fontspec
> command (or as the arg to \addfontfeature) would be the fontspec version
> of, for example, \usepackage[osf]{mathpazo}. Is there a way to pass
> options like this to fontspec? In general this would seem a useful thing
> to be able to do, since fontspec controls far more than OSFs, but I
> couldn't find a discussion of it in the docs.
>
> Hope you can help; thanks!
> Andy
>
--
Dr Andy Buckley, Royal Society University Research Fellow
Particle Physics Expt Group, University of Glasgow / PH Dept, CERN
|
|
From: Jeffrey B. <jbl...@al...> - 2014-11-03 20:09:44
|
Hi Oren, The link below leads to a recent related thread on this list. Maybe it will be informative. I believe it implies that the answer is No, you have to use TeX. http://matplotlib.1069221.n5.nabble.com/Editable-text-from-matplotlib-td44219.html -Jeff On Mon, Nov 3, 2014 at 11:40 AM, Paul Hobson <pmh...@gm...> wrote: What happens when you save as a postscript file with matplotlib.rcParams["text.usetex"] = False? -paul On Mon, Nov 3, 2014 at 7:11 AM, Oren <or...@gm...> wrote: Anyone know how to solve this thing? Thanks. On 2 November 2014 03:40, oren <or...@gm...> wrote: How can I save a matplotlib figure with text as a postscript image and that the text will be saved as text. Currently when I save the image as postscript all the text in the image ( xlabel, ylabel etc.. ) is saved as path and not as text.. Is it possible to save it as text? If I use the following code ( use latex) matplotlib.rcParams["text.usetex"] = True and save the image as postscript the text is saved as text.. But I do not want to use latex.. Is it possible without latex? Thanks Question also on stackoverflow http://stackoverflow.com/questions/26649266/matplotlib-save-image-as-postscript-when-xlabel-is-saved-as-text-and-not-path |
|
From: Paul H. <pmh...@gm...> - 2014-11-03 19:57:07
|
Can just go straight to PDF? What happens then? It might also be informative to explain why using LaTeX is undesirable in your situation. -p On Mon, Nov 3, 2014 at 11:52 AM, Oren <or...@gm...> wrote: > Thanks for the respond Paul, But It still the same... > > This is how it looks like when I use > matplotlib.rcParams["text.usetex"] = False ( or noting at all ) > > [image: Inline images 1] > > > > and this is when I use > matplotlib.rcParams["text.usetex"] = True > > [image: Inline images 2] > > > > > > As you can see, One is text and the other is path of points.. > > > Thank You, > Oren. > > > > > On 3 November 2014 21:40, Paul Hobson <pmh...@gm...> wrote: > >> What happens when you save as a postscript file with >> matplotlib.rcParams["text.usetex"] = False? >> -paul >> >> On Mon, Nov 3, 2014 at 7:11 AM, Oren <or...@gm...> wrote: >> >>> Anyone know how to solve this thing? >>> >>> Thanks. >>> >>> On 2 November 2014 03:40, oren <or...@gm...> wrote: >>> >>>> How can I save a matplotlib figure with text as a postscript image and >>>> that >>>> the text will be saved as text. Currently when I save the image as >>>> postscript all the text in the image ( xlabel, ylabel etc.. ) is saved >>>> as >>>> path and not as text.. Is it possible to save it as text? >>>> >>>> If I use the following code ( use latex) >>>> >>>> matplotlib.rcParams["text.usetex"] = True >>>> and save the image as postscript the text is saved as text.. But I do >>>> not >>>> want to use latex.. Is it possible without latex? >>>> >>>> >>>> Thanks >>>> >>>> >>>> Question also on stackoverflow >>>> >>>> http://stackoverflow.com/questions/26649266/matplotlib-save-image-as-postscript-when-xlabel-is-saved-as-text-and-not-path >>>> >>>> >>>> >>>> -- >>>> View this message in context: >>>> http://matplotlib.1069221.n5.nabble.com/matplotlib-save-image-as-postscript-when-xlabel-is-saved-as-text-and-not-path-tp44261.html >>>> Sent from the matplotlib - users mailing list archive at Nabble.com. >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> _______________________________________________ >>>> Matplotlib-users mailing list >>>> Mat...@li... >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> >>> >> > |
|
From: Paul H. <pmh...@gm...> - 2014-11-03 19:40:26
|
What happens when you save as a postscript file with matplotlib.rcParams["text.usetex"] = False? -paul On Mon, Nov 3, 2014 at 7:11 AM, Oren <or...@gm...> wrote: > Anyone know how to solve this thing? > > Thanks. > > On 2 November 2014 03:40, oren <or...@gm...> wrote: > >> How can I save a matplotlib figure with text as a postscript image and >> that >> the text will be saved as text. Currently when I save the image as >> postscript all the text in the image ( xlabel, ylabel etc.. ) is saved as >> path and not as text.. Is it possible to save it as text? >> >> If I use the following code ( use latex) >> >> matplotlib.rcParams["text.usetex"] = True >> and save the image as postscript the text is saved as text.. But I do not >> want to use latex.. Is it possible without latex? >> >> >> Thanks >> >> >> Question also on stackoverflow >> >> http://stackoverflow.com/questions/26649266/matplotlib-save-image-as-postscript-when-xlabel-is-saved-as-text-and-not-path >> >> >> >> -- >> View this message in context: >> http://matplotlib.1069221.n5.nabble.com/matplotlib-save-image-as-postscript-when-xlabel-is-saved-as-text-and-not-path-tp44261.html >> Sent from the matplotlib - users mailing list archive at Nabble.com. >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > > > > ------------------------------------------------------------------------------ > > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
|
From: Oren <or...@gm...> - 2014-11-03 15:11:58
|
Anyone know how to solve this thing? Thanks. On 2 November 2014 03:40, oren <or...@gm...> wrote: > How can I save a matplotlib figure with text as a postscript image and that > the text will be saved as text. Currently when I save the image as > postscript all the text in the image ( xlabel, ylabel etc.. ) is saved as > path and not as text.. Is it possible to save it as text? > > If I use the following code ( use latex) > > matplotlib.rcParams["text.usetex"] = True > and save the image as postscript the text is saved as text.. But I do not > want to use latex.. Is it possible without latex? > > > Thanks > > > Question also on stackoverflow > > http://stackoverflow.com/questions/26649266/matplotlib-save-image-as-postscript-when-xlabel-is-saved-as-text-and-not-path > > > > -- > View this message in context: > http://matplotlib.1069221.n5.nabble.com/matplotlib-save-image-as-postscript-when-xlabel-is-saved-as-text-and-not-path-tp44261.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: Pierre H. <pie...@cr...> - 2014-11-03 14:32:32
|
Le 02/11/2014 09:34, Scott Lasley a écrit : > I wish I could say that it was because of a deep understanding of the inner workings of matplotlib or a rock solid grasp of python 3's bytes vs strings, but it wasn't. fig.savefig threw the "TypeError: string argument expected, got 'bytes'" exception, so I figured BytesIO might work better with the binary png data than StringIO, and it did. As a side note on the "bytes vs strings" topic, there is PyCon video that I found immensely useful: Pragmatic Unicode, or How Do I Stop the Pain http://nedbatchelder.com/text/unipain.html IMHO a 30 minutes talk worth watching. best, Pierre |
|
From: Thomas C. <tca...@gm...> - 2014-11-03 14:14:18
|
Forwarding message to list that should have gone there initialy for archiving. ---------- Forwarded message ---------- From: Martin Wiebusch <mwi...@gm...> Date: Mon, Nov 3, 2014 at 8:26 AM Subject: Re: [Matplotlib-users] tex rendering broken? To: Thomas Caswell <tca...@gm...> On Mon, 2014-11-03 at 07:50 -0500, Thomas Caswell wrote: > I can not reproduce this problem on a 1.4.2 installation on my > computer. Try cleaning out the tex.cache folder in either or both of > > matplotlib.get_cachedir() or matplotlib.get_configdir(). Thanks. Clearing the cache directory did the trick. It might be a good idea to mention matplotlib.get_cachedir() and matplotlib.get_configdir() explicitly under 'Troubleshooting' on the web page. Currently there is a link which points you to matplotlib.get_configdir() (which was empty in my case) but not matplotlib.get_cachedir(). Best regards, Martin. -- Thomas Caswell tca...@gm... |
|
From: Thomas C. <tca...@gm...> - 2014-11-03 14:14:10
|
Forwarding message to list that should have gone there initialy for archiving. ---------- Forwarded message ---------- From: Thomas Caswell <tca...@gm...> Date: Mon, Nov 3, 2014 at 7:50 AM Subject: Re: [Matplotlib-users] tex rendering broken? To: Martin Wiebusch <mwi...@gm...> My first guess is that there is that some thing wrong with your latex installation as the images on the website are regenerated as part of building the documentation. I can not reproduce this problem on a 1.4.2 installation on my computer. Try cleaning out the tex.cache folder in either or both of matplotlib.get_cachedir() or matplotlib.get_configdir(). Tom On Mon, Nov 3, 2014, 06:24 Martin Wiebusch <mwi...@gm...> wrote: > I just downgraded to matplotlib 1.1.1 and now everything works. Looks > like a regression to me. > > On Fri, 2014-10-31 at 15:53 +0000, Martin Wiebusch wrote: > > I am having trouble executing the example for typesetting labels with > > latex from http://matplotlib.org/users/usetex.html. Copying the standard > > example, tex_demo.py, to a file and executing it gives the following > > output: > > > > Traceback (most recent call last): > > File "scratch.py", line 21, in <module> > > plt.savefig('tex_demo') > > File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 561, in > > savefig > > return fig.savefig(*args, **kwargs) > > File "/usr/lib/pymodules/python2.7/matplotlib/figure.py", line 1421, > > in savefig > > self.canvas.print_figure(*args, **kwargs) > > File "/usr/lib/pymodules/python2.7/matplotlib/backend_bases.py", line > > 2220, in print_figure > > **kwargs) > > File > > "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py", line > > 505, in print_png > > FigureCanvasAgg.draw(self) > > File > > "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py", line > > 451, in draw > > self.figure.draw(self.renderer) > > File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in > > draw_wrapper > > draw(artist, renderer, *args, **kwargs) > > File "/usr/lib/pymodules/python2.7/matplotlib/figure.py", line 1034, > > in draw > > func(*args) > > File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in > > draw_wrapper > > draw(artist, renderer, *args, **kwargs) > > File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 2086, in > > draw > > a.draw(renderer) > > File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in > > draw_wrapper > > draw(artist, renderer, *args, **kwargs) > > File "/usr/lib/pymodules/python2.7/matplotlib/axis.py", line 1105, in > > draw > > self.label.draw(renderer) > > File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in > > draw_wrapper > > draw(artist, renderer, *args, **kwargs) > > File "/usr/lib/pymodules/python2.7/matplotlib/text.py", line 594, in > > draw > > self._fontproperties, angle, mtext=self) > > File > > "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py", line > > 241, in draw_tex > > self._renderer.draw_text_image(Z, x, y, angle, gc) > > OverflowError: cannot convert float infinity to integer > > > > My system is > > > > Linux mwlaptop 3.16.0-24-generic #32-Ubuntu SMP Tue Oct 28 13:07:32 UTC > > 2014 x86_64 x86_64 x86_64 GNU/Linux > > > > My matplotlib version is 1.3.1, and I am using standard packages from my > > Ubuntu 14.10 distribution. > > > > > > > > ------------------------------------------------------------ > ------------------ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Thomas Caswell tca...@gm... |
|
From: Martin W. <mwi...@gm...> - 2014-11-03 11:23:01
|
I just downgraded to matplotlib 1.1.1 and now everything works. Looks like a regression to me. On Fri, 2014-10-31 at 15:53 +0000, Martin Wiebusch wrote: > I am having trouble executing the example for typesetting labels with > latex from http://matplotlib.org/users/usetex.html. Copying the standard > example, tex_demo.py, to a file and executing it gives the following > output: > > Traceback (most recent call last): > File "scratch.py", line 21, in <module> > plt.savefig('tex_demo') > File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 561, in > savefig > return fig.savefig(*args, **kwargs) > File "/usr/lib/pymodules/python2.7/matplotlib/figure.py", line 1421, > in savefig > self.canvas.print_figure(*args, **kwargs) > File "/usr/lib/pymodules/python2.7/matplotlib/backend_bases.py", line > 2220, in print_figure > **kwargs) > File > "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py", line > 505, in print_png > FigureCanvasAgg.draw(self) > File > "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py", line > 451, in draw > self.figure.draw(self.renderer) > File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in > draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "/usr/lib/pymodules/python2.7/matplotlib/figure.py", line 1034, > in draw > func(*args) > File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in > draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 2086, in > draw > a.draw(renderer) > File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in > draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "/usr/lib/pymodules/python2.7/matplotlib/axis.py", line 1105, in > draw > self.label.draw(renderer) > File "/usr/lib/pymodules/python2.7/matplotlib/artist.py", line 55, in > draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "/usr/lib/pymodules/python2.7/matplotlib/text.py", line 594, in > draw > self._fontproperties, angle, mtext=self) > File > "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py", line > 241, in draw_tex > self._renderer.draw_text_image(Z, x, y, angle, gc) > OverflowError: cannot convert float infinity to integer > > My system is > > Linux mwlaptop 3.16.0-24-generic #32-Ubuntu SMP Tue Oct 28 13:07:32 UTC > 2014 x86_64 x86_64 x86_64 GNU/Linux > > My matplotlib version is 1.3.1, and I am using standard packages from my > Ubuntu 14.10 distribution. > > |
|
From: Hartmut K. <har...@gm...> - 2014-11-03 03:31:31
|
Ian, > You are using masked arrays where you shouldn't, again. The documentation > for tricontour states that it expects z to be an array, it doesn't say > masked array. If you pass it a masked array, it will ignore the > mask. Hence you have a number of triangles that include a vertex with a > z-value of -99999; when contoured these are going to give you lots of thin > polygons that you don't want. > You need to stop using masked arrays where they are not expected. Your > triangulation should only contain triangles for which you have valid data > at all three vertices. So either remove invalid triangles from your 'ele' > array before creating the triangulation, or set a mask on the > triangulation once it has been created, e.g. > > point_mask_indices = numpy.where(z.mask) > tri_mask = numpy.any(numpy.in1d(ele, point_mask_indices).reshape(-1, > 3), axis=1) > triang.set_mask(tri_mask) Thanks very much for this explanation! With your code everything fell into place and we see the geometries we expect to see. Great library! Regards Hartmut --------------- http://boost-spirit.com http://stellar.cct.lsu.edu |
|
From: Martin W. <mwi...@gm...> - 2014-11-02 19:51:57
|
I just installed matplotlib 1.4.2 via pip, and executing the file
matplotlib-1.4.2/examples/pylab_examples/tex_demo.py from the source
tarball gives the same error:
Traceback (most recent call last):
File "matplotlib-1.4.2/examples/pylab_examples/tex_demo.py", line 29,
in <module>
plt.savefig('tex_demo')
File "/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py",
line 577, in savefig
res = fig.savefig(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/figure.py",
line 1470, in savefig
self.canvas.print_figure(*args, **kwargs)
File
"/usr/local/lib/python2.7/dist-packages/matplotlib/backend_bases.py",
line 2194, in print_figure
**kwargs)
File
"/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_gtk3agg.py", line 97, in print_png
return agg.print_png(filename, *args, **kwargs)
File
"/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.py", line 521, in print_png
FigureCanvasAgg.draw(self)
File
"/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.py", line 469, in draw
self.figure.draw(self.renderer)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/artist.py",
line 59, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/figure.py",
line 1079, in draw
func(*args)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/artist.py",
line 59, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File
"/usr/local/lib/python2.7/dist-packages/matplotlib/axes/_base.py", line
2092, in draw
a.draw(renderer)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/artist.py",
line 59, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/axis.py", line
1128, in draw
self.label.draw(renderer)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/artist.py",
line 59, in draw_wrapper
draw(artist, renderer, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/text.py", line
581, in draw
self._fontproperties, angle, mtext=mtext)
File
"/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.py", line 259, in draw_tex
self._renderer.draw_text_image(Z, x, y, angle, gc)
OverflowError: cannot convert float infinity to integer
System information
Linux mwlaptop 3.16.0-24-generic #32-Ubuntu SMP Tue Oct 28 13:07:32 UTC
2014 x86_64 x86_64 x86_64 GNU/Linux
|
|
From: Benjamin R. <ben...@ou...> - 2014-11-02 16:30:52
|
Would it make sense to at least emit a warning when a mask is encountered. There are very few places in matplotlib where masked arrays are not allowed (I think histograms is the other spot, but I can't remember for sure). On Sun, Nov 2, 2014 at 11:10 AM, Ian Thomas <ian...@gm...> wrote: > On 1 November 2014 18:20, Hartmut Kaiser <har...@gm...> wrote: > >> Thanks Ian! Your detailed answer is much appreciated. >> >> As you might have already guessed, we have quite some problems creating >> clean geometries from the generated contour data. I have tried to put >> together one (reasonably) small test case illustrating at least one of our >> issues. I apologize for the lengthy code attached. >> >> The two attached figures demonstrate what we see. Matplotlib.png >> (generated by the library) does not really look ok. Also, the attached >> shape.png shows that there are a lot of geometries generated which are >> self-intersecting (highlighted in dark blue), and we already skip polygons >> with less than 3 points. BTW, there are many polygons stacked with the same >> geometries. >> >> Anything we can do about this? >> >> Thanks! >> Regards Hartmut >> > > Hartmut, > > You are using masked arrays where you shouldn't, again. The documentation > for tricontour states that it expects z to be an array, it doesn't say > masked array. If you pass it a masked array, it will ignore the mask. > Hence you have a number of triangles that include a vertex with a z-value > of -99999; when contoured these are going to give you lots of thin polygons > that you don't want. > > You need to stop using masked arrays where they are not expected. Your > triangulation should only contain triangles for which you have valid data > at all three vertices. So either remove invalid triangles from your 'ele' > array before creating the triangulation, or set a mask on the triangulation > once it has been created, e.g. > > point_mask_indices = numpy.where(z.mask) > tri_mask = numpy.any(numpy.in1d(ele, point_mask_indices).reshape(-1, > 3), axis=1) > triang.set_mask(tri_mask) > > Ian > > > ------------------------------------------------------------------------------ > > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
|
From: Ian T. <ian...@gm...> - 2014-11-02 16:10:08
|
On 1 November 2014 18:20, Hartmut Kaiser <har...@gm...> wrote:
> Thanks Ian! Your detailed answer is much appreciated.
>
> As you might have already guessed, we have quite some problems creating
> clean geometries from the generated contour data. I have tried to put
> together one (reasonably) small test case illustrating at least one of our
> issues. I apologize for the lengthy code attached.
>
> The two attached figures demonstrate what we see. Matplotlib.png
> (generated by the library) does not really look ok. Also, the attached
> shape.png shows that there are a lot of geometries generated which are
> self-intersecting (highlighted in dark blue), and we already skip polygons
> with less than 3 points. BTW, there are many polygons stacked with the same
> geometries.
>
> Anything we can do about this?
>
> Thanks!
> Regards Hartmut
>
Hartmut,
You are using masked arrays where you shouldn't, again. The documentation
for tricontour states that it expects z to be an array, it doesn't say
masked array. If you pass it a masked array, it will ignore the mask.
Hence you have a number of triangles that include a vertex with a z-value
of -99999; when contoured these are going to give you lots of thin polygons
that you don't want.
You need to stop using masked arrays where they are not expected. Your
triangulation should only contain triangles for which you have valid data
at all three vertices. So either remove invalid triangles from your 'ele'
array before creating the triangulation, or set a mask on the triangulation
once it has been created, e.g.
point_mask_indices = numpy.where(z.mask)
tri_mask = numpy.any(numpy.in1d(ele, point_mask_indices).reshape(-1,
3), axis=1)
triang.set_mask(tri_mask)
Ian
|
|
From: Julien H. <jul...@gm...> - 2014-11-02 09:05:39
|
Well, the methodology is sufficient and efficient, I'm OK with that :) Thanks for these additional information. Regards, Le 2 nov. 2014 09:34, "Scott Lasley" <sl...@sp...> a écrit : > I wish I could say that it was because of a deep understanding of the > inner workings of matplotlib or a rock solid grasp of python 3's bytes vs > strings, but it wasn't. fig.savefig threw the "TypeError: string argument > expected, got 'bytes'" exception, so I figured BytesIO might work better > with the binary png data than StringIO, and it did. Your image URI > included base64 encoding I added the base64 code and fiddled with decoding > to get it to produce ASCII. iPython is great for this sort of playing > around with snippets of code. > > btw, if you are not aware of the pros and cons of using data uri's to > embed images take a look at this Wikipedia page for some helpful information > http://en.wikipedia.org/wiki/Data_URI_scheme > > Apologies if you were expecting a more detailed answer, > Scott > > > On Nov 1, 2014, at 4:37 PM, Julien Hillairet <jul...@gm...> > wrote: > > > Indeed, it works also for me with Python 3.3.5. > > > > Could you explain the changes you made and the reasons behind the > byte/string encoding ? > > > > Best regards, > > > > 2014-11-01 17:21 GMT+01:00 Scott Lasley <sl...@sp...>: > > This works for me with python 3.4.2 > > > > import matplotlib.pyplot as plt > > from io import BytesIO > > import base64 > > > > fig = plt.figure() > > ax = fig.add_subplot(111) > > ax.plot([1,2,3]) > > > > sio = BytesIO() > > > > fig.savefig(sio, format="png") > > > > html = """<html><body> > > <img src="data:image/png;base64,{}"/> > > </body></html>""".format(base64.encodebytes(sio.getvalue()).decode()) > > > > > > For python 2.7.8 change html =""" to > > > > html = """<html><body> > > <img src="data:image/png;base64,%s"/> > > </body></html>""" % base64.encodestring(sio.getvalue()) > > > > Best regards, > > Scott > > > > > > On Nov 1, 2014, at 7:37 AM, Julien Hillairet <jul...@gm...> > wrote: > > > > > Dear all, > > > I'm trying to write a html page content in which a png figure is > generated by matplotlib, with Python3. > > > However, the following piece of code does not work with > matplotlib/Python3 (while it should work with Python2). The error is the > following on > > > TypeError: string argument expected, got 'bytes' > > > when on fig.savefig(sio, format="png") > > > Could someone explain me how to do it ? > > > Best regards, > > > Julien > > > > > > -------------------------------------------- > > > > > > import matplotlib.pyplot as plt > > > > > > from io import StringIO > > > fig = plt.figure() > > > ax = fig.add_subplot(111) > > > ax.plot([1,2,3]) > > > > > > sio = StringIO() > > > > > > fig.savefig(sio, format="png") > > > > > > html = """<html><body> > > > ...a bunch of text and html here... > > > <img src="data:image/png;base64,%s"/> > > > ...more text and html... > > > </body></html>""" % sio.getvalue().strip() > > > > > > > ------------------------------------------------------------------------------ > > |
|
From: Scott L. <sl...@sp...> - 2014-11-02 08:34:33
|
I wish I could say that it was because of a deep understanding of the inner workings of matplotlib or a rock solid grasp of python 3's bytes vs strings, but it wasn't. fig.savefig threw the "TypeError: string argument expected, got 'bytes'" exception, so I figured BytesIO might work better with the binary png data than StringIO, and it did. Your image URI included base64 encoding I added the base64 code and fiddled with decoding to get it to produce ASCII. iPython is great for this sort of playing around with snippets of code. btw, if you are not aware of the pros and cons of using data uri's to embed images take a look at this Wikipedia page for some helpful information http://en.wikipedia.org/wiki/Data_URI_scheme Apologies if you were expecting a more detailed answer, Scott On Nov 1, 2014, at 4:37 PM, Julien Hillairet <jul...@gm...> wrote: > Indeed, it works also for me with Python 3.3.5. > > Could you explain the changes you made and the reasons behind the byte/string encoding ? > > Best regards, > > 2014-11-01 17:21 GMT+01:00 Scott Lasley <sl...@sp...>: > This works for me with python 3.4.2 > > import matplotlib.pyplot as plt > from io import BytesIO > import base64 > > fig = plt.figure() > ax = fig.add_subplot(111) > ax.plot([1,2,3]) > > sio = BytesIO() > > fig.savefig(sio, format="png") > > html = """<html><body> > <img src="data:image/png;base64,{}"/> > </body></html>""".format(base64.encodebytes(sio.getvalue()).decode()) > > > For python 2.7.8 change html =""" to > > html = """<html><body> > <img src="data:image/png;base64,%s"/> > </body></html>""" % base64.encodestring(sio.getvalue()) > > Best regards, > Scott > > > On Nov 1, 2014, at 7:37 AM, Julien Hillairet <jul...@gm...> wrote: > > > Dear all, > > I'm trying to write a html page content in which a png figure is generated by matplotlib, with Python3. > > However, the following piece of code does not work with matplotlib/Python3 (while it should work with Python2). The error is the following on > > TypeError: string argument expected, got 'bytes' > > when on fig.savefig(sio, format="png") > > Could someone explain me how to do it ? > > Best regards, > > Julien > > > > -------------------------------------------- > > > > import matplotlib.pyplot as plt > > > > from io import StringIO > > fig = plt.figure() > > ax = fig.add_subplot(111) > > ax.plot([1,2,3]) > > > > sio = StringIO() > > > > fig.savefig(sio, format="png") > > > > html = """<html><body> > > ...a bunch of text and html here... > > <img src="data:image/png;base64,%s"/> > > ...more text and html... > > </body></html>""" % sio.getvalue().strip() > > > > ------------------------------------------------------------------------------ |
|
From: oren <or...@gm...> - 2014-11-02 01:40:48
|
How can I save a matplotlib figure with text as a postscript image and that the text will be saved as text. Currently when I save the image as postscript all the text in the image ( xlabel, ylabel etc.. ) is saved as path and not as text.. Is it possible to save it as text? If I use the following code ( use latex) matplotlib.rcParams["text.usetex"] = True and save the image as postscript the text is saved as text.. But I do not want to use latex.. Is it possible without latex? Thanks Question also on stackoverflow http://stackoverflow.com/questions/26649266/matplotlib-save-image-as-postscript-when-xlabel-is-saved-as-text-and-not-path -- View this message in context: http://matplotlib.1069221.n5.nabble.com/matplotlib-save-image-as-postscript-when-xlabel-is-saved-as-text-and-not-path-tp44261.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
|
From: Benjamin R. <ben...@ou...> - 2014-11-01 20:52:33
|
Jerzy, I really do not wish to get into an argument with you. This seems to happen every time you come onto this mailing list. If "winning" this argument is so important to you, then you may have it. I will not continue to split hairs with you. Thank you for mentioning the concept of implicit surfaces and marching cubes. I am glad that is helpful to the original poster. Cheers! Ben Root On Sat, Nov 1, 2014 at 4:38 PM, Jerzy Karczmarczuk < jer...@un...> wrote: > > Le 01/11/2014 20:34, Benjamin Root a écrit : > > Actually, my response is still completely valid. You can only plot > surfaces that can be represented parametrically in two dimensions. Find me > a single plotting library that can do differently without having to get to > this final step. > > > 1. I did not claim that you said something invalid, only that it seemed > weakly appropriate for Peter Karpedjiev. > > 2. Unfortunately NOW you say something inexact. Of course you can plot > implicit surfaces without 2D parametrization. All the ray-tracing > technology is adapted to that. > > POV-Ray, etc., if you want some names. Some terrain renderers, such as > Terragen use it as well. YafaRay was once embeddable in Blender. > > I am sorry if the answer is unsatisfactory to you, but it is the correct > one to give. > > 3. But "my satisfaction" is not the issue. I tried to direct Peter in some > *usable* direction, according to my experience. > > Since the implementation of marching cubes, and other similar techniques > is awkward, not very efficient in Python (I tried it), I suggest very > strongly that Peter direct himself -at least temporarily - to the RT > methods. > > If he wishes, I might help him in private. Writing a Ray Tracer in > Python/numpy is not so difficult (I gave it as student projects a few > times), and of course everything functional may be programmed in POV-Ray. > > Best regards. > > Jerzy K. > > > > > > ------------------------------------------------------------------------------ > > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
|
From: Jerzy K. <jer...@un...> - 2014-11-01 20:38:26
|
Le 01/11/2014 20:34, Benjamin Root a écrit : > Actually, my response is still completely valid. You can only plot > surfaces that can be represented parametrically in two dimensions. > Find me a single plotting library that can do differently without > having to get to this final step. 1. I did not claim that you said something invalid, only that it seemed weakly appropriate for Peter Karpedjiev. 2. Unfortunately NOW you say something inexact. Of course you can plot implicit surfaces without 2D parametrization. All the ray-tracing technology is adapted to that. POV-Ray, etc., if you want some names. Some terrain renderers, such as Terragen use it as well. YafaRay was once embeddable in Blender. > I am sorry if the answer is unsatisfactory to you, but it is the > correct one to give. 3. But "my satisfaction" is not the issue. I tried to direct Peter in some *usable* direction, according to my experience. Since the implementation of marching cubes, and other similar techniques is awkward, not very efficient in Python (I tried it), I suggest very strongly that Peter direct himself -at least temporarily - to the RT methods. If he wishes, I might help him in private. Writing a Ray Tracer in Python/numpy is not so difficult (I gave it as student projects a few times), and of course everything functional may be programmed in POV-Ray. Best regards. Jerzy K. |
|
From: Julien H. <jul...@gm...> - 2014-11-01 20:38:01
|
Indeed, it works also for me with Python 3.3.5.
Could you explain the changes you made and the reasons behind the
byte/string encoding ?
Best regards,
2014-11-01 17:21 GMT+01:00 Scott Lasley <sl...@sp...>:
> This works for me with python 3.4.2
>
> import matplotlib.pyplot as plt
> from io import BytesIO
> import base64
>
> fig = plt.figure()
> ax = fig.add_subplot(111)
> ax.plot([1,2,3])
>
> sio = BytesIO()
>
> fig.savefig(sio, format="png")
>
> html = """<html><body>
> <img src="data:image/png;base64,{}"/>
> </body></html>""".format(base64.encodebytes(sio.getvalue()).decode())
>
>
> For python 2.7.8 change html =""" to
>
> html = """<html><body>
> <img src="data:image/png;base64,%s"/>
> </body></html>""" % base64.encodestring(sio.getvalue())
>
> Best regards,
> Scott
>
>
> On Nov 1, 2014, at 7:37 AM, Julien Hillairet <jul...@gm...>
> wrote:
>
> > Dear all,
> > I'm trying to write a html page content in which a png figure is
> generated by matplotlib, with Python3.
> > However, the following piece of code does not work with
> matplotlib/Python3 (while it should work with Python2). The error is the
> following on
> > TypeError: string argument expected, got 'bytes'
> > when on fig.savefig(sio, format="png")
> > Could someone explain me how to do it ?
> > Best regards,
> > Julien
> >
> > --------------------------------------------
> >
> > import matplotlib.pyplot as plt
> >
> > from io import StringIO
> > fig = plt.figure()
> > ax = fig.add_subplot(111)
> > ax.plot([1,2,3])
> >
> > sio = StringIO()
> >
> > fig.savefig(sio, format="png")
> >
> > html = """<html><body>
> > ...a bunch of text and html here...
> > <img src="data:image/png;base64,%s"/>
> > ...more text and html...
> > </body></html>""" % sio.getvalue().strip()
> >
> >
> ------------------------------------------------------------------------------
>
>
|