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
(8) |
2
(4) |
3
(21) |
4
(23) |
5
(3) |
6
|
7
(8) |
8
(2) |
9
|
10
(6) |
11
(4) |
12
(6) |
13
(1) |
14
(9) |
15
(10) |
16
(11) |
17
(3) |
18
(10) |
19
(9) |
20
(2) |
21
(10) |
22
(16) |
23
(8) |
24
(6) |
25
(6) |
26
(3) |
27
(5) |
28
(1) |
29
(14) |
30
(5) |
31
(14) |
|
|
> > "Alexander Michael" <[EMAIL PROTECTED]> writes: > > > I would like to create a plot axis with major tick labels centered > > *between* major tick markers instead below tick markers. > > Take a look at > > http://thread.gmane.org/gmane.comp.python.matplotlib.general/5271 > http://thread.gmane.org/gmane.comp.python.matplotlib.general/5296 > http://www.scipy.org/Cookbook/Matplotlib/Transformations > > -- > Jouni > > >From your references, I have been mostly able to figure out how to do it. Thank you. So far, I have: # create transformation with x in data coords and y in axes coordinates transLabels = matplotlib.transforms.blend_xy_sep_transform( ax.transData, ax.transAxes) # get major locator and usurp major formatter for custom positioning major_locator = ax.xaxis.get_major_locator() major_formatter = ax.xaxis.get_major_formatter() ax.xaxis.set_major_formatter(matplotlib.ticker.NullFormatter()) # create custom text labels centered between major tick marks major_locs = major_locator() for i in range(1,len(major_locs)): x_last,x = major_locs[i-1],major_locs[i] ax.text(0.5*(x+x_last), -0.04, major_formatter(x, i), transform=transLabels, horizontalalignment='center') When "zooming around" an interactive plot, however, my custom labels get pushed off into the margins. I'm guessing I need to put them in a clip box somehow. Any hints? Thanks! Alex
Thanks for the detailed reply. I was just wondering whether I was missing something obvious and that doesn't seem to be the case. Cheers Daniel Wheeler On Aug 2, 2006, at 2:15 PM, John Hunter wrote: >>>>>> "Daniel" == Daniel Wheeler <dan...@ni...> writes: > > Daniel> It seems that resetting the axes limits every time data > Daniel> needs to be redisplayed is rather inefficient. A script > Daniel> is included with this mail that tests the efficiency of > Daniel> resizing the y axis. The script has two loops, in the > Daniel> first loop pylab.ylim() is continuously called with the > Daniel> changing size of the domain, in the second loop > Daniel> pylab.ylim() is not called inside the loop. The first loop > Daniel> takes roughly twice as long to perform. Is this an > Daniel> unavoidable cost for resizing the y axis or is there > Daniel> another way to resize the axis that is less costly than > Daniel> using ylim()? > > The cost from the tick layout and formatting -- this could be made > more efficient but that is where the cost is currently. For every > tick label, matplotlib does a layout assuming you may have passed a > rotated multiline string. Special casing the no newline, non-rotated > case is probably where the biggest win would come from. It is > a good project for someone to tackle, but the text layout code is kind > of hairy because it deals with so many cases: mathtext, usetex, > rotated strings, multiline strings, top/bottom left/right alignment, > and so on. > > A complete refactoring of ticks to treat them as a single > collection-like object rather than a bunch of independent objects > would also help a lot here. > > JDH Daniel Wheeler
>>>>> "Daniel" == Daniel Wheeler <dan...@ni...> writes: Daniel> It seems that resetting the axes limits every time data Daniel> needs to be redisplayed is rather inefficient. A script Daniel> is included with this mail that tests the efficiency of Daniel> resizing the y axis. The script has two loops, in the Daniel> first loop pylab.ylim() is continuously called with the Daniel> changing size of the domain, in the second loop Daniel> pylab.ylim() is not called inside the loop. The first loop Daniel> takes roughly twice as long to perform. Is this an Daniel> unavoidable cost for resizing the y axis or is there Daniel> another way to resize the axis that is less costly than Daniel> using ylim()? The cost from the tick layout and formatting -- this could be made more efficient but that is where the cost is currently. For every tick label, matplotlib does a layout assuming you may have passed a rotated multiline string. Special casing the no newline, non-rotated case is probably where the biggest win would come from. It is a good project for someone to tackle, but the text layout code is kind of hairy because it deals with so many cases: mathtext, usetex, rotated strings, multiline strings, top/bottom left/right alignment, and so on. A complete refactoring of ticks to treat them as a single collection-like object rather than a bunch of independent objects would also help a lot here. JDH
It seems that resetting the axes limits every time data needs to be =20 redisplayed is rather inefficient. A script is included with this mail that tests the efficiency of =20 resizing the y axis. The script has two loops, in the first loop pylab.ylim() is =20 continuously called with the changing size of the domain, in the second loop pylab.ylim() is not called =20 inside the loop. The first loop takes roughly twice as long to perform. Is this an unavoidable cost for resizing the y axis or is there =20 another way to resize the axis that is less costly than using ylim()? =EF=BF=BC Cheers Daniel Wheeler