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
(3) |
2
(9) |
3
(6) |
4
(2) |
5
(19) |
6
(7) |
7
(3) |
8
(5) |
9
(6) |
10
(13) |
11
(19) |
12
(16) |
13
(9) |
14
(17) |
15
(5) |
16
(12) |
17
(12) |
18
(5) |
19
(16) |
20
(10) |
21
(9) |
22
(3) |
23
(8) |
24
(5) |
25
(13) |
26
(11) |
27
(21) |
28
(9) |
29
(11) |
30
(6) |
31
(5) |
|
|
|
|
On 2012年07月09日 7:33 AM, Brendan Barnwell wrote: > On 2012年07月09日 06:13, Benjamin Root wrote: >> On Sun, Jul 8, 2012 at 9:04 PM, Brendan Barnwell<bre...@br...>wrote: >>> cs = pyplot.contourf(x,y,z,levels=np.arange(50, 220, 20), >>> cmap=pyplot.cm.jet, extend='both') >>> cs.cmap.set_under('k') >>> cs.set_clim(50, 210) >>> cb = pyplot.colorbar(cs) >>> >>> But why do I have to do this? The whole reason I passed in my >>> specified levels was because I wanted THOSE to be the data limits. >>> Why is matplotlib expanding the data limits, and thus preventing me >>> from specifying the "out of range" color using the normal set_under >>> and set_over methods? >>> >>> >> You are right, that behavior is very inconsistent with the documentation. >> Looking over the QuadContourSet._process_levels() method, I doubt the >> problem lies there. While testing, I noticed that whatever color I set for >> set_under() was always being ignored in the colorbar. I suspect the >> problem lies there. > > You mean in the colorbar and/or set_under? I don't think so, because > the problem occurs whether or not you use a colorbar, and, at least > for me, set_under works as long as the data limits are set correctly. > If in my code above, I change set_under("k") to set_under("yellow") > or whatever else I like, that color is correctly used both in the > contourf plot and on the colorbar (on the lower arrow). The code that > I pointed to in _process_levels is setting vmin and vmax. It's > possible this isn't the root of the problem, but the code certainly > looks strange and unmotivated, and it is what's causing incorrect clim > to be set. > I assure you it was not unmotivated; but I agree that there is a problem here that needs to be solved cleanly. I will look into it. Eric
On 2012年07月09日 06:13, Benjamin Root wrote: > On Sun, Jul 8, 2012 at 9:04 PM, Brendan Barnwell<bre...@br...>wrote: >> cs = pyplot.contourf(x,y,z,levels=np.arange(50, 220, 20), >> cmap=pyplot.cm.jet, extend='both') >> cs.cmap.set_under('k') >> cs.set_clim(50, 210) >> cb = pyplot.colorbar(cs) >> >> But why do I have to do this? The whole reason I passed in my >> specified levels was because I wanted THOSE to be the data limits. >> Why is matplotlib expanding the data limits, and thus preventing me >> from specifying the "out of range" color using the normal set_under >> and set_over methods? >> >> > You are right, that behavior is very inconsistent with the documentation. > Looking over the QuadContourSet._process_levels() method, I doubt the > problem lies there. While testing, I noticed that whatever color I set for > set_under() was always being ignored in the colorbar. I suspect the > problem lies there. You mean in the colorbar and/or set_under? I don't think so, because the problem occurs whether or not you use a colorbar, and, at least for me, set_under works as long as the data limits are set correctly. If in my code above, I change set_under("k") to set_under("yellow") or whatever else I like, that color is correctly used both in the contourf plot and on the colorbar (on the lower arrow). The code that I pointed to in _process_levels is setting vmin and vmax. It's possible this isn't the root of the problem, but the code certainly looks strange and unmotivated, and it is what's causing incorrect clim to be set. -- Brendan Barnwell "Do not follow where the path may lead. Go, instead, where there is no path, and leave a trail." --author unknown
On Sun, Jul 8, 2012 at 9:04 PM, Brendan Barnwell <bre...@br...>wrote: > I just spent some time debugging an odd problem. Take this code: > > x,y = np.arange(-10,10), np.arange(-10,10) > x,y = np.meshgrid(x,y) > z = x**2+y**2 > cs = pyplot.contourf(x,y,z,levels=np.arange(50, 220, 20), > cmap=pyplot.cm.jet, extend='both') > cs.cmap.set_under('k') > cb = pyplot.colorbar(cs) > > I was expecting the set_under call to mean that contours outside > the > passed level range would be painted in that color. This seems to be > what the documentation says will happen: > > "Unless this [extend argument] is ‘neither’, contour levels are > automatically added to one or both ends of the range so that all data > are included. These added ranges are then mapped to the special > colormap values which default to the ends of the colormap range, but > can be set via matplotlib.colors.Colormap.set_under() and > matplotlib.colors.Colormap.set_over() methods." > > . . .but it doesn't work. Instead, the levels outside my specified > range show up colored the same as the lowest selected level (i.e., 50). > > I poked around in the code and found that the culprit is this > section > in matplotlib.contour.ContourSet._process_levels(): > > if self.extend in ('both', 'min'): > self.vmin = 2 * self.levels[0] - self.levels[1] > if self.extend in ('both', 'max'): > self.vmax = 2 * self.levels[-1] - self.levels[-2] > > Here, if the "extend" argument is given, the code sets the data limits > to some odd extension of the actual data limits. I can fix it and get > the correct output by resetting the data limits after plotting my > contours: > > cs = pyplot.contourf(x,y,z,levels=np.arange(50, 220, 20), > cmap=pyplot.cm.jet, extend='both') > cs.cmap.set_under('k') > cs.set_clim(50, 210) > cb = pyplot.colorbar(cs) > > But why do I have to do this? The whole reason I passed in my > specified levels was because I wanted THOSE to be the data limits. > Why is matplotlib expanding the data limits, and thus preventing me > from specifying the "out of range" color using the normal set_under > and set_over methods? > > You are right, that behavior is very inconsistent with the documentation. Looking over the QuadContourSet._process_levels() method, I doubt the problem lies there. While testing, I noticed that whatever color I set for set_under() was always being ignored in the colorbar. I suspect the problem lies there. Ben Root
Hi Eric, Jouni, Thanks for your replies. I opened an issue here: https://github.com/matplotlib/matplotlib/issues/992 and wrote an outline of how the PDF backend can be simplified by making use of gc.restore to keep track of the graphics context. In essence the PDF backend would then follow the same logic as the Cairo and Mac OS X backends, so it may be good to compare to these (especially the Cairo backend, since it's written in pure Python and easy to understand). Best, -Michiel. --- On Sun, 7/8/12, Eric Firing <ef...@ha...> wrote: > From: Eric Firing <ef...@ha...> > Subject: Re: [Matplotlib-users] Accelerating PDF saved plots > To: mat...@li... > Date: Sunday, July 8, 2012, 2:20 AM > On 2012年07月07日 7:14 PM, Michiel de > Hoon wrote: > > Hi, > > > > > What kind of outputs can these backends > create? > > > > The Mac OS X backend can create PDFs, but it simply > uses the pdf backend > > to do so, so that wouldn't help you. > > The cairo backend can create PDFs by using cairo, so > that could be worth > > trying. > > > > > Could make a simple speed comparison between > these backends > > > and the original script that uses the PDF > backend. > > > > That would be useful, but keep in mind that there would > be three options > > to compare: > > 1) The current PDF backend; > > 2) A modified PDF backend; > > 3) The cairo backend creating PDFs. > > Since we don't have 2) yet, we cannot do the full > comparison yet, but > > still it would be good to know if it is faster to > create PDFs by using > > cairo compared to the current PDF backend. > > > > > I am assuming the changes you mention > require quite some work > > > to make the PDFbackend running faster. > > > > I think it is not so bad, since it's mainly a matter of > removing the > > stuff from the PDF backend that is no longer needed. Do > we have a > > maintainer for the PDF backend? Because I would rather > rely on him/her > > to make the changes to this backend. Otherwise, I can > give it a try, but > > probably I won't be able to find the time for it within > this month. > > > > It would be a good idea to enter a Github ticket for this, > referring to > this email thread. > > Mike D. and Jouni S. have done most of the work on the pdf > backend. > > Eric > > > Best, > > -Michiel. > > > > > > > > --- On *Sat, 7/7/12, Gökhan Sever /<gok...@gm...>/* > wrote: > > > > > > From: Gökhan Sever <gok...@gm...> > > Subject: Re: [Matplotlib-users] > Accelerating PDF saved plots > > To: "Michiel de Hoon" <mjl...@ya...> > > Cc: mat...@li... > > Date: Saturday, July 7, 2012, > 9:05 PM > > > > Hi, > > > > What kind of outputs can these > backends create? I don't use MAC, so > > my question is particularly for > the Cairo backend. Could make a > > simple speed comparison between > these backends and the original > > script that uses the PDF > backend. I am assuming the changes you > > mention require quite some work > to make the PDFbackend running faster. > > > > Thanks. > > > > On Sat, Jul 7, 2012 at 9:40 AM, > Michiel de Hoon <mjl...@ya... > > </mc/compose?to=mjl...@ya...>> > wrote: > > > > One reason behind > the lengthy plot creation times is likely the > > PDF backend > itself. > > > > Whereas the Mac > OS X and the Cairo backends make use of new_gc > > and gc.restore to > keep track of the graphics context, the PDF > > backend uses > check_gc and an internal stack of graphics > > contexts. Since > nowadays matplotlib has gc.restore > > functionality, I > don't think that that is needed any more. > > > > See this revision > for when gc.restore was added to matplotlib: > > > > http://matplotlib.svn.sourceforge.net/viewvc/matplotlib?view=revision&revision=7112 > > > > In the same > revision the Mac OS X and Cairo backends were > > modified to make > use of gc.restore. The PDF backend (and the > > postscript > backend also, btw) can be simplified in the same way > > to speed up these > backends, as well as to reduce the output file > > sizes. > > > > Best, > > -Michiel. > > > > --- On *Thu, > 7/5/12, Gökhan Sever /<gok...@gm... > > > </mc/compose?to=gok...@gm...>>/* > wrote: > > > > > > > From: Gökhan Sever <gok...@gm... > > > </mc/compose?to=gok...@gm...>> > > > Subject: Re: [Matplotlib-users] > Accelerating PDF saved plots > > To: > "Benjamin Root" <ben...@ou... > > > </mc/compose?to=ben...@ou...>> > > Cc: > mat...@li... > > > </mc/compose?to=mat...@li...> > > > Date: Thursday, July 5, 2012, 2:11 PM > > > > > > > > > 38 * 16 = 608 > > > 80 / 608 = 0.1316 seconds per plot > > > > > At this point, I doubt you are going to > get much more > > > speed-ups. Glad to be of help! > > > > > Fabrice -- Good suggestion! I should > have thought of > > > that given how much I use that technique > in doing animation. > > > > > Ben Root > > > > > > I > am including profiled runs for the records --only first 10 > > > lines to keep e-mail shorter. Total times > are longer > > > comparing to the raw run -p executions. I > believe profiled > > run > has its own call overhead. > > > > I1 > run -p test_speed.py > > > 171889738 function calls (169109959 > primitive calls) in > > > 374.311 seconds > > > > > Ordered by: internal time > > > > > ncalls tottime percall > cumtime percall > > > filename:lineno(function) > > > 4548012 34.583 > 0.000 34.583 0.000 > > > {numpy.core.multiarray.array} > > > 1778401 21.012 > 0.000 46.227 0.000 > > > path.py:86(__init__) > > > 521816 17.844 > 0.000 17.844 0.000 > > > artist.py:74(__init__) > > > 2947090 15.432 > 0.000 15.432 0.000 > > > weakref.py:243(__init__) > > > 1778401 9.515 0.000 > 9.515 0.000 {method 'all' > > of > 'numpy.ndarray' objects} > > > 13691669 8.654 > 0.000 8.654 0.000 {getattr} > > > 1085280 8.550 > 0.000 17.629 0.000 > > > core.py:2749(_update_from) > > > 1299904 7.809 > 0.000 76.060 0.000 > > > markers.py:115(_recache) > > > 38 7.378 > 0.194 7.378 0.194 {gc.collect} > > > 13564851 6.768 > 0.000 6.768 0.000 {isinstance} > > > > > > > > > > I1 > run -p test_speed3.py > > > 61658708 function calls (60685172 > primitive calls) in > > > 100.934 seconds > > > > > Ordered by: internal time > > > > > ncalls tottime percall > cumtime percall > > > filename:lineno(function) > > > 937414 6.638 > 0.000 6.638 0.000 > > > {numpy.core.multiarray.array} > > > 374227 4.377 > 0.000 7.500 0.000 > > > path.py:198(iter_segments) > > > 6974613 3.866 0.000 > 3.866 0.000 {getattr} > > > 542640 3.809 > 0.000 7.900 0.000 > > > core.py:2749(_update_from) > > > 141361 3.665 > 0.000 7.136 0.000 > > > transforms.py:99(invalidate) > > > 324688/161136 2.780 > 0.000 27.747 0.000 > > > transforms.py:1729(transform) > > > 64448 2.753 > 0.000 64.921 0.001 > > > lines.py:463(draw) > > > 231195 2.748 > 0.000 7.072 0.000 > > > path.py:86(__init__) > > > 684970/679449 2.679 > 0.000 3.888 0.000 > > > backend_pdf.py:128(pdfRepr) > > > 67526 2.651 0.000 > 7.522 0.000 > > > backend_pdf.py:1226(pathOperations) > > > > > > > > -- > > > Gökhan > > > > > -----Inline Attachment Follows----- > > > > > > > ------------------------------------------------------------------------------ > > > Live Security Virtual Conference > > > Exclusive live event will cover all the > ways today's > > > security and > > > threat landscape has changed and how IT > managers can > > > respond. Discussions > > > will include endpoint security, mobile > security and the > > > latest in malware > > > threats. > > http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > > > > > -----Inline Attachment Follows----- > > > > > > > _______________________________________________ > > > Matplotlib-users mailing list > > Mat...@li... > > > <http://mc/compose?to=Mat...@li...> > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > > > > > > > -- > > Gökhan > > > > > > > > > ------------------------------------------------------------------------------ > > Live Security Virtual Conference > > Exclusive live event will cover all the ways today's > security and > > threat landscape has changed and how IT managers can > respond. Discussions > > will include endpoint security, mobile security and the > latest in malware > > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > > > > > > > > _______________________________________________ > > Matplotlib-users mailing list > > Mat...@li... > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's > security and > threat landscape has changed and how IT managers can > respond. Discussions > will include endpoint security, mobile security and the > latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
Hi Ben ! nope, ESC does not help. By the way do you have any tip on working with key modifiers? Thanks a lot, Best JF - Helmholtz Zentrum Geesthacht Institut für Werkstoffforschung Abteilung WPN, Instrument REFSANS Lichtenbergstr. 1 85747 Garching FRM II Tel.: +49 (0)89 289 10762 Internet: http://www.frm2.tum.de ---...@gm... schrieb: ----- An: Jea...@hz... Von: Benjamin Root Gesendet von: ben...@gm... Datum: 07/06/2012 07:32PM Kopie: mat...@li... Betreff: Re: [Matplotlib-users] conflicts with navigation bar events Right, I forgot about that. I am trying to dig through my code to figure out what I did to make this problem go away. In the meantime, does hitting "ESC" at least get you around the problem? Ben Root ----------------------------------------- On Wed, Jul 4, 2012 at 3:15 AM, <Jea...@hz...> wrote: Hi Ben, thanks for the tip! I nevertheless hit another snag: In [12]: [(k,p.rcParams[k]) for k in p.rcParams.keys() if 'keymap' in k] Out[12]: [('keymap.all_axes', ['a']), ('keymap.back', ['left', 'c', 'backspace']), ('keymap.forward', ['right', 'v']), ('keymap.fullscreen', ['f']), ('keymap.grid', ['g']), ('keymap.home', ['h', 'r', 'home']), ('keymap.pan', ['p']), ('keymap.save', ['s']), ('keymap.xscale', ['k', 'L']), ('keymap.yscale', ['l']), ('keymap.zoom', ['o'])] Meaning that up and down ar not in the mapping... Any clue? Thanks again Cheers JF Helmholtz-Zentrum Geesthacht Zentrum für Material- und Küstenforschung GmbH Max-Planck-Straße 1 I 21502 Geesthacht I Deutschland/Germany Geschäftsführer/Board of Management: Prof. Dr. Wolfgang Kaysser, Dipl.-Ing. Michael Ganß Vorsitzender des Aufsichtsrates/Chairman of the Supervisory Board: MinDirig Wilfried Kraus Amtsgericht Lübeck HRB 285 GE (Register Court) Internet: http://www.hzg.de
I just spent some time debugging an odd problem. Take this code: x,y = np.arange(-10,10), np.arange(-10,10) x,y = np.meshgrid(x,y) z = x**2+y**2 cs = pyplot.contourf(x,y,z,levels=np.arange(50, 220, 20), cmap=pyplot.cm.jet, extend='both') cs.cmap.set_under('k') cb = pyplot.colorbar(cs) I was expecting the set_under call to mean that contours outside the passed level range would be painted in that color. This seems to be what the documentation says will happen: "Unless this [extend argument] is ‘neither’, contour levels are automatically added to one or both ends of the range so that all data are included. These added ranges are then mapped to the special colormap values which default to the ends of the colormap range, but can be set via matplotlib.colors.Colormap.set_under() and matplotlib.colors.Colormap.set_over() methods." . . .but it doesn't work. Instead, the levels outside my specified range show up colored the same as the lowest selected level (i.e., 50). I poked around in the code and found that the culprit is this section in matplotlib.contour.ContourSet._process_levels(): if self.extend in ('both', 'min'): self.vmin = 2 * self.levels[0] - self.levels[1] if self.extend in ('both', 'max'): self.vmax = 2 * self.levels[-1] - self.levels[-2] Here, if the "extend" argument is given, the code sets the data limits to some odd extension of the actual data limits. I can fix it and get the correct output by resetting the data limits after plotting my contours: cs = pyplot.contourf(x,y,z,levels=np.arange(50, 220, 20), cmap=pyplot.cm.jet, extend='both') cs.cmap.set_under('k') cs.set_clim(50, 210) cb = pyplot.colorbar(cs) But why do I have to do this? The whole reason I passed in my specified levels was because I wanted THOSE to be the data limits. Why is matplotlib expanding the data limits, and thus preventing me from specifying the "out of range" color using the normal set_under and set_over methods? -- Brendan Barnwell "Do not follow where the path may lead. Go, instead, where there is no path, and leave a trail." --author unknown