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: Joe K. <jof...@gm...> - 2014-09-16 11:45:28
|
A quick way to do this is ``ax.invert_yaxis()`` (and invert_xaxis() for the x-axis). That way you preserve auto-scaling and don't wind up with manually set axis limits. What you did should have worked, but ``ymin`` and ``ymax`` are probably datetime objects. ``ylim`` isn't smart enough to convert them to the datetime units that matplotlib uses internally. Hope that helps! -Joe On Tue, Sep 16, 2014 at 4:00 AM, Gerd Wellenreuther < Ger...@xf...> wrote: > Dear all, > > I hope some of you could help me out. I am currently trying to generate > some timetables using matplotlib.pyplot.plot_date, having the time-axis > on the y-axis. Typically, one would like to read these plots from top to > bottom, from older to newer items (future on the bottom). Unfortunately, > the default enumeration of the y-axis is the other way around, and it > resists my attempts to invert its direction e.g. by changing limits > using matplotlib.pyplot.ylim (Traceback below). I found a quite old > entry in stackoverflow which is most probably outdated, at least the > proposed solution did not work for me... > ( > http://stackoverflow.com/questions/5804969/displaying-an-inverted-vertical-date-axis > ). > > Since the longish traceback seems to try to tell me I did not understand > some kind of important - even trivial - point about those datetime-axis > maybe some of you came about this problem before? > > Thanks, Gerd > > P.S.: Traceback after trying to use something like > "matplotlib.pyplot.ylim(ymax,ymin)": > > Traceback (most recent call last): > > File "C:\Users\gwellenr\Desktop\Test_Sabine\Plot_csv.py", line 187, > > in <module> > > matplotlib.pyplot.savefig(save_path+'test.png') > > File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 561, > > in savefig > > return fig.savefig(*args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line > > 1421, in savefig > > self.canvas.print_figure(*args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", > > line 2220, in print_figure > > **kwargs) > > File > > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", > > line 505, in print_png > > FigureCanvasAgg.draw(self) > > File > > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", > > line 451, in draw > > self.figure.draw(self.renderer) > > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > > in draw_wrapper > > draw(artist, renderer, *args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line > > 1034, in draw > > func(*args) > > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > > in draw_wrapper > > draw(artist, renderer, *args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 2086, > > in draw > > a.draw(renderer) > > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > > in draw_wrapper > > draw(artist, renderer, *args, **kwargs) > > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 1091, > > in draw > > ticks_to_draw = self._update_ticks(renderer) > > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 945, > > in _update_ticks > > tick_tups = [t for t in self.iter_ticks()] > > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 889, > > in iter_ticks > > majorLocs = self.major.locator() > > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 802, > > in __call__ > > self.refresh() > > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 820, > > in refresh > > self._locator = self.get_locator(dmin, dmax) > > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 896, > > in get_locator > > raise ValueError('No sensible date limit could be found in the ' > > ValueError: No sensible date limit could be found in the AutoDateLocator. > > > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce. > Perforce version control. Predictably reliable. > > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: Gerd W. <Ger...@xf...> - 2014-09-16 09:17:54
|
Dear all, I hope some of you could help me out. I am currently trying to generate some timetables using matplotlib.pyplot.plot_date, having the time-axis on the y-axis. Typically, one would like to read these plots from top to bottom, from older to newer items (future on the bottom). Unfortunately, the default enumeration of the y-axis is the other way around, and it resists my attempts to invert its direction e.g. by changing limits using matplotlib.pyplot.ylim (Traceback below). I found a quite old entry in stackoverflow which is most probably outdated, at least the proposed solution did not work for me... (http://stackoverflow.com/questions/5804969/displaying-an-inverted-vertical-date-axis). Since the longish traceback seems to try to tell me I did not understand some kind of important - even trivial - point about those datetime-axis maybe some of you came about this problem before? Thanks, Gerd P.S.: Traceback after trying to use something like "matplotlib.pyplot.ylim(ymax,ymin)": > Traceback (most recent call last): > File "C:\Users\gwellenr\Desktop\Test_Sabine\Plot_csv.py", line 187, > in <module> > matplotlib.pyplot.savefig(save_path+'test.png') > File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 561, > in savefig > return fig.savefig(*args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line > 1421, in savefig > self.canvas.print_figure(*args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", > line 2220, in print_figure > **kwargs) > File > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", > line 505, in print_png > FigureCanvasAgg.draw(self) > File > "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", > line 451, in draw > self.figure.draw(self.renderer) > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > in draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\figure.py", line > 1034, in draw > func(*args) > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > in draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 2086, > in draw > a.draw(renderer) > File "C:\Python27\lib\site-packages\matplotlib\artist.py", line 55, > in draw_wrapper > draw(artist, renderer, *args, **kwargs) > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 1091, > in draw > ticks_to_draw = self._update_ticks(renderer) > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 945, > in _update_ticks > tick_tups = [t for t in self.iter_ticks()] > File "C:\Python27\lib\site-packages\matplotlib\axis.py", line 889, > in iter_ticks > majorLocs = self.major.locator() > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 802, > in __call__ > self.refresh() > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 820, > in refresh > self._locator = self.get_locator(dmin, dmax) > File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 896, > in get_locator > raise ValueError('No sensible date limit could be found in the ' > ValueError: No sensible date limit could be found in the AutoDateLocator. |
|
From: Paul H. <pmh...@gm...> - 2014-09-15 16:44:34
|
Yes. They are on the same webpage to which I linked earlier. http://matplotlib.org/search.html?q=codex+webagg&check_keywords=yes&area=default On Mon, Sep 15, 2014 at 9:28 AM, Tom Young <xia...@gm...> wrote: > Thank you for your quick answer. I understand the performance issue you > mentioned. For now it is only a proof of concept. > > I just figured out how to do it in theory by using > figure.subplot.left|right|bottom|top plus a few other settings. > > I'll certainly look at the webagg backend. Are there any examples > available? > > > > -- > View this message in context: > http://matplotlib.1069221.n5.nabble.com/zoom-a-plot-tp43952p43954.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce > Perforce version control. Predictably reliable. > > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: Tom Y. <xia...@gm...> - 2014-09-15 16:29:03
|
Thank you for your quick answer. I understand the performance issue you mentioned. For now it is only a proof of concept. I just figured out how to do it in theory by using figure.subplot.left|right|bottom|top plus a few other settings. I'll certainly look at the webagg backend. Are there any examples available? -- View this message in context: http://matplotlib.1069221.n5.nabble.com/zoom-a-plot-tp43952p43954.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
|
From: Paul H. <pmh...@gm...> - 2014-09-15 16:09:36
|
I don't think you'll get acceptable performance out of that workflow. I recommend looking into the webagg backend: http://matplotlib.org/users/whats_new.html#webagg-backend On Mon, Sep 15, 2014 at 8:38 AM, Xiaobo Yang <xia...@gm...> wrote: > Hi, I use matplotlib to create a png file, then display it in a web > browser. All works fine. Now I want to zoom the plot. What I can think of > is: > > 1) Get coordinates (x1, y1), (x2, y2) of the image when user makes an area > selection on the image; > > 2) Convert (x1, y1), (x2, y2) to the real values matplotlib was plotting; > > 3) Request matplotlib to create a new png file using the updated area > values. > > Could anybody please let me know how to accomplish step 2? > > Many thanks, > Tom > > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce > Perforce version control. Predictably reliable. > > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
|
From: Xiaobo Y. <xia...@gm...> - 2014-09-15 15:38:34
|
Hi, I use matplotlib to create a png file, then display it in a web browser. All works fine. Now I want to zoom the plot. What I can think of is: 1) Get coordinates (x1, y1), (x2, y2) of the image when user makes an area selection on the image; 2) Convert (x1, y1), (x2, y2) to the real values matplotlib was plotting; 3) Request matplotlib to create a new png file using the updated area values. Could anybody please let me know how to accomplish step 2? Many thanks, Tom |
|
From: <kei...@bt...> - 2014-09-15 12:46:13
|
python 3.3.2, everything else is whatever Ubuntu 14.04 amd64 uses in its latest updates. kbriggs:~> cat bug.py #!/usr/bin/env python3 from matplotlib import pyplot as plt plt.matshow([[0.0]]) kbriggs:~> ./bug.py Error in atexit._run_exitfuncs: AttributeError: 'FigureManagerGTK3Cairo' object has no attribute 'canvas' ________________________________________ From: Thomas Caswell [tca...@gm...] Sent: 15 September 2014 13:38 To: Briggs,KM,Keith,TUB2 R Cc: mat...@li... Subject: Re: [Matplotlib-users] Error in atexit._run_exitfuncs What versions of things are you using (python, mpl, gtk, gtk's python bindings, and cairo) and how did you install them? Can you also include the full backtrace? On Mon, Sep 15, 2014 at 8:28 AM, <kei...@bt...> wrote: > How's this for minimal? > > from matplotlib import pyplot as plt > plt.matshow([[0.0]]) > > It crashes with the FigureManagerGTK3Cairo error. > Keith > > > -----Original Message----- > From: Thomas Caswell [mailto:tca...@gm...] > Sent: 15 September 2014 13:23 > To: Briggs,KM,Keith,TUB2 R > Cc: mat...@li... > Subject: Re: [Matplotlib-users] Error in atexit._run_exitfuncs > > Can you provide a minimal example that will trigger the bug? > > From the description you have given we don't have enough information to diagnose the problem. > > Ben thinks this is related to some long-standing issues, if you could help us track them down it would be greatly appreciated. > > Tom > > On Mon, Sep 15, 2014 at 7:19 AM, keithbriggs <kei...@bt...> wrote: >> I am still getting this error, this time with matplotlib.pyplot.matshow, and >> I do not get any plot. This bug really needs to be fixed! >> >> >> >> -- >> View this message in context: >> http://matplotlib.1069221.n5.nabble.com/Error-in-atexit-run-exitfuncs- >> tp43566p43947.html Sent from the matplotlib - users mailing list >> archive at Nabble.com. >> >> ---------------------------------------------------------------------- >> -------- >> Want excitement? >> Manually upgrade your production database. >> When you want reliability, choose Perforce Perforce version control. >> Predictably reliable. >> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg. >> clktrk _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > -- > Thomas Caswell > tca...@gm... -- Thomas Caswell tca...@gm... |
|
From: <kei...@bt...> - 2014-09-15 12:41:35
|
How's this for minimal? from matplotlib import pyplot as plt plt.matshow([[0.0]]) It crashes with the FigureManagerGTK3Cairo error. Keith -----Original Message----- From: Thomas Caswell [mailto:tca...@gm...] Sent: 15 September 2014 13:23 To: Briggs,KM,Keith,TUB2 R Cc: mat...@li... Subject: Re: [Matplotlib-users] Error in atexit._run_exitfuncs Can you provide a minimal example that will trigger the bug? From the description you have given we don't have enough information to diagnose the problem. Ben thinks this is related to some long-standing issues, if you could help us track them down it would be greatly appreciated. Tom On Mon, Sep 15, 2014 at 7:19 AM, keithbriggs <kei...@bt...> wrote: > I am still getting this error, this time with matplotlib.pyplot.matshow, and > I do not get any plot. This bug really needs to be fixed! > > > > -- > View this message in context: > http://matplotlib.1069221.n5.nabble.com/Error-in-atexit-run-exitfuncs- > tp43566p43947.html Sent from the matplotlib - users mailing list > archive at Nabble.com. > > ---------------------------------------------------------------------- > -------- > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce Perforce version control. > Predictably reliable. > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg. > clktrk _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Thomas Caswell tca...@gm... |
|
From: Thomas C. <tca...@gm...> - 2014-09-15 12:38:38
|
What versions of things are you using (python, mpl, gtk, gtk's python bindings, and cairo) and how did you install them? Can you also include the full backtrace? On Mon, Sep 15, 2014 at 8:28 AM, <kei...@bt...> wrote: > How's this for minimal? > > from matplotlib import pyplot as plt > plt.matshow([[0.0]]) > > It crashes with the FigureManagerGTK3Cairo error. > Keith > > > -----Original Message----- > From: Thomas Caswell [mailto:tca...@gm...] > Sent: 15 September 2014 13:23 > To: Briggs,KM,Keith,TUB2 R > Cc: mat...@li... > Subject: Re: [Matplotlib-users] Error in atexit._run_exitfuncs > > Can you provide a minimal example that will trigger the bug? > > From the description you have given we don't have enough information to diagnose the problem. > > Ben thinks this is related to some long-standing issues, if you could help us track them down it would be greatly appreciated. > > Tom > > On Mon, Sep 15, 2014 at 7:19 AM, keithbriggs <kei...@bt...> wrote: >> I am still getting this error, this time with matplotlib.pyplot.matshow, and >> I do not get any plot. This bug really needs to be fixed! >> >> >> >> -- >> View this message in context: >> http://matplotlib.1069221.n5.nabble.com/Error-in-atexit-run-exitfuncs- >> tp43566p43947.html Sent from the matplotlib - users mailing list >> archive at Nabble.com. >> >> ---------------------------------------------------------------------- >> -------- >> Want excitement? >> Manually upgrade your production database. >> When you want reliability, choose Perforce Perforce version control. >> Predictably reliable. >> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg. >> clktrk _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > -- > Thomas Caswell > tca...@gm... -- Thomas Caswell tca...@gm... |
|
From: Thomas C. <tca...@gm...> - 2014-09-15 12:22:53
|
Can you provide a minimal example that will trigger the bug? >From the description you have given we don't have enough information to diagnose the problem. Ben thinks this is related to some long-standing issues, if you could help us track them down it would be greatly appreciated. Tom On Mon, Sep 15, 2014 at 7:19 AM, keithbriggs <kei...@bt...> wrote: > I am still getting this error, this time with matplotlib.pyplot.matshow, and > I do not get any plot. This bug really needs to be fixed! > > > > -- > View this message in context: http://matplotlib.1069221.n5.nabble.com/Error-in-atexit-run-exitfuncs-tp43566p43947.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce > Perforce version control. Predictably reliable. > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Thomas Caswell tca...@gm... |
|
From: keithbriggs <kei...@bt...> - 2014-09-15 11:36:31
|
I am still getting this error, this time with matplotlib.pyplot.matshow, and I do not get any plot. This bug really needs to be fixed! -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Error-in-atexit-run-exitfuncs-tp43566p43947.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
|
From: Antony L. <ant...@be...> - 2014-09-12 19:22:24
|
Hi, I have a plot with 9 lines, representing datasets with two varying parameters, say f_11, f_12, f_13, ..., f_33. To make the plot (a bit) clearer, I encode the first parameter as the color of the line and the second one as the linestyle (so f_11 is red & dashed, f12 is red & dotted, f21 is green & dashed, f22 is green & dotted, etc.). So, for the legend, I would like to make a 3x3 table, looking like param1 \ param2 | value1 | value2 | value3 ------------------------------------------------------------- value1| value2| <artists go there> value3| (it probably is going to look terrible in a proportional font but hopefully you get the idea...). Is there any way I can make this with matplotlib? An idea would be to make this box with LaTeX, but I need a way to plot the legend artists at the right position. Thanks, Antony |
|
From: ConcreteVitamin <con...@gm...> - 2014-09-12 18:00:57
|
Hi matplotlib-users@, I have a graph that looks like this [1], in which each line has different markers for the same number of points. I'd like to add a separate "legend box" (like the one already in the graph) for the markers only: <circle>: description for circle <right triangle>: description for right triangle [1] http://imgur.com/tmFpix1 |
|
From: Nicolas P. R. <Nic...@in...> - 2014-09-11 18:12:42
|
Hi all, I'm very pleased to announce the publication of a paper I've written with Michael Droettboom and Philip E. Bourne. Ten Simple Rules for Better Figures Nicolas P. Rougier, Michael Droettboom, Philip E. Bourne PLOS Computational Biology URL: http://www.ploscompbiol.org/article/info:doi/10.1371/journal.pcbi.1003833 All the figures have been made using matplotlib and sources are available from: https://github.com/rougier/ten-rules We even managed to use the XKCD filter ! Thanks a lot for this great library. Nicolas |
|
From: Ryan N. <rne...@gm...> - 2014-09-11 17:40:02
|
Jonno, Unfortunately, I'm not sure that the matplotlibrc file will cover every type of customization. If you don't find it on the customization page ( http://matplotlib.org/users/customizing.html), then it might not be possible to have it be a default. In principle, I like the matplotlibrc file; however, it does cause some problems if you are distributing code to colleagues. When they run your code, the plots will not look the same unless they have your rc parameters as well. Perhaps an alternative would be to write a small module that you could import/distribute. Set the PYTHONPATH variable ( https://docs.python.org/2/using/cmdline.html#environment-variables), so that it is importable in any script. It could look something like this: ### mpl_format.py ### import matplotlib.pyplot as plt plt.rc('lines', linewidth=2, color='r') plt.rc('font', size=16.0) def ax_format(axes): axes.get_xaxis().tick_bottom() axes.get_yaxis().tick_left() ######### And then in your code, you could do something like this: ### fake_example.py ### import matplotlib.pyplot as plt import mpl_format ax = plt.axes() ax.plot([1,3,7], [-1, 4, 2], 'o-') mpl_format.ax_format(ax) plt.show() ######## I hope this helps. Ryan On Thu, Sep 11, 2014 at 1:18 PM, Jonno <jon...@gm...> wrote: > I'm looking for some help understanding how I can add new lines to my > matplotlibrc but I'm struggling to correlate the default matplotlibrc to > the api. > > For example if I want to have axis ticks only show up on the bottom and > left axes how would I add that to mapltlotlibrc? > I can do this in my code with: > ax.get_xaxis().tick_bottom() > ax.get_yaxis().tick_left() > But don't get how to do it using the documentation at > http://matplotlib.org/api/axis_api.html > > Thanks, > > Jonno. > > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce > Perforce version control. Predictably reliable. > > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
|
From: Jonno <jon...@gm...> - 2014-09-11 17:18:50
|
I'm looking for some help understanding how I can add new lines to my matplotlibrc but I'm struggling to correlate the default matplotlibrc to the api. For example if I want to have axis ticks only show up on the bottom and left axes how would I add that to mapltlotlibrc? I can do this in my code with: ax.get_xaxis().tick_bottom() ax.get_yaxis().tick_left() But don't get how to do it using the documentation at http://matplotlib.org/api/axis_api.html Thanks, Jonno. |
|
From: Benjamin R. <ben...@ou...> - 2014-09-10 18:33:57
|
Off the bat, all I can think of is to use figimage: http://matplotlib.org/api/pyplot_api.html?highlight=figimage#matplotlib.pyplot.figimage Of course, an issue is how to determine the location for the flags. Perhaps one could take advantage of each label object's position and transform that into figure coordinates. Or possibly with just simply imshow(), but specifying the extents determined from the label object's position. Cheers! Ben Root On Sat, Sep 6, 2014 at 9:34 PM, fizix137 <fiz...@gm...> wrote: > My full question is in stack overflow. Basically I want to add an image > of a > flag into each of the wedges of a pie chart. The wedges will never be > smaller than 1/8 of the pie so the flag should always fit nicely. > > I can't figure out how to get an image to be inside a wedge. That's what I > need help with. > > Thanks! > > > http://stackoverflow.com/questions/25596938/matplotlib-applying-an-image-as-the-background-of-a-matplotlib-wedge > > > > -- > View this message in context: > http://matplotlib.1069221.n5.nabble.com/Get-an-image-into-a-wedge-of-a-pie-chart-tp43899.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Slashdot TV. > Video for Nerds. Stuff that matters. > http://tv.slashdot.org/ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: Arnaldo R. <arn...@gm...> - 2014-09-10 12:06:45
|
Hi, Thanks a lot for the clue, Pierre. Unicode fix this thread, at least for my case. Cheers, Arnaldo. --- *Arnaldo D'Amaral Pereira Granja Russo* Lab. de Estudos dos Oceanos e Clima Instituto de Oceanografia - FURG 2014-09-08 7:06 GMT-03:00 Pierre Haesssig <pie...@cr...>: > > Le 05/09/2014 21:53, Arnaldo Russo a écrit : > >> The following code plots my table, but greek letters are not in Arial. >> > What about adding greek letters directly with a Unicode string and keeping > LaTex only for the table? > > best, > Pierre > > (my greek and math unicode "copy-pasting files" attached) > > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce > Perforce version control. Predictably reliable. > > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
|
From: partha <gho...@gm...> - 2014-09-09 15:47:09
|
Dear All,
I am using Python 3.4.1 on Debian. Matplotlib works fine for me, but when I
try to save the animation using moviewriter I get error.
My program file:
************************** short test
program**************************************
#!/usr/bin/env python3
from matplotlib import animation as anim
from matplotlib import pyplot as plt
import numpy as np
fig = plt.figure() # the basic canvas
plt.axis([-1,1,-1,1]) # set the x-axis
abcissa, = plt.plot([],[], color='black')
# initialise the x-axis
graph, = plt.plot([], [], color='blue')
# initialise the graph
t, = plt.plot([],[], color='red')
def init():
x = np.arange(-1,1,0.01)# the x-values
y = np.sin(np.pi/2 * x)
abcissa.set_data(x, 0) # draw the x-axis
graph.set_data(x, y) # draw the graph
return abcissa, graph
def animate(i):
p = -1 + i*0.02 # the pt p where the tangent is to be drawn
tx = [p-1,p+1]
ty = [np.sin(np.pi/2 * p) - np.pi/2 * np.cos(np.pi/2 *p),
np.sin(np.pi/2 * p) + np.pi/2 * np.cos(np.pi/2 *p)]
t.set_data(tx, ty)
return t,
ani = anim.FuncAnimation(fig, animate, init_func=init,
frames=100, interval=30, blit=True)
##plt.show()
Writer = anim.writers['ffmpeg']
writer = Writer(fps=15, bitrate=1800)
ani.save('test.mp4', writer=writer)
********************end of
program*************************************************
plt.show() shows correctly; on trying to save as above I get the following
error:
**************error from python
******************************************************
Traceback (most recent call last):
File "/home/partha/নথিপত্র/স্বরচিত/আমারপ্রোগ্রাম/test.py", line 48, in
<module>
ani.save('test.mp4', writer=writer)
File "/usr/lib/python3/dist-packages/matplotlib/animation.py", line 719,
in save
writer.grab_frame(**savefig_kwargs)
File "/usr/lib/python3/dist-packages/matplotlib/animation.py", line 205,
in grab_frame
dpi=self.dpi, **savefig_kwargs)
File "/usr/lib/python3/dist-packages/matplotlib/figure.py", line 1422, in
savefig
self.canvas.print_figure(*args, **kwargs)
File "/usr/lib/python3/dist-packages/matplotlib/backend_bases.py", line
2225, in print_figure
self.figure.dpi = origDPI
File "/usr/lib/python3/dist-packages/matplotlib/figure.py", line 385, in
_set_dpi
self.dpi_scale_trans.clear().scale(dpi, dpi)
File "/usr/lib/python3/dist-packages/matplotlib/transforms.py", line 1786,
in clear
self._mtx = np.identity(3)
File "/usr/lib/python3/dist-packages/numpy/core/numeric.py", line 2053, in
identity
from numpy import eye
File "<frozen importlib._bootstrap>", line 2280, in _handle_fromlist
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0:
invalid start byte
*************end of
error****************************************************
As you can see from the first line of the error, my locale is set to bn_IN
(Bengali, India).
Any help in trying to resolve this problem would be highly appreciated.
With my thanks and regards,
partha
--
View this message in context: http://matplotlib.1069221.n5.nabble.com/matplotlib-error-on-trying-to-use-moviewriter-tp43916.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
|
|
From: Raffaele Q. <raf...@li...> - 2014-09-09 13:59:51
|
Hi Ben and Ryan, I will try to figure out as it works. Thank you. Regards, Raf -----Original Message----- From: ben...@gm... on behalf of Benjamin Root Sent: Tue 9/9/2014 3:25 PM To: Ryan Nelson Cc: Raffaele Quarta; Matplotlib Users Subject: Re: [Matplotlib-users] Plotting large file (NetCDF) Most of the time, you will not need to use meshgrid. Take advantage of numpy's broadcasting feature: http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html It saves *significantly* on memory and processing time. Most of Matplotlib's plotting functions work well with broadcastable inputs, so that is a great way to save on memory. NumPy's ogrid is also a neat tool for generating broadcastable grids. When I get a chance, I'll look through the script for any other obvious savers. Cheers! Ben Root On Tue, Sep 9, 2014 at 9:02 AM, Ryan Nelson <rne...@gm...> wrote: > Raffaele, > > As Ben pointed out, you might be creating a lot of in memory Numpy arrays > that you probably don't need/want. > > For example, I think (?) slicing all of the variable below: > lons = fh.variables['lon'][:] > is making a copy of all that (mmap'ed) data as a Numpy array in memory. > Get rid of the slice ([:]). Of course, these variables are not Numpy > arrays, so you'll have to change some of your code. For example: > lon_0 = lons.mean() > Will have to become: > lon_0 = np.mean( lons ) > > If lats and lons are very large sets of data, then meshgrid will make two > very, very large arrays in memory. > For example, try this: > np.meshgrid(np.arange(5), np.arange(5)) > The output is two much larger arrays: > [array([[0, 1, 2, 3, 4], > [0, 1, 2, 3, 4], > [0, 1, 2, 3, 4], > [0, 1, 2, 3, 4], > [0, 1, 2, 3, 4]]), > array([[0, 0, 0, 0, 0], > [1, 1, 1, 1, 1], > [2, 2, 2, 2, 2], > [3, 3, 3, 3, 3], > [4, 4, 4, 4, 4]])] > I don't know Basemap at all, so I don't know if this is necessary. You > might be able to force the meshgrid output into a memmap file, but I don't > know how to do that right now. Perhaps someone else has some suggestions. > > Hope that helps. > > Ryan > > > > > On Tue, Sep 9, 2014 at 4:07 AM, Raffaele Quarta < > raf...@li...> wrote: > >> Hi Jody and Ben, >> >> thanks for your answers. >> I tried to use pcolormesh instead of pcolor and the result is very good! >> For what concern with the memory system problem, I wasn't able to solve it. >> When I tried to use the bigger file, I got the same problem. Attached you >> will find the script that I'm using to make the plot. May be, I didn't >> understand very well how can I use the mmap function. >> >> Regards, >> >> Raffaele. >> >> >> -----Original Message----- >> From: Jody Klymak [mailto:jk...@uv... <jk...@uv...>] >> Sent: Mon 9/8/2014 5:46 PM >> To: Benjamin Root >> Cc: Raffaele Quarta; Matplotlib Users >> Subject: Re: [Matplotlib-users] Plotting large file (NetCDF) >> >> It looks like you are calling `pcolor`. Can I suggest you try >> `pcolormesh`? ii >> >> 75 Mb is not a big file! >> >> Cheers, Jody >> >> >> On Sep 8, 2014, at 7:38 AM, Benjamin Root <ben...@ou...> wrote: >> >> > (Keeping this on the mailing list so that others can benefit) >> > >> > What might be happening is that you are keeping around too many numpy >> arrays in memory than you actually need. Take advantage of memmapping, >> which most netcdf tools provide by default. This keeps the data on disk >> rather than in RAM. Second, for very large images, I would suggest either >> pcolormesh() or just simply imshow() instead of pcolor() as they are more >> way more efficient than pcolor(). In addition, it sounds like you are >> dealing with re-sampled data ("at different zoom levels"). Does this mean >> that you are re-running contour on re-sampled data? I am not sure what the >> benefit of doing that is if one could just simply do the contour once at >> the highest resolution. >> > >> > Without seeing any code, though, I can only provide generic suggestions. >> > >> > Cheers! >> > Ben Root >> > >> > >> > On Mon, Sep 8, 2014 at 10:12 AM, Raffaele Quarta < >> raf...@li...> wrote: >> > Hi Ben, >> > >> > sorry for the few details that I gave to you. I'm trying to make a >> contour plot of a variable at different zoom levels by using high >> resolution data. The aim is to obtain .PNG output images. Actually, I'm >> working with big data (NetCDF file, dimension is about 75Mb). The current >> Matplotlib version on my UBUNTU 14.04 machine is the 1.3.1 one. My system >> has a RAM capacity of 8Gb. >> > Actually, I'm dealing with memory system problems when I try to make a >> plot. I got the error message as follow: >> > >> > -------------------------------------------- >> > cs = m.pcolor(xi,yi,np.squeeze(t)) >> > File "/usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.py", >> line 521, in with_transform >> > return plotfunc(self,x,y,data,*args,**kwargs) >> > File "/usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.py", >> line 3375, in pcolor >> > x = ma.masked_values(np.where(x > 1.e20,1.e20,x), 1.e20) >> > File "/usr/lib/python2.7/dist-packages/numpy/ma/core.py", line 2195, >> in masked_values >> > condition = umath.less_equal(mabs(xnew - value), atol + rtol * >> mabs(value)) >> > MemoryError >> > -------------------------------------------- >> > >> > Otherwise, when I try to make a plot of smaller file (such as 5Mb), it >> works very well. I believe that it's not something of wrong in the script. >> It might be a memory system problem. >> > I hope that my message is more clear now. >> > >> > Thanks for the help. >> > >> > Regards, >> > >> > Raffaele >> > >> > ----------------------------------------- >> > >> > Sent: Mon 9/8/2014 3:19 PM >> > To: Raffaele Quarta >> > Cc: Matplotlib Users >> > Subject: Re: [Matplotlib-users] Plotting large file (NetCDF) >> > >> > >> > >> > You will need to be more specific... much more specific. What kind of >> plot >> > are you making? How big is your data? What version of matplotlib are you >> > using? How much RAM do you have available compared to the amount of data >> > (most slowdowns are actually due to swap-thrashing issues). Matplotlib >> can >> > be used for large data, but there exists some speciality tools for the >> > truly large datasets. The solution depends on the situation. >> > >> > Ben Root >> > >> > On Mon, Sep 8, 2014 at 7:45 AM, Raffaele Quarta < >> raf...@li...> >> > wrote: >> > >> > > Hi, >> > > >> > > I'm working with NetCDF format. When I try to make a plot of very >> large >> > > file, I have to wait for a long time for plotting. How can I solve >> this? >> > > Isn't there a solution for this problem? >> > > >> > > Raffaele >> > > >> > > -- >> > > This email was Virus checked by Astaro Security Gateway. >> http://www.sophos.com >> > > >> > > >> > > >> > > >> ------------------------------------------------------------------------------ >> > > Want excitement? >> > > Manually upgrade your production database. >> > > When you want reliability, choose Perforce >> > > Perforce version control. Predictably reliable. >> > > >> > > >> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk >> > > _______________________________________________ >> > > Matplotlib-users mailing list >> > > Mat...@li... >> > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > > >> > > >> > >> > -- >> > This email was Virus checked by Astaro Security Gateway. >> http://www.sophos.com >> > >> > >> > >> > >> ------------------------------------------------------------------------------ >> > Want excitement? >> > Manually upgrade your production database. >> > When you want reliability, choose Perforce >> > Perforce version control. Predictably reliable. >> > >> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk_______________________________________________ >> > Matplotlib-users mailing list >> > Mat...@li... >> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> -- >> Jody Klymak >> http://web.uvic.ca/~jklymak/ >> >> >> >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> Want excitement? >> Manually upgrade your production database. >> When you want reliability, choose Perforce. >> Perforce version control. Predictably reliable. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> > > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce. > Perforce version control. Predictably reliable. > > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
|
From: Benjamin R. <ben...@ou...> - 2014-09-09 13:26:03
|
Most of the time, you will not need to use meshgrid. Take advantage of numpy's broadcasting feature: http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html It saves *significantly* on memory and processing time. Most of Matplotlib's plotting functions work well with broadcastable inputs, so that is a great way to save on memory. NumPy's ogrid is also a neat tool for generating broadcastable grids. When I get a chance, I'll look through the script for any other obvious savers. Cheers! Ben Root On Tue, Sep 9, 2014 at 9:02 AM, Ryan Nelson <rne...@gm...> wrote: > Raffaele, > > As Ben pointed out, you might be creating a lot of in memory Numpy arrays > that you probably don't need/want. > > For example, I think (?) slicing all of the variable below: > lons = fh.variables['lon'][:] > is making a copy of all that (mmap'ed) data as a Numpy array in memory. > Get rid of the slice ([:]). Of course, these variables are not Numpy > arrays, so you'll have to change some of your code. For example: > lon_0 = lons.mean() > Will have to become: > lon_0 = np.mean( lons ) > > If lats and lons are very large sets of data, then meshgrid will make two > very, very large arrays in memory. > For example, try this: > np.meshgrid(np.arange(5), np.arange(5)) > The output is two much larger arrays: > [array([[0, 1, 2, 3, 4], > [0, 1, 2, 3, 4], > [0, 1, 2, 3, 4], > [0, 1, 2, 3, 4], > [0, 1, 2, 3, 4]]), > array([[0, 0, 0, 0, 0], > [1, 1, 1, 1, 1], > [2, 2, 2, 2, 2], > [3, 3, 3, 3, 3], > [4, 4, 4, 4, 4]])] > I don't know Basemap at all, so I don't know if this is necessary. You > might be able to force the meshgrid output into a memmap file, but I don't > know how to do that right now. Perhaps someone else has some suggestions. > > Hope that helps. > > Ryan > > > > > On Tue, Sep 9, 2014 at 4:07 AM, Raffaele Quarta < > raf...@li...> wrote: > >> Hi Jody and Ben, >> >> thanks for your answers. >> I tried to use pcolormesh instead of pcolor and the result is very good! >> For what concern with the memory system problem, I wasn't able to solve it. >> When I tried to use the bigger file, I got the same problem. Attached you >> will find the script that I'm using to make the plot. May be, I didn't >> understand very well how can I use the mmap function. >> >> Regards, >> >> Raffaele. >> >> >> -----Original Message----- >> From: Jody Klymak [mailto:jk...@uv... <jk...@uv...>] >> Sent: Mon 9/8/2014 5:46 PM >> To: Benjamin Root >> Cc: Raffaele Quarta; Matplotlib Users >> Subject: Re: [Matplotlib-users] Plotting large file (NetCDF) >> >> It looks like you are calling `pcolor`. Can I suggest you try >> `pcolormesh`? ii >> >> 75 Mb is not a big file! >> >> Cheers, Jody >> >> >> On Sep 8, 2014, at 7:38 AM, Benjamin Root <ben...@ou...> wrote: >> >> > (Keeping this on the mailing list so that others can benefit) >> > >> > What might be happening is that you are keeping around too many numpy >> arrays in memory than you actually need. Take advantage of memmapping, >> which most netcdf tools provide by default. This keeps the data on disk >> rather than in RAM. Second, for very large images, I would suggest either >> pcolormesh() or just simply imshow() instead of pcolor() as they are more >> way more efficient than pcolor(). In addition, it sounds like you are >> dealing with re-sampled data ("at different zoom levels"). Does this mean >> that you are re-running contour on re-sampled data? I am not sure what the >> benefit of doing that is if one could just simply do the contour once at >> the highest resolution. >> > >> > Without seeing any code, though, I can only provide generic suggestions. >> > >> > Cheers! >> > Ben Root >> > >> > >> > On Mon, Sep 8, 2014 at 10:12 AM, Raffaele Quarta < >> raf...@li...> wrote: >> > Hi Ben, >> > >> > sorry for the few details that I gave to you. I'm trying to make a >> contour plot of a variable at different zoom levels by using high >> resolution data. The aim is to obtain .PNG output images. Actually, I'm >> working with big data (NetCDF file, dimension is about 75Mb). The current >> Matplotlib version on my UBUNTU 14.04 machine is the 1.3.1 one. My system >> has a RAM capacity of 8Gb. >> > Actually, I'm dealing with memory system problems when I try to make a >> plot. I got the error message as follow: >> > >> > -------------------------------------------- >> > cs = m.pcolor(xi,yi,np.squeeze(t)) >> > File "/usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.py", >> line 521, in with_transform >> > return plotfunc(self,x,y,data,*args,**kwargs) >> > File "/usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.py", >> line 3375, in pcolor >> > x = ma.masked_values(np.where(x > 1.e20,1.e20,x), 1.e20) >> > File "/usr/lib/python2.7/dist-packages/numpy/ma/core.py", line 2195, >> in masked_values >> > condition = umath.less_equal(mabs(xnew - value), atol + rtol * >> mabs(value)) >> > MemoryError >> > -------------------------------------------- >> > >> > Otherwise, when I try to make a plot of smaller file (such as 5Mb), it >> works very well. I believe that it's not something of wrong in the script. >> It might be a memory system problem. >> > I hope that my message is more clear now. >> > >> > Thanks for the help. >> > >> > Regards, >> > >> > Raffaele >> > >> > ----------------------------------------- >> > >> > Sent: Mon 9/8/2014 3:19 PM >> > To: Raffaele Quarta >> > Cc: Matplotlib Users >> > Subject: Re: [Matplotlib-users] Plotting large file (NetCDF) >> > >> > >> > >> > You will need to be more specific... much more specific. What kind of >> plot >> > are you making? How big is your data? What version of matplotlib are you >> > using? How much RAM do you have available compared to the amount of data >> > (most slowdowns are actually due to swap-thrashing issues). Matplotlib >> can >> > be used for large data, but there exists some speciality tools for the >> > truly large datasets. The solution depends on the situation. >> > >> > Ben Root >> > >> > On Mon, Sep 8, 2014 at 7:45 AM, Raffaele Quarta < >> raf...@li...> >> > wrote: >> > >> > > Hi, >> > > >> > > I'm working with NetCDF format. When I try to make a plot of very >> large >> > > file, I have to wait for a long time for plotting. How can I solve >> this? >> > > Isn't there a solution for this problem? >> > > >> > > Raffaele >> > > >> > > -- >> > > This email was Virus checked by Astaro Security Gateway. >> http://www.sophos.com >> > > >> > > >> > > >> > > >> ------------------------------------------------------------------------------ >> > > Want excitement? >> > > Manually upgrade your production database. >> > > When you want reliability, choose Perforce >> > > Perforce version control. Predictably reliable. >> > > >> > > >> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk >> > > _______________________________________________ >> > > Matplotlib-users mailing list >> > > Mat...@li... >> > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > > >> > > >> > >> > -- >> > This email was Virus checked by Astaro Security Gateway. >> http://www.sophos.com >> > >> > >> > >> > >> ------------------------------------------------------------------------------ >> > Want excitement? >> > Manually upgrade your production database. >> > When you want reliability, choose Perforce >> > Perforce version control. Predictably reliable. >> > >> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk_______________________________________________ >> > Matplotlib-users mailing list >> > Mat...@li... >> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> -- >> Jody Klymak >> http://web.uvic.ca/~jklymak/ >> >> >> >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> Want excitement? >> Manually upgrade your production database. >> When you want reliability, choose Perforce. >> Perforce version control. Predictably reliable. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> > > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce. > Perforce version control. Predictably reliable. > > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
|
From: Ryan N. <rne...@gm...> - 2014-09-09 13:02:55
|
Raffaele,
As Ben pointed out, you might be creating a lot of in memory Numpy arrays
that you probably don't need/want.
For example, I think (?) slicing all of the variable below:
lons = fh.variables['lon'][:]
is making a copy of all that (mmap'ed) data as a Numpy array in memory. Get
rid of the slice ([:]). Of course, these variables are not Numpy arrays, so
you'll have to change some of your code. For example:
lon_0 = lons.mean()
Will have to become:
lon_0 = np.mean( lons )
If lats and lons are very large sets of data, then meshgrid will make two
very, very large arrays in memory.
For example, try this:
np.meshgrid(np.arange(5), np.arange(5))
The output is two much larger arrays:
[array([[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4]]),
array([[0, 0, 0, 0, 0],
[1, 1, 1, 1, 1],
[2, 2, 2, 2, 2],
[3, 3, 3, 3, 3],
[4, 4, 4, 4, 4]])]
I don't know Basemap at all, so I don't know if this is necessary. You
might be able to force the meshgrid output into a memmap file, but I don't
know how to do that right now. Perhaps someone else has some suggestions.
Hope that helps.
Ryan
On Tue, Sep 9, 2014 at 4:07 AM, Raffaele Quarta <raf...@li...>
wrote:
> Hi Jody and Ben,
>
> thanks for your answers.
> I tried to use pcolormesh instead of pcolor and the result is very good!
> For what concern with the memory system problem, I wasn't able to solve it.
> When I tried to use the bigger file, I got the same problem. Attached you
> will find the script that I'm using to make the plot. May be, I didn't
> understand very well how can I use the mmap function.
>
> Regards,
>
> Raffaele.
>
>
> -----Original Message-----
> From: Jody Klymak [mailto:jk...@uv... <jk...@uv...>]
> Sent: Mon 9/8/2014 5:46 PM
> To: Benjamin Root
> Cc: Raffaele Quarta; Matplotlib Users
> Subject: Re: [Matplotlib-users] Plotting large file (NetCDF)
>
> It looks like you are calling `pcolor`. Can I suggest you try
> `pcolormesh`? ii
>
> 75 Mb is not a big file!
>
> Cheers, Jody
>
>
> On Sep 8, 2014, at 7:38 AM, Benjamin Root <ben...@ou...> wrote:
>
> > (Keeping this on the mailing list so that others can benefit)
> >
> > What might be happening is that you are keeping around too many numpy
> arrays in memory than you actually need. Take advantage of memmapping,
> which most netcdf tools provide by default. This keeps the data on disk
> rather than in RAM. Second, for very large images, I would suggest either
> pcolormesh() or just simply imshow() instead of pcolor() as they are more
> way more efficient than pcolor(). In addition, it sounds like you are
> dealing with re-sampled data ("at different zoom levels"). Does this mean
> that you are re-running contour on re-sampled data? I am not sure what the
> benefit of doing that is if one could just simply do the contour once at
> the highest resolution.
> >
> > Without seeing any code, though, I can only provide generic suggestions.
> >
> > Cheers!
> > Ben Root
> >
> >
> > On Mon, Sep 8, 2014 at 10:12 AM, Raffaele Quarta <
> raf...@li...> wrote:
> > Hi Ben,
> >
> > sorry for the few details that I gave to you. I'm trying to make a
> contour plot of a variable at different zoom levels by using high
> resolution data. The aim is to obtain .PNG output images. Actually, I'm
> working with big data (NetCDF file, dimension is about 75Mb). The current
> Matplotlib version on my UBUNTU 14.04 machine is the 1.3.1 one. My system
> has a RAM capacity of 8Gb.
> > Actually, I'm dealing with memory system problems when I try to make a
> plot. I got the error message as follow:
> >
> > --------------------------------------------
> > cs = m.pcolor(xi,yi,np.squeeze(t))
> > File "/usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.py",
> line 521, in with_transform
> > return plotfunc(self,x,y,data,*args,**kwargs)
> > File "/usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.py",
> line 3375, in pcolor
> > x = ma.masked_values(np.where(x > 1.e20,1.e20,x), 1.e20)
> > File "/usr/lib/python2.7/dist-packages/numpy/ma/core.py", line 2195,
> in masked_values
> > condition = umath.less_equal(mabs(xnew - value), atol + rtol *
> mabs(value))
> > MemoryError
> > --------------------------------------------
> >
> > Otherwise, when I try to make a plot of smaller file (such as 5Mb), it
> works very well. I believe that it's not something of wrong in the script.
> It might be a memory system problem.
> > I hope that my message is more clear now.
> >
> > Thanks for the help.
> >
> > Regards,
> >
> > Raffaele
> >
> > -----------------------------------------
> >
> > Sent: Mon 9/8/2014 3:19 PM
> > To: Raffaele Quarta
> > Cc: Matplotlib Users
> > Subject: Re: [Matplotlib-users] Plotting large file (NetCDF)
> >
> >
> >
> > You will need to be more specific... much more specific. What kind of
> plot
> > are you making? How big is your data? What version of matplotlib are you
> > using? How much RAM do you have available compared to the amount of data
> > (most slowdowns are actually due to swap-thrashing issues). Matplotlib
> can
> > be used for large data, but there exists some speciality tools for the
> > truly large datasets. The solution depends on the situation.
> >
> > Ben Root
> >
> > On Mon, Sep 8, 2014 at 7:45 AM, Raffaele Quarta <
> raf...@li...>
> > wrote:
> >
> > > Hi,
> > >
> > > I'm working with NetCDF format. When I try to make a plot of very large
> > > file, I have to wait for a long time for plotting. How can I solve
> this?
> > > Isn't there a solution for this problem?
> > >
> > > Raffaele
> > >
> > > --
> > > This email was Virus checked by Astaro Security Gateway.
> http://www.sophos.com
> > >
> > >
> > >
> > >
> ------------------------------------------------------------------------------
> > > Want excitement?
> > > Manually upgrade your production database.
> > > When you want reliability, choose Perforce
> > > Perforce version control. Predictably reliable.
> > >
> > >
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> > > _______________________________________________
> > > Matplotlib-users mailing list
> > > Mat...@li...
> > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> > >
> > >
> >
> > --
> > This email was Virus checked by Astaro Security Gateway.
> http://www.sophos.com
> >
> >
> >
> >
> ------------------------------------------------------------------------------
> > Want excitement?
> > Manually upgrade your production database.
> > When you want reliability, choose Perforce
> > Perforce version control. Predictably reliable.
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk_______________________________________________
> > Matplotlib-users mailing list
> > Mat...@li...
> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
> --
> Jody Klymak
> http://web.uvic.ca/~jklymak/
>
>
>
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Want excitement?
> Manually upgrade your production database.
> When you want reliability, choose Perforce.
> Perforce version control. Predictably reliable.
>
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
|
|
From: Raffaele Q. <raf...@li...> - 2014-09-09 08:07:59
|
Hi Jody and Ben,
thanks for your answers.
I tried to use pcolormesh instead of pcolor and the result is very good! For what concern with the memory system problem, I wasn't able to solve it. When I tried to use the bigger file, I got the same problem. Attached you will find the script that I'm using to make the plot. May be, I didn't understand very well how can I use the mmap function.
Regards,
Raffaele.
-----Original Message-----
From: Jody Klymak [mailto:jk...@uv...]
Sent: Mon 9/8/2014 5:46 PM
To: Benjamin Root
Cc: Raffaele Quarta; Matplotlib Users
Subject: Re: [Matplotlib-users] Plotting large file (NetCDF)
It looks like you are calling `pcolor`. Can I suggest you try `pcolormesh`? ii
75 Mb is not a big file!
Cheers, Jody
On Sep 8, 2014, at 7:38 AM, Benjamin Root <ben...@ou...> wrote:
> (Keeping this on the mailing list so that others can benefit)
>
> What might be happening is that you are keeping around too many numpy arrays in memory than you actually need. Take advantage of memmapping, which most netcdf tools provide by default. This keeps the data on disk rather than in RAM. Second, for very large images, I would suggest either pcolormesh() or just simply imshow() instead of pcolor() as they are more way more efficient than pcolor(). In addition, it sounds like you are dealing with re-sampled data ("at different zoom levels"). Does this mean that you are re-running contour on re-sampled data? I am not sure what the benefit of doing that is if one could just simply do the contour once at the highest resolution.
>
> Without seeing any code, though, I can only provide generic suggestions.
>
> Cheers!
> Ben Root
>
>
> On Mon, Sep 8, 2014 at 10:12 AM, Raffaele Quarta <raf...@li...> wrote:
> Hi Ben,
>
> sorry for the few details that I gave to you. I'm trying to make a contour plot of a variable at different zoom levels by using high resolution data. The aim is to obtain .PNG output images. Actually, I'm working with big data (NetCDF file, dimension is about 75Mb). The current Matplotlib version on my UBUNTU 14.04 machine is the 1.3.1 one. My system has a RAM capacity of 8Gb.
> Actually, I'm dealing with memory system problems when I try to make a plot. I got the error message as follow:
>
> --------------------------------------------
> cs = m.pcolor(xi,yi,np.squeeze(t))
> File "/usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.py", line 521, in with_transform
> return plotfunc(self,x,y,data,*args,**kwargs)
> File "/usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.py", line 3375, in pcolor
> x = ma.masked_values(np.where(x > 1.e20,1.e20,x), 1.e20)
> File "/usr/lib/python2.7/dist-packages/numpy/ma/core.py", line 2195, in masked_values
> condition = umath.less_equal(mabs(xnew - value), atol + rtol * mabs(value))
> MemoryError
> --------------------------------------------
>
> Otherwise, when I try to make a plot of smaller file (such as 5Mb), it works very well. I believe that it's not something of wrong in the script. It might be a memory system problem.
> I hope that my message is more clear now.
>
> Thanks for the help.
>
> Regards,
>
> Raffaele
>
> -----------------------------------------
>
> Sent: Mon 9/8/2014 3:19 PM
> To: Raffaele Quarta
> Cc: Matplotlib Users
> Subject: Re: [Matplotlib-users] Plotting large file (NetCDF)
>
>
>
> You will need to be more specific... much more specific. What kind of plot
> are you making? How big is your data? What version of matplotlib are you
> using? How much RAM do you have available compared to the amount of data
> (most slowdowns are actually due to swap-thrashing issues). Matplotlib can
> be used for large data, but there exists some speciality tools for the
> truly large datasets. The solution depends on the situation.
>
> Ben Root
>
> On Mon, Sep 8, 2014 at 7:45 AM, Raffaele Quarta <raf...@li...>
> wrote:
>
> > Hi,
> >
> > I'm working with NetCDF format. When I try to make a plot of very large
> > file, I have to wait for a long time for plotting. How can I solve this?
> > Isn't there a solution for this problem?
> >
> > Raffaele
> >
> > --
> > This email was Virus checked by Astaro Security Gateway. http://www.sophos.com
> >
> >
> >
> > ------------------------------------------------------------------------------
> > Want excitement?
> > Manually upgrade your production database.
> > When you want reliability, choose Perforce
> > Perforce version control. Predictably reliable.
> >
> > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> > _______________________________________________
> > Matplotlib-users mailing list
> > Mat...@li...
> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> >
> >
>
> --
> This email was Virus checked by Astaro Security Gateway. http://www.sophos.com
>
>
>
> ------------------------------------------------------------------------------
> Want excitement?
> Manually upgrade your production database.
> When you want reliability, choose Perforce
> Perforce version control. Predictably reliable.
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk_______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
--
Jody Klymak
http://web.uvic.ca/~jklymak/
|
|
From: Jody K. <jk...@uv...> - 2014-09-08 15:59:33
|
It looks like you are calling `pcolor`. Can I suggest you try `pcolormesh`?
75 Mb is not a big file!
Cheers, Jody
On Sep 8, 2014, at 7:38 AM, Benjamin Root <ben...@ou...> wrote:
> (Keeping this on the mailing list so that others can benefit)
>
> What might be happening is that you are keeping around too many numpy arrays in memory than you actually need. Take advantage of memmapping, which most netcdf tools provide by default. This keeps the data on disk rather than in RAM. Second, for very large images, I would suggest either pcolormesh() or just simply imshow() instead of pcolor() as they are more way more efficient than pcolor(). In addition, it sounds like you are dealing with re-sampled data ("at different zoom levels"). Does this mean that you are re-running contour on re-sampled data? I am not sure what the benefit of doing that is if one could just simply do the contour once at the highest resolution.
>
> Without seeing any code, though, I can only provide generic suggestions.
>
> Cheers!
> Ben Root
>
>
> On Mon, Sep 8, 2014 at 10:12 AM, Raffaele Quarta <raf...@li...> wrote:
> Hi Ben,
>
> sorry for the few details that I gave to you. I'm trying to make a contour plot of a variable at different zoom levels by using high resolution data. The aim is to obtain .PNG output images. Actually, I'm working with big data (NetCDF file, dimension is about 75Mb). The current Matplotlib version on my UBUNTU 14.04 machine is the 1.3.1 one. My system has a RAM capacity of 8Gb.
> Actually, I'm dealing with memory system problems when I try to make a plot. I got the error message as follow:
>
> --------------------------------------------
> cs = m.pcolor(xi,yi,np.squeeze(t))
> File "/usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.py", line 521, in with_transform
> return plotfunc(self,x,y,data,*args,**kwargs)
> File "/usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.py", line 3375, in pcolor
> x = ma.masked_values(np.where(x > 1.e20,1.e20,x), 1.e20)
> File "/usr/lib/python2.7/dist-packages/numpy/ma/core.py", line 2195, in masked_values
> condition = umath.less_equal(mabs(xnew - value), atol + rtol * mabs(value))
> MemoryError
> --------------------------------------------
>
> Otherwise, when I try to make a plot of smaller file (such as 5Mb), it works very well. I believe that it's not something of wrong in the script. It might be a memory system problem.
> I hope that my message is more clear now.
>
> Thanks for the help.
>
> Regards,
>
> Raffaele
>
> -----------------------------------------
>
> Sent: Mon 9/8/2014 3:19 PM
> To: Raffaele Quarta
> Cc: Matplotlib Users
> Subject: Re: [Matplotlib-users] Plotting large file (NetCDF)
>
>
>
> You will need to be more specific... much more specific. What kind of plot
> are you making? How big is your data? What version of matplotlib are you
> using? How much RAM do you have available compared to the amount of data
> (most slowdowns are actually due to swap-thrashing issues). Matplotlib can
> be used for large data, but there exists some speciality tools for the
> truly large datasets. The solution depends on the situation.
>
> Ben Root
>
> On Mon, Sep 8, 2014 at 7:45 AM, Raffaele Quarta <raf...@li...>
> wrote:
>
> > Hi,
> >
> > I'm working with NetCDF format. When I try to make a plot of very large
> > file, I have to wait for a long time for plotting. How can I solve this?
> > Isn't there a solution for this problem?
> >
> > Raffaele
> >
> > --
> > This email was Virus checked by Astaro Security Gateway. http://www.sophos.com
> >
> >
> >
> > ------------------------------------------------------------------------------
> > Want excitement?
> > Manually upgrade your production database.
> > When you want reliability, choose Perforce
> > Perforce version control. Predictably reliable.
> >
> > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> > _______________________________________________
> > Matplotlib-users mailing list
> > Mat...@li...
> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> >
> >
>
> --
> This email was Virus checked by Astaro Security Gateway. http://www.sophos.com
>
>
>
> ------------------------------------------------------------------------------
> Want excitement?
> Manually upgrade your production database.
> When you want reliability, choose Perforce
> Perforce version control. Predictably reliable.
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk_______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
--
Jody Klymak
http://web.uvic.ca/~jklymak/
|
|
From: Benjamin R. <ben...@ou...> - 2014-09-08 14:38:32
|
(Keeping this on the mailing list so that others can benefit)
What might be happening is that you are keeping around too many numpy
arrays in memory than you actually need. Take advantage of memmapping,
which most netcdf tools provide by default. This keeps the data on disk
rather than in RAM. Second, for very large images, I would suggest either
pcolormesh() or just simply imshow() instead of pcolor() as they are more
way more efficient than pcolor(). In addition, it sounds like you are
dealing with re-sampled data ("at different zoom levels"). Does this mean
that you are re-running contour on re-sampled data? I am not sure what the
benefit of doing that is if one could just simply do the contour once at
the highest resolution.
Without seeing any code, though, I can only provide generic suggestions.
Cheers!
Ben Root
On Mon, Sep 8, 2014 at 10:12 AM, Raffaele Quarta <raf...@li...
> wrote:
> Hi Ben,
>
> sorry for the few details that I gave to you. I'm trying to make a contour
> plot of a variable at different zoom levels by using high resolution data.
> The aim is to obtain .PNG output images. Actually, I'm working with big
> data (NetCDF file, dimension is about 75Mb). The current Matplotlib version
> on my UBUNTU 14.04 machine is the 1.3.1 one. My system has a RAM capacity
> of 8Gb.
> Actually, I'm dealing with memory system problems when I try to make a
> plot. I got the error message as follow:
>
> --------------------------------------------
> cs = m.pcolor(xi,yi,np.squeeze(t))
> File "/usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.py",
> line 521, in with_transform
> return plotfunc(self,x,y,data,*args,**kwargs)
> File "/usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.py",
> line 3375, in pcolor
> x = ma.masked_values(np.where(x > 1.e20,1.e20,x), 1.e20)
> File "/usr/lib/python2.7/dist-packages/numpy/ma/core.py", line 2195, in
> masked_values
> condition = umath.less_equal(mabs(xnew - value), atol + rtol *
> mabs(value))
> MemoryError
> --------------------------------------------
>
> Otherwise, when I try to make a plot of smaller file (such as 5Mb), it
> works very well. I believe that it's not something of wrong in the script.
> It might be a memory system problem.
> I hope that my message is more clear now.
>
> Thanks for the help.
>
> Regards,
>
> Raffaele
>
> -----------------------------------------
>
> Sent: Mon 9/8/2014 3:19 PM
> To: Raffaele Quarta
> Cc: Matplotlib Users
> Subject: Re: [Matplotlib-users] Plotting large file (NetCDF)
>
>
> You will need to be more specific... much more specific. What kind of plot
> are you making? How big is your data? What version of matplotlib are you
> using? How much RAM do you have available compared to the amount of data
> (most slowdowns are actually due to swap-thrashing issues). Matplotlib can
> be used for large data, but there exists some speciality tools for the
> truly large datasets. The solution depends on the situation.
>
> Ben Root
>
> On Mon, Sep 8, 2014 at 7:45 AM, Raffaele Quarta <
> raf...@li...>
> wrote:
>
> > Hi,
> >
> > I'm working with NetCDF format. When I try to make a plot of very large
> > file, I have to wait for a long time for plotting. How can I solve this?
> > Isn't there a solution for this problem?
> >
> > Raffaele
> >
> > --
> > This email was Virus checked by Astaro Security Gateway.
> http://www.sophos.com
> >
> >
> >
> >
> ------------------------------------------------------------------------------
> > Want excitement?
> > Manually upgrade your production database.
> > When you want reliability, choose Perforce
> > Perforce version control. Predictably reliable.
> >
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> > _______________________________________________
> > Matplotlib-users mailing list
> > Mat...@li...
> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> >
> >
>
> --
> This email was Virus checked by Astaro Security Gateway.
> http://www.sophos.com
>
>
|