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
(16) |
2
(8) |
3
(4) |
4
|
5
|
6
(3) |
7
(11) |
8
(16) |
9
(1) |
10
(2) |
11
(2) |
12
(6) |
13
(2) |
14
(4) |
15
(5) |
16
(10) |
17
(5) |
18
|
19
|
20
|
21
(3) |
22
|
23
(12) |
24
(7) |
25
(1) |
26
|
27
(3) |
28
(4) |
29
(5) |
30
(2) |
|
|
From: Thomas C. <tca...@gm...> - 2015-04-25 20:20:44
|
Jesper, Can you open an issue on this on github. If you are feeling ambitious a pull request fixing the bug (as you seem to have a good idea of where the problem is) would also be great! Tom On Fri, Apr 24, 2015 at 8:38 AM Jesper Larsen <jes...@gm...> wrote: > Hi Matplotlib Users, > > When I make wind barbs with rounding enabled and custom barb increments I > noticed that there were no wind barbs with half barbs above 2 full barbs. > The reason seems to be a bug in the _find_tails method. The bug is > illustrated by this small script (_find_tails is a copy of the one in > matplotlib): > > import numpy as np > > def _find_tails(self, mag, rounding=True, half=5, full=10, flag=50): > ''' > Find how many of each of the tail pieces is necessary. Flag > specifies the increment for a flag, barb for a full barb, and half for > half a barb. Mag should be the magnitude of a vector (ie. >= 0). > > This returns a tuple of: > > (*number of flags*, *number of barbs*, *half_flag*, *empty_flag*) > > *half_flag* is a boolean whether half of a barb is needed, > since there should only ever be one half on a given > barb. *empty_flag* flag is an array of flags to easily tell if > a barb is empty (too low to plot any barbs/flags. > ''' > > #If rounding, round to the nearest multiple of half, the smallest > #increment > if rounding: > mag = half * (mag / half + 0.5).astype(np.int) > > num_flags = np.floor(mag / flag).astype(np.int) > mag = np.mod(mag, flag) > > num_barb = np.floor(mag / full).astype(np.int) > mag = np.mod(mag, full) > > half_flag = mag >= half > empty_flag = ~(half_flag | (num_flags > 0) | (num_barb > 0)) > > return num_flags, num_barb, half_flag, empty_flag > > def main(): > mag = np.arange(0,21,1) > barb_incs = {'half': 2.57222, > 'full': 5.14444, > 'flag': 25.7222} > print 'With rounding' > num_flags, num_barb, half_flag, empty_flag = _find_tails(None, mag, > rounding=True, **barb_incs) > for i in range(len(mag)): > print mag[i], num_flags[i], num_barb[i], half_flag[i], > empty_flag[i] > print 'Without rounding' > num_flags, num_barb, half_flag, empty_flag = _find_tails(None, mag, > rounding=False, **barb_incs) > for i in range(len(mag)): > print mag[i], num_flags[i], num_barb[i], half_flag[i], > empty_flag[i] > > if __name__ == '__main__': > exit(main()) > > It seems like the error is not present when the barb increments are not > set. I believe the reason for the bug is the float comparison (half_flag = > mag >= half) where the value is rounded to a value very close to/identical > to the 'half' increment. And it seems like python does the right thing when > the "half" increment is a whole number but not always when it is not. > > But in any case the code should probably not depend two floats being equal. > > Best regards, > Jesper > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |