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
|
2
|
3
(6) |
4
(2) |
5
(7) |
6
(9) |
7
(8) |
8
(1) |
9
(1) |
10
(1) |
11
(11) |
12
(1) |
13
(11) |
14
(7) |
15
(1) |
16
|
17
|
18
(1) |
19
|
20
(1) |
21
(2) |
22
(1) |
23
(1) |
24
(2) |
25
(3) |
26
(2) |
27
(2) |
28
(2) |
29
(5) |
30
(1) |
|
|
|
|
|
|
From: mdekauwe <mde...@gm...> - 2013-06-30 01:36:34
|
Yes and no. My understanding of stacked bars is the bar stacked on top is always larger than the one below. I am trying to show how much the second bar explains of the first bar. In my case though it is possible the second bar is larger than the first. As a consequence you wouldn't see both bars and this is why I want to draw a line to show where the other bar extends to.the -- View this message in context: http://matplotlib.1069221.n5.nabble.com/drawing-horizontal-line-on-bar-chart-tp41333p41341.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: klo uo <kl...@gm...> - 2013-06-29 22:43:01
|
Thanks Paul, that solved the problem. matplotlib.rcParams['axes.linewidth'] = 0.5 matplotlib.rcParams['patch.linewidth'] = 0.5 is what I wanted and I'll put that in matplotlibrc. Previously I thought that this is related to some anti-aliasing setting that would affect all lines drawn. But as it is possible to set this preference to custom plot elements, this is what I would always prefer. Default setting looks too blurry for horizontal and vertical lines. Cheers On Sat, Jun 29, 2013 at 11:49 PM, Paul Hobson <pmh...@gm...> wrote: > You need to thin out the default line widths in your matplotlibrc file. > > Something like: > import matplotlib > matplotlib.rcParams['axes.linewidth'] = 0.5 > matplotlib.rcParams['lines.linewidth'] = 0.5 > > ...if you don't want to edit your matplotlibrc file. > > Hope that helps, > -paul |
From: Paul H. <pmh...@gm...> - 2013-06-29 21:49:37
|
You need to thin out the default line widths in your matplotlibrc file. Something like: import matplotlib matplotlib.rcParams['axes.linewidth'] = 0.5 matplotlib.rcParams['lines.linewidth'] = 0.5 ...if you don't want to edit your matplotlibrc file. Hope that helps, -paul On Sat, Jun 29, 2013 at 10:48 AM, klo uo <kl...@gm...> wrote: > This code: > > ======================================== > import matplotlib.pyplot as plt > > plt.plot([1,2,5,3,4], label='line') > plt.legend() > plt.show() > ======================================== > > shows this image: http://i.imgur.com/KMPywSp.png > > I want axis and legend box with 1px line, like this: > http://i.imgur.com/Qmb4e6C.png but can't find any pointers except > turning anti-aliasing off for all plot lines, which is not what I > want. > > Is this anyhow possible? > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
From: Benjamin R. <ben...@ou...> - 2013-06-29 21:17:08
|
This kind of sounds like stack plots, but I am not quite sure. Cheers! Ben Root On Jun 29, 2013 1:45 AM, "mdekauwe" <mde...@gm...> wrote: > Hi, > > I am plotting overlapping bars in a bar chart. In some places one bar > overlaps the other so I would like to draw a horizontal line to show where > the underlying bar extends to. My plots are postscripts so I can't use > alpha. The only way I could come up with involves me figuring out by trial > and error where each bar starts, for example: > > bar_width = 0.068 > xmin_line = 0.198 > xmax_line = xmin_line+bar_width > plt.axhline(y=data_biomass[2], xmin=xmin_line, xmax=xmax_line, linewidth=2, > color="b") > > Is there a way I can work out where each bar starts and how wide it is? I > tried ax.get_xticks, but these don't match with the above function which > only seems to be a fraction of 0 - 1. > > thanks, > > Martin > > > > > -- > View this message in context: > http://matplotlib.1069221.n5.nabble.com/drawing-horizontal-line-on-bar-chart-tp41333.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
From: klo uo <kl...@gm...> - 2013-06-29 17:49:06
|
This code: ======================================== import matplotlib.pyplot as plt plt.plot([1,2,5,3,4], label='line') plt.legend() plt.show() ======================================== shows this image: http://i.imgur.com/KMPywSp.png I want axis and legend box with 1px line, like this: http://i.imgur.com/Qmb4e6C.png but can't find any pointers except turning anti-aliasing off for all plot lines, which is not what I want. Is this anyhow possible? |
From: mdekauwe <mde...@gm...> - 2013-06-29 06:44:06
|
Hi, I am plotting overlapping bars in a bar chart. In some places one bar overlaps the other so I would like to draw a horizontal line to show where the underlying bar extends to. My plots are postscripts so I can't use alpha. The only way I could come up with involves me figuring out by trial and error where each bar starts, for example: bar_width = 0.068 xmin_line = 0.198 xmax_line = xmin_line+bar_width plt.axhline(y=data_biomass[2], xmin=xmin_line, xmax=xmax_line, linewidth=2, color="b") Is there a way I can work out where each bar starts and how wide it is? I tried ax.get_xticks, but these don't match with the above function which only seems to be a fraction of 0 - 1. thanks, Martin -- View this message in context: http://matplotlib.1069221.n5.nabble.com/drawing-horizontal-line-on-bar-chart-tp41333.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: Michael D. <md...@st...> - 2013-06-28 17:07:51
|
For those not in Austin who are interested in following along with the matplotlib sprint at Scipy, feel free to visit here: https://etherpad.mozilla.org/MatplotlibSprint Mike |
From: Sudheer J. <sud...@ya...> - 2013-06-28 03:53:34
|
Dear experts, I have been making some scripts to do some routine plotting of model results with ipython qtconsole --colors=linux --pylab=inline mode for fine tuning and then used the same script for running from command line ipython alt_hyc_trak.py, the results in plot gets messed up It appears the setting I did by using below commands are different for inline mode and ipython. plt.subplots_adjust(hspace = -.15,wspace=.1) Is there a way to set the properties of plot acceptable for both. I am attaching both figures here. https://www.dropbox.com/s/heeadhkf9u2czns/ipython_cmdline.png https://www.dropbox.com/s/5hsm6yver152h11/inline_mode.png with best regards, Sudheer *************************************************************** Sudheer Joseph Indian National Centre for Ocean Information Services Ministry of Earth Sciences, Govt. of India POST BOX NO: 21, IDA Jeedeemetla P.O. Via Pragathi Nagar,Kukatpally, Hyderabad; Pin:5000 55 Tel:+91-40-23886047(O),Fax:+91-40-23895011(O), Tel:+91-40-23044600(R),Tel:+91-40-9440832534(Mobile) E-mail:sjo...@gm...;sud...@ya... Web- http://oppamthadathil.tripod.com *************************************************************** |
From: Ryan N. <rne...@gm...> - 2013-06-27 19:14:50
|
Neal, I like to use partially transparent rectangles, such as axhspan and axvspan. Some people are not so great with colors, so I try to minimize line color changes. If you were going to change line colors, I would do something to the line style to highlight the difference as well. Below is a little test. Ryan ### Code ### import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 2*np.pi, 1000) y = np.sin(x) plt.plot(x, y, 'k-', lw=0.5) plt.axvspan(0.2, 0.4, color='k', alpha=0.2) mask = (x > 2.5) & (x < 3.0) plt.plot(x[mask], y[mask], 'r-', lw=2.5) plt.show() ########### On 6/27/2013 9:50 AM, Neal Becker wrote: > I have a line plot and I'd like to highlight certain segments of it. I think > maybe drawing some segments in a different color might be a good visual clue. > Any suggestion how to approach this? > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Neal B. <ndb...@gm...> - 2013-06-27 13:50:24
|
I have a line plot and I'd like to highlight certain segments of it. I think maybe drawing some segments in a different color might be a good visual clue. Any suggestion how to approach this? |
From: Benjamin R. <ben...@ou...> - 2013-06-26 13:34:17
|
I have done something slightly different that works more generally. I am trying to recall it from memory, so some details may be wrong. Essentially, do the interpolation you want on a filled version of the masked array (filling with a value that makes sense for your data). Then, do the same interpolation on the mask, and cast the mask back as booleans. Finally, build the output masked array by combining the two together with one of the constructors. Cheers! Ben Root On Jun 26, 2013 7:22 AM, "Jeff Whitaker" <jef...@no...> wrote: > Goodman, Alexander (398J-Affiliate) <ale...@jp...> > June 24, 2013 6:27 PM > Hi Jeff, > > Thanks for the quick reply. However I am a little lost with your suggested > solution. The issue here is that if datain is a masked array, dataout will > not be a masked array when order=3 is used unless masked=True is set, but > this just results in none of the elements (besides those outside the domain > of xin and yin) being masked. So are you saying to try setting the mask to > what it would be after running interp() with order=0? I would appreciate a > more concrete example. > > Thanks, > Alex > > > Alex: After pondering this a bit more, I don't think you can use order=3 > with masked arrays. Any reason why you can't using a combo of bilinear and > nearest neighbor as I described in my previous email? > > -Jeff > > > > > Goodman, Alexander (398J-Affiliate) <ale...@jp...> > June 24, 2013 4:30 PM > Just something I thought I should add to this, but would the following > code seem like a reasonable workaround? Basically, since map_coordinates() > cannot handle mask arrays, I thought that perhaps passing in the actual > mask itself to interp() with order=3 may produce close to reasonable > results, eg: > > dataout = interp(datain, xin, yin, xout, yout, masked=True, order=3) > maskin = datain.mask.astype(int) > maskout = interp(datain.mask, xin, yin, xout, yout, order=3) > dataout.mask = dataout.mask | maskout > > Thanks, > Alex > > > ------------------------------ > > > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
From: Jeff W. <jef...@no...> - 2013-06-26 12:20:05
|
> Goodman, Alexander (398J-Affiliate) > <mailto:ale...@jp...> > June 24, 2013 6:27 PM > Hi Jeff, > > Thanks for the quick reply. However I am a little lost with your > suggested solution. The issue here is that if datain is a masked > array, dataout will not be a masked array when order=3 is used unless > masked=True is set, but this just results in none of the elements > (besides those outside the domain of xin and yin) being masked. So are > you saying to try setting the mask to what it would be after running > interp() with order=0? I would appreciate a more concrete example. > > Thanks, > Alex Alex: After pondering this a bit more, I don't think you can use order=3 with masked arrays. Any reason why you can't using a combo of bilinear and nearest neighbor as I described in my previous email? -Jeff > > > > Goodman, Alexander (398J-Affiliate) > <mailto:ale...@jp...> > June 24, 2013 4:30 PM > Just something I thought I should add to this, but would the following > code seem like a reasonable workaround? Basically, since > map_coordinates() cannot handle mask arrays, I thought that perhaps > passing in the actual mask itself to interp() with order=3 may produce > close to reasonable results, eg: > > dataout = interp(datain, xin, yin, xout, yout, masked=True, order=3) > maskin = datain.mask.astype(int) > maskout = interp(datain.mask, xin, yin, xout, yout, order=3) > dataout.mask = dataout.mask | maskout > > Thanks, > Alex > > > ------------------------------------------------------------------------ |
From: Michiel de H. <mjl...@ya...> - 2013-06-25 14:11:27
|
Hi Thomas, As explained in this issue: https://github.com/matplotlib/matplotlib/issues/166 draw_artist does not work because it is being called from outside the event loop (or, to be exact, because draw_artist will only work if it is called from inside the drawing callback function that is called by the event loop). On some backends, you may get away with calling draw_artist from outside the event loop. However, this suggests a problem in the code design (for comparison, see this issue https://github.com/matplotlib/matplotlib/issues/531 on the animation code). As far as I know, the matplotlib documentation does not advertise the use of draw_artist, and there is no guarantee that it will work on all backends. If you can redesign your code such that draw_artist is called from inside the event loop, it should work OK on all backends. (though my first bet would also be to look at draw_idle). Best, -Michiel. ________________________________ From: Thomas Robitaille <tho...@gm...> To: Michael Droettboom <md...@st...> Cc: mat...@li... Sent: Tuesday, June 25, 2013 9:45 PM Subject: Re: [Matplotlib-users] Making an interactive plot faster Hi Mike, Thanks for the suggestion - however, this doesn't change the FPS. From my experiments so far, it seems using draw_artist would be the best bet, but any ideas why it doesn't work with the MacOS X backend? https://github.com/matplotlib/matplotlib/issues/166 Cheers, Tom On 24 June 2013 16:13, Michael Droettboom <md...@st...> wrote: > Have you tried using "draw_idle"? That will schedule the draw for the > next time the event loop is idle. > > Mike > > On 06/24/2013 07:39 AM, Thomas Robitaille wrote: >> Hi everyone, >> >> The following shows an example of a simple data viewer which includes >> a slider, a bitmap, and a scatter plot: >> >> """ >> import numpy as np >> from matplotlib import pyplot as plt >> from matplotlib.widgets import Slider >> >> fig = plt.figure() >> >> ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.7]) >> image = ax1.imshow(np.random.random((512, 512)), vmin=0., vmax=1.) >> >> ax2 = fig.add_axes([0.1, 0.9, 0.85, 0.05]) >> ax2.set_xticklabels("") >> ax2.set_yticklabels("") >> slider = Slider(ax2, "", 0., 1.) >> >> def update_vmax(value): >> image.set_clim(0., value) >> fig.canvas.draw() >> >> slider.on_changed(update_vmax) >> >> ax3 = fig.add_axes([0.55, 0.1, 0.4, 0.7]) >> x = np.random.random(10000) >> y = np.random.random(10000) >> ax3.scatter(x, y) >> >> plt.show() >> """ >> >> When moving the slider, the vmax of the image changes, but I get very >> slow frame rates (~2/sec) on my computer with the MacOS X backend. I >> was wondering whether people here have any tips on speeding things up? >> >> As far as I can figure out, this is slow because both the slider and >> the callback function call ``fig.canvas.draw``. Slider calls it before >> the callback function, so I definitely need to draw things in that >> function, but I can get a factor of 2x speedup by doing >> >> slider.drawon = False >> >> which prevents ``canvas.draw()`` being called twice. However, this is >> still much too slow, so I started to look into using ``draw_artist`` >> to only update elements that need updating, but this requires >> partially re-implementing the Slider class. >> >> As a side note, using ``draw_artist`` also does not work on the MacOS X backend: >> >> https://github.com/matplotlib/matplotlib/issues/166 >> >> but I'm willing to have a solution that wouldn't work on this backend >> if it was the only way. >> >> Does anyone have a clean solution to increasing the frame rate of this example? >> >> Thanks! >> Tom >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by Windows: >> >> Build for Windows Store. >> >> http://p.sf.net/sfu/windows-dev2dev >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ Matplotlib-users mailing list Mat...@li... https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Thomas R. <tho...@gm...> - 2013-06-25 12:46:09
|
Hi Mike, Thanks for the suggestion - however, this doesn't change the FPS. From my experiments so far, it seems using draw_artist would be the best bet, but any ideas why it doesn't work with the MacOS X backend? https://github.com/matplotlib/matplotlib/issues/166 Cheers, Tom On 24 June 2013 16:13, Michael Droettboom <md...@st...> wrote: > Have you tried using "draw_idle"? That will schedule the draw for the > next time the event loop is idle. > > Mike > > On 06/24/2013 07:39 AM, Thomas Robitaille wrote: >> Hi everyone, >> >> The following shows an example of a simple data viewer which includes >> a slider, a bitmap, and a scatter plot: >> >> """ >> import numpy as np >> from matplotlib import pyplot as plt >> from matplotlib.widgets import Slider >> >> fig = plt.figure() >> >> ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.7]) >> image = ax1.imshow(np.random.random((512, 512)), vmin=0., vmax=1.) >> >> ax2 = fig.add_axes([0.1, 0.9, 0.85, 0.05]) >> ax2.set_xticklabels("") >> ax2.set_yticklabels("") >> slider = Slider(ax2, "", 0., 1.) >> >> def update_vmax(value): >> image.set_clim(0., value) >> fig.canvas.draw() >> >> slider.on_changed(update_vmax) >> >> ax3 = fig.add_axes([0.55, 0.1, 0.4, 0.7]) >> x = np.random.random(10000) >> y = np.random.random(10000) >> ax3.scatter(x, y) >> >> plt.show() >> """ >> >> When moving the slider, the vmax of the image changes, but I get very >> slow frame rates (~2/sec) on my computer with the MacOS X backend. I >> was wondering whether people here have any tips on speeding things up? >> >> As far as I can figure out, this is slow because both the slider and >> the callback function call ``fig.canvas.draw``. Slider calls it before >> the callback function, so I definitely need to draw things in that >> function, but I can get a factor of 2x speedup by doing >> >> slider.drawon = False >> >> which prevents ``canvas.draw()`` being called twice. However, this is >> still much too slow, so I started to look into using ``draw_artist`` >> to only update elements that need updating, but this requires >> partially re-implementing the Slider class. >> >> As a side note, using ``draw_artist`` also does not work on the MacOS X backend: >> >> https://github.com/matplotlib/matplotlib/issues/166 >> >> but I'm willing to have a solution that wouldn't work on this backend >> if it was the only way. >> >> Does anyone have a clean solution to increasing the frame rate of this example? >> >> Thanks! >> Tom >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by Windows: >> >> Build for Windows Store. >> >> http://p.sf.net/sfu/windows-dev2dev >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Jeff W. <jef...@no...> - 2013-06-25 00:09:42
|
> Goodman, Alexander (398J-Affiliate) > <mailto:ale...@jp...> > June 24, 2013 4:30 PM > Just something I thought I should add to this, but would the following > code seem like a reasonable workaround? Basically, since > map_coordinates() cannot handle mask arrays, I thought that perhaps > passing in the actual mask itself to interp() with order=3 may produce > close to reasonable results, eg: > > dataout = interp(datain, xin, yin, xout, yout, masked=True, order=3) > maskin = datain.mask.astype(int) > maskout = interp(datain.mask, xin, yin, xout, yout, order=3) > dataout.mask = dataout.mask | maskout > > Thanks, > Alex > > > ------------------------------------------------------------------------ Alex: The basemap.interp docstring includes a note describing a trick I often use with masked arrays: Note If datain is a masked array and order=1 (bilinear interpolation) is used, elements of dataout will be masked if any of the four surrounding points in datain are masked. To avoid this, do the interpolation in two passes, first with order=1 (producing dataout1), then with order=0 (producing dataout2). Then replace all the masked values in dataout1 with the corresponding elements in dataout2 (using numpy.where). This effectively uses nearest neighbor interpolation if any of the four surrounding points in datain are masked, and bilinear interpolation otherwise. I suppose the same trick might work with order=3, but I have never tried it. -Jeff |
From: Michael D. <md...@st...> - 2013-06-24 14:15:40
|
Have you tried using "draw_idle"? That will schedule the draw for the next time the event loop is idle. Mike On 06/24/2013 07:39 AM, Thomas Robitaille wrote: > Hi everyone, > > The following shows an example of a simple data viewer which includes > a slider, a bitmap, and a scatter plot: > > """ > import numpy as np > from matplotlib import pyplot as plt > from matplotlib.widgets import Slider > > fig = plt.figure() > > ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.7]) > image = ax1.imshow(np.random.random((512, 512)), vmin=0., vmax=1.) > > ax2 = fig.add_axes([0.1, 0.9, 0.85, 0.05]) > ax2.set_xticklabels("") > ax2.set_yticklabels("") > slider = Slider(ax2, "", 0., 1.) > > def update_vmax(value): > image.set_clim(0., value) > fig.canvas.draw() > > slider.on_changed(update_vmax) > > ax3 = fig.add_axes([0.55, 0.1, 0.4, 0.7]) > x = np.random.random(10000) > y = np.random.random(10000) > ax3.scatter(x, y) > > plt.show() > """ > > When moving the slider, the vmax of the image changes, but I get very > slow frame rates (~2/sec) on my computer with the MacOS X backend. I > was wondering whether people here have any tips on speeding things up? > > As far as I can figure out, this is slow because both the slider and > the callback function call ``fig.canvas.draw``. Slider calls it before > the callback function, so I definitely need to draw things in that > function, but I can get a factor of 2x speedup by doing > > slider.drawon = False > > which prevents ``canvas.draw()`` being called twice. However, this is > still much too slow, so I started to look into using ``draw_artist`` > to only update elements that need updating, but this requires > partially re-implementing the Slider class. > > As a side note, using ``draw_artist`` also does not work on the MacOS X backend: > > https://github.com/matplotlib/matplotlib/issues/166 > > but I'm willing to have a solution that wouldn't work on this backend > if it was the only way. > > Does anyone have a clean solution to increasing the frame rate of this example? > > Thanks! > Tom > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Thomas R. <tho...@gm...> - 2013-06-24 11:40:04
|
Hi everyone, The following shows an example of a simple data viewer which includes a slider, a bitmap, and a scatter plot: """ import numpy as np from matplotlib import pyplot as plt from matplotlib.widgets import Slider fig = plt.figure() ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.7]) image = ax1.imshow(np.random.random((512, 512)), vmin=0., vmax=1.) ax2 = fig.add_axes([0.1, 0.9, 0.85, 0.05]) ax2.set_xticklabels("") ax2.set_yticklabels("") slider = Slider(ax2, "", 0., 1.) def update_vmax(value): image.set_clim(0., value) fig.canvas.draw() slider.on_changed(update_vmax) ax3 = fig.add_axes([0.55, 0.1, 0.4, 0.7]) x = np.random.random(10000) y = np.random.random(10000) ax3.scatter(x, y) plt.show() """ When moving the slider, the vmax of the image changes, but I get very slow frame rates (~2/sec) on my computer with the MacOS X backend. I was wondering whether people here have any tips on speeding things up? As far as I can figure out, this is slow because both the slider and the callback function call ``fig.canvas.draw``. Slider calls it before the callback function, so I definitely need to draw things in that function, but I can get a factor of 2x speedup by doing slider.drawon = False which prevents ``canvas.draw()`` being called twice. However, this is still much too slow, so I started to look into using ``draw_artist`` to only update elements that need updating, but this requires partially re-implementing the Slider class. As a side note, using ``draw_artist`` also does not work on the MacOS X backend: https://github.com/matplotlib/matplotlib/issues/166 but I'm willing to have a solution that wouldn't work on this backend if it was the only way. Does anyone have a clean solution to increasing the frame rate of this example? Thanks! Tom |
From: psb1967 <ps...@ho...> - 2013-06-23 10:29:15
|
Hi, I am new to programming and this is my first major work. I wish to add Bollinger Bands and Hull Moving Average(HMA) in finance_work2.py. Need your guidance. Installation details: Windows 7 Python 3.3.2 Matplotlib 1.2.1 Numpy 1.7.1 Ta-Lib As it is I don't have any issues running the script however, adding BB and HMA will complete my task. Thanks in advance. -- View this message in context: http://matplotlib.1069221.n5.nabble.com/To-add-Bollinger-Bands-in-finance-work2-py-tp41310.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: Goodman, A. (398J-Affiliate) <go...@jp...> - 2013-06-22 05:47:53
|
Hi, I am trying to use basemap's interp function for regridding purposes, and I need to be able to handle masked arrays. Using bilinear or nearest-neighbor interpolation (order=1, order=0), it seems to work fine for masked arrays. However, none of the elements get masked after using cubic spline interpolation (order=3). I am assuming that the reason for this is due to the limitations of scipy.ndimage.map_coordinates(), which gets called when order=3. Are there currently any workarounds for this? Thanks, Alex -- Alex Goodman |
From: Benjamin R. <ben...@ou...> - 2013-06-21 16:00:12
|
Looks like you found a bug. It works properly with ax.plot(), but not for scatter(). Strange... As for contour(), it doesn't get a legend entry in the 2D case, so I wouldn't expect it to get a legend entry in the 3D case either. Could you file a bug report on github for this, please? Cheers! Ben Root |
From: Thomas G. <Tho...@th...> - 2013-06-21 15:23:04
|
Hi list, i am plotting some data using scatter and contour method while using projection 3d. Now i want to label these two plots, but i get the following warning: " UserWarning: No labeled objects found. Use label='...' kwarg on individual plots. warnings.warn("No labeled objects found. " " Can someone help me get the labelling working, or isn't that possible while using 3d plots? Thank you for your help, Tom The code i am using is this one: # Start code import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D x = np.arange(1,10,1) y = np.arange(10,20,1) xx,yy = np.meshgrid(x,y) z = .4*xx + 12*yy + .2*xx*yy + .32*xx**2*yy + \ .234*xx*yy**2 + .34*xx**2*yy**2 fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.scatter(xx,yy,z, label='1st label') ax.contour(xx,yy,z, label='2nd label') ax.legend() ax.set_xlabel('TE') ax.set_ylabel('TC') ax.set_zlabel('Q') plt.show() # End code |
From: Michael R. <raw...@ya...> - 2013-06-20 15:48:34
|
http://bananajoestampabay.com/wp-content/themes/toolbox/youtube.php?cftzwj892mmzinhs.htm rawlins02 Michael Rawlins ******************* A man of principles. None of them interesting. -- John Dobbin |
From: Oliver <oli...@gm...> - 2013-06-18 23:54:57
|
I'm running the following on mpl 1.2.1: import matplotlib.pyplot as plt import numpy as np A = np.arange(1020*1368*3, dtype=np.uint8).reshape(1020, 1368, 3) plt.imsave('dimcheck.png', A) The OS tells me the picture has 1019x1368px. So one row is missing. It works fine for e.g. 10x10x3, I'm not yet sure why it does this for this specific dimension. PIL's save method works fine, as does pypng. I can't check the behaviour on my other machine for now, because that one has mpl 1.1.1 and plt.imsave apparently did not yet support 24-bit RGB writing at that time (in 1.1.1: TypeError: from_bounds() takes exactly 4 arguments (5 given)). Is this a bug or is there something wrong with my setup? |
From: Sudheer J. <sud...@ya...> - 2013-06-15 12:25:46
|
Thank you, This is some thing new, which I learned. with best regards, Sudheer *************************************************************** Sudheer Joseph Indian National Centre for Ocean Information Services Ministry of Earth Sciences, Govt. of India POST BOX NO: 21, IDA Jeedeemetla P.O. Via Pragathi Nagar,Kukatpally, Hyderabad; Pin:5000 55 Tel:+91-40-23886047(O),Fax:+91-40-23895011(O), Tel:+91-40-23044600(R),Tel:+91-40-9440832534(Mobile) E-mail:sjo...@gm...;sud...@ya... Web- http://oppamthadathil.tripod.com *************************************************************** >________________________________ > From: Paul Hobson <pmh...@gm...> >To: Sudheer Joseph <sud...@ya...> >Cc: "mat...@li..." <mat...@li...> >Sent: Friday, 14 June 2013 9:05 PM >Subject: Re: [Matplotlib-users] savefig > > > >On Thu, Jun 13, 2013 at 11:40 PM, Sudheer Joseph <sud...@ya...> wrote: > >Thank you, >>I don't see a way other than starting in normal mode as the moment I type plot command it get displayed and I don't need to do a show command. >> > > >In the qtconsole, you can enter multi-line mode with crtl+enter. > > > > > |
From: Michael M. F. <mic...@gm...> - 2013-06-14 20:24:47
|
I am trying to rasterize the fancy arrows drawn by the lovely streamplot() function, but am running into major problems since the arrows are drawn at a very late stage (to preserve their aspect ratio). -------------- from pylab import * fig = figure(figsize=(10,5)) x = linspace(-1,1,10)[:, None] x = linspace(-1,1,10)[:, None] y = x.T # Why don't the first two work... it is annoying. Is it a "bug" or a feature? #s = streamplot(x, y, x+0*y, y+0*x) #s = streamplot(x.flat, y.flat, x+0*y, y+0*x) s = streamplot(x.ravel(), y.ravel(), x+0*y, y+0*x, density=0.5, arrowstyle='->', arrowsize=2.0) setp(s.lines, rasterized=True) # This works fine. setp(s.arrows, rasterized=True) # This has no effect (bug?) setp(s.arrows, visible=False) # This also has no effect (bug?) # Let's get the patches instead ax = gca() #setp(ax.patches, rasterized=True) # The FancyArrowPatchs are here # This does not rasterize the arrows, giving multiple warnings: # UserWarning: Rasterization of 'FancyArrowPatch(...)' will be ignored savefig('tst1.pdf') # How about rasterizing the whole axis ax.set_rasterized(True) savefig('tst2.pdf') # Weird results! (Bug?) Also rasterizes labels. savefig('tst.png') # This works, except that labels rasterized too. ------------ The problem appears to be that FancyArrowPatch objects are transformed late in the game (so that the arrow-heads etc. are in proper proportions), and rasterization seems to need to occur at an earlier stage. The arrows are in the axes, so there is no upper-level container to rasterize them but not the axes labels etc. Rasterizing the axes (tst2.pdf) does rasterize the arrows, but also the labels, and does something really wonky with the plot (the streamlines and axis frame are completely unaligned… most definitely a bug, but I need to track down exactly where this broke or if it has been fixed). Saving to png works, but also rasterizes the labels and ticks which I want to avoid. Is there a robust way to convert the FancyArrowPatch objects to something not-fancy at some point once I have fixed the size of the axis, figure etc. so that I can then rasterize the appropriate elements only? Are the other behaviours noted in the comments bugs (in which case I will open some incidents)? Thanks, Michael. |