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}
(151) 
_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 




1
(8) 
2
(2) 
3
(11) 
4
(11) 
5
(3) 
6
(3) 
7
(8) 
8
(1) 
9
(10) 
10
(16) 
11
(1) 
12
(8) 
13
(21) 
14
(13) 
15
(15) 
16
(6) 
17
(12) 
18
(2) 
19
(6) 
20
(6) 
21
(5) 
22
(2) 
23
(9) 
24

25

26
(2) 
27
(3) 
28
(2) 
29
(10) 
30
(2) 
31
(4) 

From: Paul Ivanov <pivanov314@gm...>  20101228 10:27:41

Nathann Cohen, on 20101226 22:27, wrote: > Hello everybody !!! > > When adding some text to a plot, is there a way to know the actual > size of the letters as they appear, in such a way that I could, for > instance, draw a circle around a 'A', so that the A perfectly fits > inside ("the smallest circle containing the letter"), regardless of > the actual size of the picture I'm drawing ? Hi Nathann, Here's a quick and dirty way of getting what you want: import matplotlib.pyplot as plt import numpy as np ax = plt.subplot(111) t = plt.text(0.5,0.5,'A', ha='center', va='center') plt.draw() b = t.get_window_extent() # bounding box in pixel coordinates r = np.sqrt((b.bounds[2]/2)**2 + (b.bounds[1]/2)**2) plt.scatter(0.5,0.5, s=np.pi*r**2, marker='o', edgecolor='k', facecolor='w', lw=1,zorder=1) I don't think there's a super simple way of doing this by hand  because text keeps its size constant regardless of how you manipulate the axes. Here's an example that does what you want, if you only need the circle in one particular view (i.e. if you won't be rescaling/zooming in or out the axes: ax = plt.subplot(111) plt.plot([0,1,1],[0,0,1]) # keep the axes from resizing when we draw our circle t = plt.text(0.5,0.5,'A') plt.axis('equal') plt.draw() b = t.get_window_extent() # bounding box in pixel coordinates bbox = b.inverse_transformed(ax.transData) xc,yc = bbox.get_points().mean(0) r = np.sqrt((bbox.bounds[2]/2)**2 + (bbox.bounds[1]/2)**2) theta = np.linspace(0,2*np.pi,200) x,y = r*(np.cos(theta)), r*np.sin(theta) l = plt.plot(x+xc, y+yc) This does exactly what you want, but now, anytime you resize the axes, the A will stay the same size, but that circle will get resized. ax = plt.subplot(111) plt.plot([0,1,1],[0,0,1]) # keep the axes from resizing when we draw our circle t = plt.text(0.5,0.5,'A') plt.axis('equal') plt.draw() b = t.get_window_extent() # bounding box in pixel coordinates bbox = b.inverse_transformed(ax.transAxes) xc,yc = bbox.get_points().mean(0) r = np.sqrt((bbox.bounds[2]/2)**2 + (bbox.bounds[1]/2)**2) theta = np.linspace(0,2*np.pi,200) x,y = r*(np.cos(theta)), r*np.sin(theta) l = plt.plot(x+xc, y+yc, transform=ax.transAxes) The above will keep the circle from resizing when you move  but now it prevents the circle from following 'A' as you pan around. I see that matplotlib.collections (which is what plt.scatter creates in the quickanddirty example) uses offset and transOffset to get the job done, but I couldn't figure out a way to get my last two examples to do something similar by just manipulating the transforms. Hopefully someone chimes in with a better solution. For more on transformations see: http://matplotlib.sourceforge.net/users/transforms_tutorial.html And you can wrap my handrolled solution nicely using something like: http://matplotlib.sourceforge.net/examples/api/line_with_text.html best,  Paul Ivanov 314 address only used for lists, offlist direct email at: http://pirsquared.org  GPG/PGP key id: 0x0F3E28F7 
From: Paul Ivanov <pivanov314@gm...>  20101228 02:39:51

Philippe Piot, on 20101227 13:58, wrote: > 1/ When executing the above script, I also display the histograms > generated when invoking "hist" (I tried to make this line tranparaent > by using alpha=0 but it did not work). Hi Philippe, welcome to matplotlib  I think what you really want to do is just use numpy's histogram function, and then plot the result. This is actually the function matplotlib's hist uses behind the scenes. > 2/ can I directly manipulate the data within an histogram to > arbitrarily offset the histogram? Once you get the histogram using numpy, you can plot it in in any way you want. Here's a small example: import numpy as np import matplotlib.pyplot as plt h,edges = np.histogram(np.random.randn(1000)) plt.bar(edges[:1],h, width=edges[1]edges[0]) plt.bar(edges[:1]10,h, width=edges[1]edges[0]) #offset plt.step(edges[1:],h) # plot as step lines instead of bars plt.step(edges[1:]+10,h) # same as above, with an offset best,  Paul Ivanov 314 address only used for lists, offlist direct email at: http://pirsquared.org  GPG/PGP key id: 0x0F3E28F7 