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
(19) |
2
(30) |
3
(14) |
4
(1) |
5
(16) |
6
(7) |
7
(12) |
8
(14) |
9
(35) |
10
(16) |
11
(31) |
12
(6) |
13
(14) |
14
(13) |
15
(20) |
16
(15) |
17
(27) |
18
(5) |
19
(10) |
20
(22) |
21
(20) |
22
(30) |
23
(25) |
24
(11) |
25
(2) |
26
(2) |
27
(23) |
28
(20) |
29
(26) |
30
(25) |
31
(7) |
|
Hi, I found the problem. It was not a bug of matplotlib (of course should I say). It was a bug in my code (with the click event handling method). Jonathan Demaeyer Jonathan a écrit : > Hi everyone, > > I use matplotlib to render a figure in a tkinter (the Tix library more precisely) canvas. > It works very well but I can't turn off the autoscale (and I would like to), even by setting > ax.set_autoscale_on(False). When I test with ax.get_autoscale_on(), the result is False, but the > axes continues to autoscale. > > I didn't had this problem in the past with ubuntu 8.04. I have it since I made the update to the > 8.10 distribution so I guess that it's because the version of matplotlib I use have changed also > (but I don't remember the number of this previous version). Now I use python 2.5.2, Tix 8.4.0, mpl > 0.98.3, numpy 1.2.1 ppa release, scipy 0.7.0 ppa release. > > Here is the graphic part of my app : > > class GraphFrame(Tix.Frame): > def __init__(self,master): > Tix.Frame.__init__(self,master,bd=10) > self.gen = Tix.Frame(self) > self.fps = Figure(figsize=(5,4),dpi=100,facecolor='w') > > self.tlps = 'Phase Space' > self.xlps = {'xlabel' : r'$x$','fontsize' : 16} > self.ylps = {'ylabel' : r'$p$','rotation' : 'horizontal','fontsize' : 16} > self.aps = self.fps.add_subplot(111) > self.aps.set_title(self.tlps) > self.aps.set_xlabel(**self.xlps) > self.aps.set_ylabel(**self.ylps) > self.canvasps = FigureCanvasTkAgg(self.fps,master=self.gen) > self.canvasps.get_tk_widget().pack(side=Tix.TOP,fill=Tix.BOTH,expand=1) > self.toolbar = NavigationToolbar2TkAgg(self.canvasps, self.gen) > self.toolbar.update() > self.canvasps._tkcanvas.pack(side=Tix.TOP, fill=Tix.BOTH, expand=1) > self.gen.grid(row=0, columnspan=14, sticky='NWSE') > self.aps.set_autoscale_on(False) #doesn't work !!! > # self.aps.autoscale_view(scalex=False,scaley=False) > self.psLin = [] > self.cl = ('r','g','b','c','y','m','k') > self.coch = self.canvasps.mpl_connect('button_press_event', self.onpsclick) > self.crh = self.canvasps.mpl_connect('button_release_event', self.onpsrelease) > self.cmh = self.canvasps.mpl_connect('motion_notify_event', self.onpsmotion) > self.cFrame = None > self.press = False > > def ocps_connect(self): > self.coch = self.canvasps.mpl_connect('button_press_event', self.onpsclick) > self.crh = self.canvasps.mpl_connect('button_release_event', self.onpsrelease) > self.cmh = self.canvasps.mpl_connect('motion_notify_event', self.onpsmotion) > > def ocps_disconnect(self): > self.canvasps.mpl_disconnect(self.coch) > self.canvasps.mpl_disconnect(self.crh) > self.canvasps.mpl_disconnect(self.cmh) > > #some method I use to update the graph > > def psaddData_m(self,u,xmin,xmax,pmin,pmax,m=','): > line = lines.Line2D(u[:,0],u[:,1], > linestyle='None', > marker=m, > color=self.cl[np.mod(len(self.psLin)-1,6)]) > self.psLin.append(line) > self.psDraw(xmin,xmax,pmin,pmax) > > def psaddData_l(self,u,xmin,xmax,pmin,pmax,l='-'): > line = lines.Line2D(u[:,0],u[:,1], > linestyle=l, > color=self.cl[np.mod(len(self.psLin)-1,6)]) > self.psLin.append(line) > self.psDraw(xmin,xmax,pmin,pmax) > > def psdelData(self,n): > del self.psLin[n] > self.aps.clear() > # self.aps.cla() > for l in self.psLin: > self.aps.add_line(l) > self.aps.set_title(self.tlps) > self.aps.set_xlabel(**self.xlps) > self.aps.set_ylabel(**self.ylps) > self.aps.redraw_in_frame() > self.canvasps.blit() > > > def psDraw(self,xmin,xmax,pmin,pmax): > # self.aps.clear() > self.aps.cla() > self.aps.set_xlim(xmin,xmax) > self.aps.set_ylim(pmin,pmax) > for l in self.psLin: > self.aps.add_line(l) > self.aps.set_title(self.tlps) > self.aps.set_xlabel(**self.xlps) > self.aps.set_ylabel(**self.ylps) > self.aps.draw() > self.canvasps.blit() > # self.aps.set_autoscale_on(False) > # self.aps.autoscale_view(scalex=False,scaley=False) > # a = self.aps.get_autoscale_on() > # print a > > def psifRedraw(self): > self.aps.clear() > # self.aps.cla() > for l in self.psLin: > self.aps.add_line(l) > self.aps.set_title(self.tlps) > self.aps.set_xlabel(**self.xlps) > self.aps.set_ylabel(**self.ylps) > self.aps.redraw_in_frame() > self.canvasps.blit() > > def psRedraw(self): > self.aps.redraw_in_frame() > self.canvasps.blit() > > # click event handling > > def onpsclick(self,event): > > Bhv=self.cFrame.stDico['psMode'].get() > > if event.inaxes!=self.aps: return > if Bhv == 'Nothing': return > > self.press = True > > if Bhv == 'Traj': > > > niter=int(self.cFrame.stDico['n iter'].get()) > jb = self.cFrame.TrajJacob.get() > if jb: > lj = float(self.cFrame.TJDirlStr.get()) > hj = float(self.cFrame.TJDirhderStr.get()) > jnb = self.cFrame.nTrajJacob.get() > if jnb: > ljn = float(self.cFrame.nTJDirlStr.get()) > hjn = float(self.cFrame.nTJDirhderStr.get()) > > v = np.array([event.xdata,event.ydata]) > s = [v] > if jb: sj = [Jacob(v,hj,utils.dfridr)] > if jnb: sjn = [Jacob(v,hjn,utils.dfridr)] > for i in xrange(0,niter): > u = pm.Map(v) > s.append(u) > v = u > if jb: sj.append(Jacob(v,hj,utils.dfridr)) > if jnb: sjn.append(np.dot(sjn[-1],Jacob(v,hjn,utils.dfridr))) > w = np.vstack(s) > line = lines.Line2D(w[:,0],w[:,1],color='b') > if jb: > for i in xrange(len(sj)): > J = sj[i] > v = s[i] > (lr,vr) = eig(J,right=True) > if reduce(lambda x,y : (np.abs(x)-1.)*(np.abs(y)-1.),lr) >= 0: > print 'Problem : The point '+str(i+1)+' is not hyperbolic' > print 'J=',J > print 'l=',lr > else: > if abs(lr[0]) < 1.: > u1 = vr[:,0] > u2 = vr[:,1] > else: > u1 = vr[:,1] > u2 = vr[:,0] > ul1 = np.vstack([v-lj*u1,v+lj*u1]) > ul2 = np.vstack([v-lj*u2,v+lj*u2]) > line1 = lines.Line2D(ul1[:,0],ul1[:,1],color='b') > line2 = lines.Line2D(ul2[:,0],ul2[:,1],color='r') > self.aps.add_line(line1) > self.aps.add_line(line2) > if jnb: > for i in xrange(len(sjn)): > J = sjn[i] > v = s[i] > (lr,vr) = eig(J,right=True) > if reduce(lambda x,y : (np.abs(x)-1.)*(np.abs(y)-1.),lr) >= 0: > print 'Problem : The traj '+str(i+1)+' is not hyperbolic' > print 'J=',J > print 'l=',lr > else: > if abs(lr[0]) < 1.: > u1 = vr[:,0] > u2 = vr[:,1] > else: > u1 = vr[:,1] > u2 = vr[:,0] > ul1 = np.vstack([v-ljn*u1,v+ljn*u1]) > ul2 = np.vstack([v-ljn*u2,v+ljn*u2]) > line1 = lines.Line2D(ul1[:,0],ul1[:,1],color='g') > line2 = lines.Line2D(ul2[:,0],ul2[:,1],color='m') > self.aps.add_line(line1) > self.aps.add_line(line2) > > elif Bhv == '1it': > v = np.array([event.xdata,event.ydata]) > u = pm.Map(v) > w = np.vstack([v,u]) > line = lines.Line2D(w[:,0],w[:,1], > linestyle='None', > marker='+', > markersize=10., > color='k') > elif Bhv == 'Preim': > > xmin=float(self.cFrame.stDico['pixmin'].get()) > xmax=float(self.cFrame.stDico['pixmax'].get()) > pmin=float(self.cFrame.stDico['pipmin'].get()) > pmax=float(self.cFrame.stDico['pipmax'].get()) > nx=int(self.cFrame.stDico['pinx'].get()) > ny=int(self.cFrame.stDico['pinp'].get()) > tol=float(self.cFrame.stDico['pitol'].get()) > it=int(self.cFrame.stDico['piter'].get()) > al=float(self.cFrame.stDico['pialpha'].get()) > npim = self.cFrame.preimmVar.get() > > v = np.array([event.xdata,event.ydata]) > u = preMap(npim,v,xmin,xmax,pmin,pmax,nx,ny,tol,it,al) > if u != None: > w = np.vstack([v,u]) > else: > w = v > w.shape = 1,2 > line = lines.Line2D(w[:,0],w[:,1], > linestyle='None', > marker='+', > markersize=10., > color='k') > > elif Bhv == 'Jacob': > l = float(self.cFrame.DirlStr.get()) > h = float(self.cFrame.DirhderStr.get()) > v = np.array([event.xdata,event.ydata]) > J = Jacob(v,h,utils.dfridr) > (lr,vr) = eig(J,right=True) > if reduce(lambda x,y : (np.abs(x)-1.)*(np.abs(y)-1.),lr) >= 0: > print 'Problem : The point is not hyperbolic' > print 'J=',J > print 'l=',lr > return > if abs(lr[0]) < 1.: > u1 = vr[:,0] > u2 = vr[:,1] > else: > u1 = vr[:,1] > u2 = vr[:,0] > ul1 = np.vstack([v-l*u1,v+l*u1]) > ul2 = np.vstack([v-l*u2,v+l*u2]) > line = lines.Line2D(ul1[:,0],ul1[:,1],color='b') > line1 = lines.Line2D(ul2[:,0],ul2[:,1],color='r') > self.aps.add_line(line1) > > self.aps.add_line(line) > # self.aps.set_title(self.tlps) > # self.aps.set_xlabel(**self.xlps) > # self.aps.set_ylabel(**self.ylps) > self.aps.redraw_in_frame() > self.canvasps.blit() > > def onpsmotion(self,event): > > Bhv=self.cFrame.stDico['psMode'].get() > > if event.inaxes!=self.aps: return > if self.press == False: return > if Bhv == 'Nothing': return > > self.aps.clear() > # self.aps.cla() > for l in self.psLin: > self.aps.add_line(l) > self.aps.set_title(self.tlps) > self.aps.set_xlabel(**self.xlps) > self.aps.set_ylabel(**self.ylps) > > if Bhv == 'Traj': > > > niter=int(self.cFrame.stDico['n iter'].get()) > jb = self.cFrame.TrajJacob.get() > if jb: > lj = float(self.cFrame.TJDirlStr.get()) > hj = float(self.cFrame.TJDirhderStr.get()) > jnb = self.cFrame.nTrajJacob.get() > if jnb: > ljn = float(self.cFrame.nTJDirlStr.get()) > hjn = float(self.cFrame.nTJDirhderStr.get()) > > v = np.array([event.xdata,event.ydata]) > s = [v] > if jb: sj = [Jacob(v,hj,utils.dfridr)] > if jnb: sjn = [Jacob(v,hjn,utils.dfridr)] > for i in xrange(0,niter): > u = pm.Map(v) > s.append(u) > v = u > if jb: sj.append(Jacob(v,hj,utils.dfridr)) > if jnb: sjn.append(np.dot(sjn[-1],Jacob(v,hjn,utils.dfridr))) > w = np.vstack(s) > line = lines.Line2D(w[:,0],w[:,1],color='b') > if jb: > for i in xrange(len(sj)): > J = sj[i] > v = s[i] > (lr,vr) = eig(J,right=True) > if reduce(lambda x,y : (np.abs(x)-1.)*(np.abs(y)-1.),lr) >= 0: > print 'Problem : The point '+str(i+1)+' is not hyperbolic' > print 'J=',J > print 'l=',lr > else: > if abs(lr[0]) < 1.: > u1 = vr[:,0] > u2 = vr[:,1] > else: > u1 = vr[:,1] > u2 = vr[:,0] > ul1 = np.vstack([v-lj*u1,v+lj*u1]) > ul2 = np.vstack([v-lj*u2,v+lj*u2]) > line1 = lines.Line2D(ul1[:,0],ul1[:,1],color='b') > line2 = lines.Line2D(ul2[:,0],ul2[:,1],color='r') > self.aps.add_line(line1) > self.aps.add_line(line2) > if jnb: > for i in xrange(len(sjn)): > J = sjn[i] > v = s[i] > (lr,vr) = eig(J,right=True) > if reduce(lambda x,y : (np.abs(x)-1.)*(np.abs(y)-1.),lr) >= 0: > print 'Problem : The traj '+str(i+1)+' is not hyperbolic' > print 'J=',J > print 'l=',lr > else: > if abs(lr[0]) < 1.: > u1 = vr[:,0] > u2 = vr[:,1] > else: > u1 = vr[:,1] > u2 = vr[:,0] > ul1 = np.vstack([v-ljn*u1,v+ljn*u1]) > ul2 = np.vstack([v-ljn*u2,v+ljn*u2]) > line1 = lines.Line2D(ul1[:,0],ul1[:,1],color='g') > line2 = lines.Line2D(ul2[:,0],ul2[:,1],color='m') > self.aps.add_line(line1) > self.aps.add_line(line2) > > elif Bhv == '1it': > v = np.array([event.xdata,event.ydata]) > u = pm.Map(v) > w = np.vstack([v,u]) > line = lines.Line2D(w[:,0],w[:,1], > linestyle='None', > marker='+', > markersize=10., > color='k') > elif Bhv == 'Preim': > > xmin=float(self.cFrame.stDico['pixmin'].get()) > xmax=float(self.cFrame.stDico['pixmax'].get()) > pmin=float(self.cFrame.stDico['pipmin'].get()) > pmax=float(self.cFrame.stDico['pipmax'].get()) > nx=int(self.cFrame.stDico['pinx'].get()) > ny=int(self.cFrame.stDico['pinp'].get()) > tol=float(self.cFrame.stDico['pitol'].get()) > it=int(self.cFrame.stDico['piter'].get()) > al=float(self.cFrame.stDico['pialpha'].get()) > npim = self.cFrame.preimmVar.get() > > v = np.array([event.xdata,event.ydata]) > u = preMap(npim,v,xmin,xmax,pmin,pmax,nx,ny,tol,it,al) > if u != None: > w = np.vstack([v,u]) > else: > w = v > w.shape = 1,2 > line = lines.Line2D(w[:,0],w[:,1], > linestyle='None', > marker='+', > markersize=10., > color='k') > elif Bhv == 'Jacob': > l = float(self.cFrame.DirlStr.get()) > h = float(self.cFrame.DirhderStr.get()) > v = np.array([event.xdata,event.ydata]) > J = Jacob(v,h,utils.dfridr) > (lr,vr) = eig(J,right=True) > if reduce(lambda x,y : (np.abs(x)-1.)*(np.abs(y)-1.),lr) >= 0: > print 'Problem : The point is not hyperbolic' > print 'J=',J > print 'l=',lr > return > if abs(lr[0]) < 1.: > u1 = vr[:,0] > u2 = vr[:,1] > else: > u1 = vr[:,1] > u2 = vr[:,0] > ul1 = np.vstack([v-l*u1,v+l*u1]) > ul2 = np.vstack([v-l*u2,v+l*u2]) > line = lines.Line2D(ul1[:,0],ul1[:,1],color='b') > line1 = lines.Line2D(ul2[:,0],ul2[:,1],color='r') > self.aps.add_line(line1) > > > self.aps.add_line(line) > # self.aps.set_title(self.tlps) > # self.aps.set_xlabel(**self.xlps) > # self.aps.set_ylabel(**self.ylps) > self.aps.redraw_in_frame() > self.canvasps.blit() > > def onpsrelease(self,event): > self.press = False > self.aps.clear() > # self.aps.cla() > for l in self.psLin: > self.aps.add_line(l) > self.aps.set_title(self.tlps) > self.aps.set_xlabel(**self.xlps) > self.aps.set_ylabel(**self.ylps) > self.aps.redraw_in_frame() > self.canvasps.blit() > # end > > I don't know if it is a bug or something else but thank you in advance if you can help me. > > Jonathan > > > ------------------------------------------------------------------------------ > Enter the BlackBerry Developer Challenge > This is your chance to win up to 100,000ドル in prizes! For a limited time, > vendors submitting new applications to BlackBerry App World(TM) will have > the opportunity to enter the BlackBerry Developer Challenge. See full prize > details at: http://p.sf.net/sfu/blackberry
Hi there, I am trying to get an old project to run again (pbrain) but I am stopped by a few matplotlib.transforms dependencies: from matplotlib.transforms import get_bbox_transform, Point, Value, Bbox,\ unit_bbox, blend_xy_sep_transform I was wondering if anyone knows what happened to the functions or how to replace them. It's possible get_bbox_transform is now BboxTransform, but I cannot guess the other names from: >>> import matplotlib.transforms as t >>> dir(t) ['Affine2D', 'Affine2DBase', 'AffineBase', 'Bbox', 'BboxBase', 'BboxTransform', 'BboxTransformFrom', 'BboxTransformTo', 'BlendedAffine2D', 'BlendedGenericTransform', 'CompositeAffine2D', 'CompositeGenericTransform', 'DEBUG', 'IdentityTransform', 'MaskedArray', 'Path', 'ScaledTranslation', 'Transform', 'TransformNode', 'TransformWrapper', 'TransformedBbox', 'TransformedPath', 'WeakKeyDictionary', '__builtins__', '__doc__', '__file__', '__name__', 'affine_transform', 'blended_transform_factory', 'cbook', 'composite_transform_factory', 'count_bboxes_overlapping_bbox', 'interval_contains', 'interval_contains_open', 'inv', 'ma', 'nonsingular', 'np', 'offset_copy', 'update_path_extents', 'warnings'] Christian
On Fri, Jul 10, 2009 at 10:15 AM, Michael Droettboom <md...@st...>wrote: > Gökhan SEVER wrote: > >> Your suggested work-arounds worked like a charming. See my before and >> after plots at the given links: >> >> http://img34.imageshack.us/img34/3899/dccnplot1.png >> http://img27.imageshack.us/img27/6274/dccnplot2.png >> >> I have one tiny question left working on these figures; that is: how to >> make mathtext font and a regular label font at the same size? >> >> For instance: >> >> host.set_ylabel(r"DMT CCN Concentration [ #/$cm^3$]") >> >> but as it is seen from the figure they look a bit weird. >> >> It will be impossible to get these two fonts appearing as the same size, > but you can make the math rendering use the same font as the rest of the > text by setting "mathtext.default" to "regular" (assuming "text.usetex" is > False). > > Mike > > -- > Michael Droettboom > Science Software Branch > Operations and Engineering Division > Space Telescope Science Institute > Operated by AURA for NASA > > Thanks Mike. This was what I been looking for. Now the unit and the actual text label looks much nicer. Is this information available somewhere on the documentation? If not I may add... -- Gökhan
Gökhan SEVER wrote: > Your suggested work-arounds worked like a charming. See my before and > after plots at the given links: > > http://img34.imageshack.us/img34/3899/dccnplot1.png > http://img27.imageshack.us/img27/6274/dccnplot2.png > > I have one tiny question left working on these figures; that is: how > to make mathtext font and a regular label font at the same size? > > For instance: > > host.set_ylabel(r"DMT CCN Concentration [ #/$cm^3$]") > > but as it is seen from the figure they look a bit weird. > It will be impossible to get these two fonts appearing as the same size, but you can make the math rendering use the same font as the rest of the text by setting "mathtext.default" to "regular" (assuming "text.usetex" is False). Mike -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA
On Thu, Jul 9, 2009 at 11:08 PM, Jae-Joon Lee <lee...@gm...> wrote: > On Thu, Jul 9, 2009 at 12:40 AM, Gökhan SEVER<gok...@gm...> > wrote: > > I have one tiny question left working on these figures; that is: how to > make > > mathtext font and a regular label font at the same size? > > > > For instance: > > > > host.set_ylabel(r"DMT CCN Concentration [ #/$cm^3$]") > > > > but as it is seen from the figure they look a bit weird. > > My guess is that this is the default behavior of tex rendering, but i > may be wrong. > If you want bigger mathtext, I think you need to use tex command, but > again, i'm not sure and I hope someone else answer this. > > -JJ > I am studying the example given here: http://www.scipy.org/Wiki/Cookbook/Matplotlib/UsingTex and changing the related parameters in my matplotlibrc file. However still couldn't find the right combination to make the texts and math symbols look similar. Any suggestion? -- Gökhan
vehemental wrote: > > Hi, I may be wrong, but arent these already examples of what you trying to > show here?: > > http://matplotlib.sourceforge.net/examples/pylab_examples/line_collection2.html > http://matplotlib.sourceforge.net/examples/pylab_examples/ellipse_collection.html > > if you use a collection you can quickly setup the colors of all your > elements..by just passing an array.... > > jimmy > > "same same, but different"... I guess here one would have to assume you're only plotting lines? Or only plotting ellipses, but say for example you had different types of plots you would make, and just need a set of collections.. say you wanted to mix scatter plots with line plots. The point is, yes, you're correct, I think this basically does do what I'm talking about, but having a way to create a 'generic' set of colors that can be indexed I think is nice. There may be a more 'matplotlibish' way to do it, I just didn't find it. Seem ultimately there should be something like: from matplotlib.colors import colorset where colorset could just be defined with an integer as the number of colors, and perhaps a cmap as an option... Maybe it's there?!?! I just haven't found it. My sudo code would be: plotcolors = colorset(10,cmap=cm.jet) for i in range(len(dataset)): x,y = dataset[i] plot(x,y, plotcolors[i]) ... or something. **Note: I realize this isn't the best example, as plot(X,Y) would do it automagically... -- View this message in context: http://www.nabble.com/contribute-to-gallery--Or%2C-just-advice-on-changing-colors-automagically....-tp24419101p24427781.html Sent from the matplotlib - users mailing list archive at Nabble.com.
Hi, I may be wrong, but arent these already examples of what you trying to show here?: http://matplotlib.sourceforge.net/examples/pylab_examples/line_collection2.html http://matplotlib.sourceforge.net/examples/pylab_examples/ellipse_collection.html if you use a collection you can quickly setup the colors of all your elements..by just passing an array.... jimmy John [H2O] wrote: > > Just curious if you're interested in folks contributing to the gallery. I > was playing around trying to come up with a routine to automatically > choose colors when plotting several datasets, not necessarily from a > single array, but rather say iterating through a list of datasets. I came > up with the following... maybe it's of interest? And certainly of > interest to me... any advice on what could be done better! > > Thanks! > > > >> #!/usr/bin/env python >> >> import numpy as np >> import matplotlib.pyplot as plt >> import matplotlib.cm as cm >> import matplotlib.colors as colors >> >> """A script to demonstrate automatically assigning colors based >> on the number of x,y pairs to be plotted. """ >> >> # First example >> # set up some example data >> x = np.random.random((430,23)) >> >> # This is the important part for 'autocoloring' >> # get an array of 0-1 values, length of numint (#data sets >> # that you will iterate through), these will define the colors >> numint = x.shape[1] >> Nc = np.array([float(i)/numint for i in range(numint)]) >> norm = colors.normalize(Nc.min(),Nc.max()) >> >> fig = plt.figure() >> ax = fig.add_subplot(111) >> interval = 0 >> for i in range(numint): >> #get a new color >> cmap = cm.jet(norm(Nc[i])) >> ax.scatter(x[:,0],x[:,i],color=cmap) >> >> >> # Second example >> # something a little more interesting >> fig2 = plt.figure() >> ax2 = fig2.add_subplot(111) >> X = np.arange(400) >> y = np.sin(X) >> y2 = X*.2 >> x = np.column_stack((y,y2)) >> >> #define an interval, the dataset is divided by this value >> intervalsize = 23 >> numint = int(np.round(x.shape[0]/intervalsize)) + 1 >> >> # This is the important part for 'autocoloring' >> # get an array of 0-1 values, length of numint >> # these will define the colors >> Nc = np.array([float(i)/numint for i in range(numint)]) >> norm = colors.normalize(Nc.min(),Nc.max()) >> >> interval = 0 >> for i in range(0,len(x),intervalsize): >> # define the index array (easier than typing) >> indx = np.arange(i,i+intervalsize) >> #get a new color >> cmap = cm.jet(norm(Nc[interval])) >> # the indx as defined above may exceed >> # the data array >> try: >> ax2.scatter(x[indx,0],x[indx,1],color=cmap) >> #print indx >> # case to handle tail of data >> except: >> #plt.scatter(x[i:,0],x[i:,1],color=cmap) >> print 'OOPS, index exceeds dimensions:',indx >> pass >> # so that you don't miss the last interval >> if len(x)-i < intervalsize: >> ax2.scatter(x[i+1:,0],x[i+1:,1],color=cmap) >> print 'last bits...' >> interval+=1 >> >> plt.show() >> > -- View this message in context: http://www.nabble.com/contribute-to-gallery--Or%2C-just-advice-on-changing-colors-automagically....-tp24419101p24427289.html Sent from the matplotlib - users mailing list archive at Nabble.com.
On Fri, Jul 10, 2009 at 11:45 AM, Michiel de Hoon<mjl...@ya...> wrote: > > It's probably the -L/usr/X11R6/lib that is causing a problem. Can you try linking without it? > Yes, that's it... running the command by hand without that stops the error: robin-mbp-3:matplotlib robince$ g++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g -bundle -undefined dynamic_lookup build/temp.macosx-10.3-i386-2.5/src/_macosx.o build/temp.macosx-10.3-i386-2.5/CXX/cxx_extensions.o build/temp.macosx-10.3-i386-2.5/CXX/cxxextensions.o build/temp.macosx-10.3-i386-2.5/CXX/cxxsupport.o build/temp.macosx-10.3-i386-2.5/CXX/IndirectPythonInterface.o build/temp.macosx-10.3-i386-2.5/src/agg_py_transforms.o build/temp.macosx-10.3-i386-2.5/src/path_cleanup.o -L/usr/local/lib -L/usr/lib -L/usr/X11R6/lib -lstdc++ -lm -o build/lib.macosx-10.3-i386-2.5/matplotlib/backends/_macosx.so -framework Cocoa ld: cycle in dylib re-exports with /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libGL.dylib collect2: ld returned 1 exit status robin-mbp-3:matplotlib robince$ g++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g -bundle -undefined dynamic_lookup build/temp.macosx-10.3-i386-2.5/src/_macosx.o build/temp.macosx-10.3-i386-2.5/CXX/cxx_extensions.o build/temp.macosx-10.3-i386-2.5/CXX/cxxextensions.o build/temp.macosx-10.3-i386-2.5/CXX/cxxsupport.o build/temp.macosx-10.3-i386-2.5/CXX/IndirectPythonInterface.o build/temp.macosx-10.3-i386-2.5/src/agg_py_transforms.o build/temp.macosx-10.3-i386-2.5/src/path_cleanup.o -L/usr/local/lib -L/usr/lib -lstdc++ -lm -o build/lib.macosx-10.3-i386-2.5/matplotlib/backends/_macosx.so -framework Cocoa robin-mbp-3:matplotlib robince$ Cheers Robin > --Michiel. > > --- On Fri, 7/10/09, Robin <ro...@gm...> wrote: > >> From: Robin <ro...@gm...> >> Subject: Re: [Matplotlib-users] current svn fails to build on mac >> To: "Michiel de Hoon" <mjl...@ya...> >> Cc: mat...@li... >> Date: Friday, July 10, 2009, 4:03 AM >> On Fri, Jul 10, 2009 at 1:33 AM, >> Michiel de Hoon<mjl...@ya...> >> wrote: >> > Can you verify that matplotlib 0.98.5.3 still compiles >> correctly? >> > If it does, we can compare the linker flags used for >> 0.98.5.3 and the svn version to find the problem. >> >> Yes - just removed build dirs and did both from scratch. >> 0.98.5.3 - fine, full build log: >> http://www.robince.net/robince/mpl/build-0.98.5.3.log >> svn7250 - fails, full build log: >> http://www.robince.net/robince/mpl/build-svn7250.log >> >> The relevant sections of the logs (I think) are: >> >> Release >> ----------- >> building 'matplotlib.backends._macosx' extension >> >> gcc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk >> -fno-strict-aliasing -Wno-long-double -no-cpp-precomp >> -mno-fused-madd >> -fno-common -dynamic -DNDEBUG -g -O3 >> -I/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/core/include >> -I/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 >> -c src/_macosx.m -o >> build/temp.macosx-10.3-i386-2.5/src/_macosx.o >> >> gcc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g >> -bundle >> -undefined dynamic_lookup >> build/temp.macosx-10.3-i386-2.5/src/_macosx.o -o >> build/lib.macosx-10.3-i386-2.5/matplotlib/backends/_macosx.so >> -framework Cocoa >> >> SVN >> ------ >> building 'matplotlib.backends._macosx' extension >> >> gcc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk >> -fno-strict-aliasing -Wno-long-double -no-cpp-precomp >> -mno-fused-madd >> -fno-common -dynamic -DNDEBUG -g -O3 >> -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API >> -I/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/core/include >> -I/usr/local/include -I/usr/include -I/usr/X11R6/include >> -I. >> -I/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/core/include >> -Isrc -Iagg24/include -I. >> -I/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 >> -c src/_macosx.m -o >> build/temp.macosx-10.3-i386-2.5/src/_macosx.o >> >> g++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g >> -bundle >> -undefined dynamic_lookup >> build/temp.macosx-10.3-i386-2.5/src/_macosx.o >> build/temp.macosx-10.3-i386-2.5/CXX/cxx_extensions.o >> build/temp.macosx-10.3-i386-2.5/CXX/cxxextensions.o >> build/temp.macosx-10.3-i386-2.5/CXX/cxxsupport.o >> build/temp.macosx-10.3-i386-2.5/CXX/IndirectPythonInterface.o >> build/temp.macosx-10.3-i386-2.5/src/agg_py_transforms.o >> build/temp.macosx-10.3-i386-2.5/src/path_cleanup.o >> -L/usr/local/lib >> -L/usr/lib -L/usr/X11R6/lib -lstdc++ -lm -o >> build/lib.macosx-10.3-i386-2.5/matplotlib/backends/_macosx.so >> -framework Cocoa >> >> ld: cycle in dylib re-exports with >> /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libGL.dylib >> collect2: ld returned 1 exit status >> error: command 'g++' failed with exit status 1 >> >> >> Obviously lots of differences but I've no idea what would >> be causing it. >> >> Cheers >> >> Robin >> > > > >
Hello, are there some relative/absolute limits in the plotting area? I would like to set some text (labels) in the plot automatically, so that I do not need to recalculate everytime where they should go. I mean some kind of absolute X0, Y0, X1, Y1 , so that I know where to place the labels in text in the plot area without having to look at the particular values of the particular plot I am dealing with, in a series of very similar plots. Thanks, Pau
It's probably the -L/usr/X11R6/lib that is causing a problem. Can you try linking without it? --Michiel. --- On Fri, 7/10/09, Robin <ro...@gm...> wrote: > From: Robin <ro...@gm...> > Subject: Re: [Matplotlib-users] current svn fails to build on mac > To: "Michiel de Hoon" <mjl...@ya...> > Cc: mat...@li... > Date: Friday, July 10, 2009, 4:03 AM > On Fri, Jul 10, 2009 at 1:33 AM, > Michiel de Hoon<mjl...@ya...> > wrote: > > Can you verify that matplotlib 0.98.5.3 still compiles > correctly? > > If it does, we can compare the linker flags used for > 0.98.5.3 and the svn version to find the problem. > > Yes - just removed build dirs and did both from scratch. > 0.98.5.3 - fine, full build log: > http://www.robince.net/robince/mpl/build-0.98.5.3.log > svn7250 - fails, full build log: > http://www.robince.net/robince/mpl/build-svn7250.log > > The relevant sections of the logs (I think) are: > > Release > ----------- > building 'matplotlib.backends._macosx' extension > > gcc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk > -fno-strict-aliasing -Wno-long-double -no-cpp-precomp > -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -O3 > -I/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/core/include > -I/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 > -c src/_macosx.m -o > build/temp.macosx-10.3-i386-2.5/src/_macosx.o > > gcc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g > -bundle > -undefined dynamic_lookup > build/temp.macosx-10.3-i386-2.5/src/_macosx.o -o > build/lib.macosx-10.3-i386-2.5/matplotlib/backends/_macosx.so > -framework Cocoa > > SVN > ------ > building 'matplotlib.backends._macosx' extension > > gcc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk > -fno-strict-aliasing -Wno-long-double -no-cpp-precomp > -mno-fused-madd > -fno-common -dynamic -DNDEBUG -g -O3 > -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API > -I/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/core/include > -I/usr/local/include -I/usr/include -I/usr/X11R6/include > -I. > -I/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/core/include > -Isrc -Iagg24/include -I. > -I/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 > -c src/_macosx.m -o > build/temp.macosx-10.3-i386-2.5/src/_macosx.o > > g++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g > -bundle > -undefined dynamic_lookup > build/temp.macosx-10.3-i386-2.5/src/_macosx.o > build/temp.macosx-10.3-i386-2.5/CXX/cxx_extensions.o > build/temp.macosx-10.3-i386-2.5/CXX/cxxextensions.o > build/temp.macosx-10.3-i386-2.5/CXX/cxxsupport.o > build/temp.macosx-10.3-i386-2.5/CXX/IndirectPythonInterface.o > build/temp.macosx-10.3-i386-2.5/src/agg_py_transforms.o > build/temp.macosx-10.3-i386-2.5/src/path_cleanup.o > -L/usr/local/lib > -L/usr/lib -L/usr/X11R6/lib -lstdc++ -lm -o > build/lib.macosx-10.3-i386-2.5/matplotlib/backends/_macosx.so > -framework Cocoa > > ld: cycle in dylib re-exports with > /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libGL.dylib > collect2: ld returned 1 exit status > error: command 'g++' failed with exit status 1 > > > Obviously lots of differences but I've no idea what would > be causing it. > > Cheers > > Robin >
On Fri, Jul 10, 2009 at 1:33 AM, Michiel de Hoon<mjl...@ya...> wrote: > Can you verify that matplotlib 0.98.5.3 still compiles correctly? > If it does, we can compare the linker flags used for 0.98.5.3 and the svn version to find the problem. Yes - just removed build dirs and did both from scratch. 0.98.5.3 - fine, full build log: http://www.robince.net/robince/mpl/build-0.98.5.3.log svn7250 - fails, full build log: http://www.robince.net/robince/mpl/build-svn7250.log The relevant sections of the logs (I think) are: Release ----------- building 'matplotlib.backends._macosx' extension gcc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -I/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/core/include -I/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -c src/_macosx.m -o build/temp.macosx-10.3-i386-2.5/src/_macosx.o gcc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g -bundle -undefined dynamic_lookup build/temp.macosx-10.3-i386-2.5/src/_macosx.o -o build/lib.macosx-10.3-i386-2.5/matplotlib/backends/_macosx.so -framework Cocoa SVN ------ building 'matplotlib.backends._macosx' extension gcc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -I/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/core/include -I/usr/local/include -I/usr/include -I/usr/X11R6/include -I. -I/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/core/include -Isrc -Iagg24/include -I. -I/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -c src/_macosx.m -o build/temp.macosx-10.3-i386-2.5/src/_macosx.o g++ -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -g -bundle -undefined dynamic_lookup build/temp.macosx-10.3-i386-2.5/src/_macosx.o build/temp.macosx-10.3-i386-2.5/CXX/cxx_extensions.o build/temp.macosx-10.3-i386-2.5/CXX/cxxextensions.o build/temp.macosx-10.3-i386-2.5/CXX/cxxsupport.o build/temp.macosx-10.3-i386-2.5/CXX/IndirectPythonInterface.o build/temp.macosx-10.3-i386-2.5/src/agg_py_transforms.o build/temp.macosx-10.3-i386-2.5/src/path_cleanup.o -L/usr/local/lib -L/usr/lib -L/usr/X11R6/lib -lstdc++ -lm -o build/lib.macosx-10.3-i386-2.5/matplotlib/backends/_macosx.so -framework Cocoa ld: cycle in dylib re-exports with /Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libGL.dylib collect2: ld returned 1 exit status error: command 'g++' failed with exit status 1 Obviously lots of differences but I've no idea what would be causing it. Cheers Robin
On Thu, Jul 9, 2009 at 7:24 AM, Robin<ro...@gm...> wrote: >> On Wed, Jul 8, 2009 at 10:57 PM, Jae-Joon Lee<lee...@gm...> wrote: >>> If you use the svn version of matplotlib, you may use axes_grid toolkit. >>> >>> http://matplotlib.sourceforge.net/mpl_toolkits/axes_grid/users/overview.html#insetlocator > > Wow - this is really amazing. Sometimes it can be a bit frustrating > when I'm working to a deadline to figure out the details of Bbox's and > such but when I find something like this it really makes it worth > while! It does exactly what I want, really easy to use and only took > about 5 lines! (It would be nice if there were some docstrings in > there though :)) > > On Thu, Jul 9, 2009 at 4:02 AM, Jae-Joon Lee<lee...@gm...> wrote: >> However, It is possible to specify the location of the axes in >> normalized axes coordinate. >> >> http://thread.gmane.org/gmane.comp.python.matplotlib.general/16373 > > I'm afraid I didn't really understand how to apply this in my case... > I guess I would have to set the position and everything by hand > instead of using the zoom helper. I preferred to use the zoom helper, > but found the legend loc settings put it slightly too close to the > edge of the surrounding axes for my taste. > > So after checking the docstrings for how to position legends I came up > with something that works, but it required a minor change to the > inset_locator.py to pass the bbox_to_anchor and bbox_transform (it > looks like this was intended since they have None default values): > > robin-mbp-3:~ robince$ diff > /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/mpl_toolkits/axes_grid/inset_locator.py > code/scipy_build/matplotlib/lib/mpl_toolkits/axes_grid/inset_locator.py > 288c288 > < axes_locator = AnchoredZoomLocator(parent_axes, zoom=zoom, > loc=loc, bbox_to_anchor=bbox_to_anchor,bbox_transform=bbox_transform) > --- >> axes_locator = AnchoredZoomLocator(parent_axes, zoom=zoom, loc=loc) > > With this minor change I get exactly what I want! > Thanks for the catch. I'll commit the change to the svn soon. By the way, borderpad keyword is meant to do what you want. However, I just found that it does not work sine the option is not properly handled. I'll fix this in the next commit. Regards, -JJ > ax1ins = zoomed_inset_axes(ax1, 3, > bbox_to_anchor=(0.1,0,1,1),bbox_transform=ax1.transAxes, loc=6) > plot_trial_dists(res515[0],8,ax=ax1ins) > ax1ins.set_xlim([5, 50]) > ax1ins.set_ylim([0, 0.04]) > ax1ins.set_xticks([]) > ax1ins.set_yticks([]) > mark_inset(ax1, ax1ins, loc1=2, loc2=4, fc="none", ec="0.5") > > thanks again, this is really terrific! > > Cheers > > Robin >
On Thu, Jul 9, 2009 at 12:40 AM, Gökhan SEVER<gok...@gm...> wrote: > I have one tiny question left working on these figures; that is: how to make > mathtext font and a regular label font at the same size? > > For instance: > > host.set_ylabel(r"DMT CCN Concentration [ #/$cm^3$]") > > but as it is seen from the figure they look a bit weird. My guess is that this is the default behavior of tex rendering, but i may be wrong. If you want bigger mathtext, I think you need to use tex command, but again, i'm not sure and I hope someone else answer this. -JJ
That worked. I was able to install matplotlib-0.98.5.3-py2.5-macosx10.5.zip<http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-0.98.5.3-py2.5-macosx10.5.zip/download> . Thanks. On Thu, Jul 9, 2009 at 3:51 PM, Robin <ro...@gm...> wrote: > On Thu, Jul 9, 2009 at 10:13 PM, W.P. McNeill<bi...@gm...> wrote: > > This is matplotlib-0.91.4. I get the same error whether I install via > > the egg or download the zipped tar ball and run "python setup.py > > build". > > That's quite an old version. Could you try with a more recent release? > 0.98.5.3 is the latest release and it builds for me on OS X 10.5.7 > without problems. (You need to close the matplotlib-maintenance tree > on sourceforge and look for files in 'matplotlib' branch instead) > > Cheers > > Robin > -- W.P. McNeill http://staff.washington.edu/billmcn/index.shtml
> I should have specified I'm on OS X 10.5.7. Xcode 3.0. I'm using the same, but I'm not seeing this error. Can you verify that matplotlib 0.98.5.3 still compiles correctly? If it does, we can compare the linker flags used for 0.98.5.3 and the svn version to find the problem. --Michiel. --- On Thu, 7/9/09, Robin <ro...@gm...> wrote: > From: Robin <ro...@gm...> > Subject: Re: [Matplotlib-users] current svn fails to build on mac > To: mat...@li... > Date: Thursday, July 9, 2009, 7:16 AM > On Thu, Jul 9, 2009 at 12:15 PM, > Robin<ro...@gm...> > wrote: > > On Thu, Jul 9, 2009 at 12:06 PM, Michiel de Hoon<mjl...@ya...> > wrote: > >> > >> One thing that changed between 0.98.5.3 and the > current SVN version is that we're now using matplotlib's > path cleanup code, which is in C++. Maybe the linker is > picking up different libraries with C++? Though I haven't > seen this error on Mac OS X 10.4 or 10.5. > >> > > > > I should have specified I'm on OS X 10.5.7. Xcode > 3.0. > > > > As do many others I consistently forget to reply to all on > this list. > This is the only list I follow that doesn't set the > reply-to to go to > the list! > > Cheers > > Robin > > ------------------------------------------------------------------------------ > Enter the BlackBerry Developer Challenge > This is your chance to win up to 100,000ドル in prizes! For a > limited time, > vendors submitting new applications to BlackBerry App > World(TM) will have > the opportunity to enter the BlackBerry Developer > Challenge. See full prize > details at: http://p.sf.net/sfu/Challenge > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
Mike, Thanks for your help! Cheers, Jervis >
On Thu, Jul 9, 2009 at 2:25 PM, Michael Droettboom<md...@st...> wrote: > > This appears to be a bug in the recent updates to the SourceForge interface: > > https://sourceforge.net/apps/trac/sourceforge/ticket/1748 > > I have set the default download file to 0.98.5, however, the setting doesn't > seem to stick. Hopefully SF will resolve this on their own. I think as well the default downlaod it would be good to have 'matplotlib' branch above 'matplotlib-maintenance'. I think there is a recent post on the list with someone else downloading 0.91.4. I'm not sure if thats whats in the ticket - I can't access that link since I dont have a log in. > Unfortunately, I don't think this is changeable. It does include the > easy-to-miss caveat right underneath it (on certain pages, but not on > others, depending on how you get to it): > > > Warning > This is a generic Subversion checkout command which will pull > all modules, tags and/or branches of the project. Please refer > to project home page for specific SVN instructions, or use > "Browse Repository" link; in most cases, you will want to add > '/trunk' to the HTTPS URL above to check out only trunk (main > development line). That wasn't on the page I got it from, honest! (It really wasn't - I just clicked on Develop on the menu tab) Cheers Robin
Thank you! That did it. I thought I read the webpage you sent 10 times, but didn't even notice. Thanks. On Thu, Jul 9, 2009 at 3:38 PM, Chaitanya Krishna<ic...@gm...> wrote: > Hi, > > legend.draw_frame(False) should do the trick. Check out > http://matplotlib.sourceforge.net/api/artist_api.html?highlight=draw_frame#matplotlib.legend.Legend.draw_frame > > Cheers, > Chaitanya > > On Thu, Jul 9, 2009 at 11:18 PM, Joseph Smidt<jos...@gm...> wrote: >> I see lots of examples on how to play around with the legend, adding >> columns, shadow, etc... Is there a way to remove the box so that >> all you see are the items of things being plotted with no box around >> them? >> >> Also, keeping the box but removing the black outline around the box >> is good enough since it would look like there is no box. >> >> Joseph Smidt >> >> -- >> ------------------------------------------------------------------------ >> Joseph Smidt <jos...@gm...> >> >> Physics and Astronomy >> 4129 Frederick Reines Hall >> Irvine, CA 92697-4575 >> Office: 949-824-3269 >> >> ------------------------------------------------------------------------------ >> Enter the BlackBerry Developer Challenge >> This is your chance to win up to 100,000ドル in prizes! For a limited time, >> vendors submitting new applications to BlackBerry App World(TM) will have >> the opportunity to enter the BlackBerry Developer Challenge. See full prize >> details at: http://p.sf.net/sfu/Challenge >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > -- ------------------------------------------------------------------------ Joseph Smidt <jos...@gm...> Physics and Astronomy 4129 Frederick Reines Hall Irvine, CA 92697-4575 Office: 949-824-3269
On Thu, Jul 9, 2009 at 10:13 PM, W.P. McNeill<bi...@gm...> wrote: > This is matplotlib-0.91.4. I get the same error whether I install via > the egg or download the zipped tar ball and run "python setup.py > build". That's quite an old version. Could you try with a more recent release? 0.98.5.3 is the latest release and it builds for me on OS X 10.5.7 without problems. (You need to close the matplotlib-maintenance tree on sourceforge and look for files in 'matplotlib' branch instead) Cheers Robin
Just curious if you're interested in folks contributing to the gallery. I was playing around trying to come up with a routine to automatically choose colors when plotting several datasets, not necessarily from a single array, but rather say iterating through a list of datasets. I came up with the following... maybe it's of interest? And certainly of interest to me... any advice on what could be done better! Thanks! > #!/usr/bin/env python > > import numpy as np > import matplotlib.pyplot as plt > import matplotlib.cm as cm > import matplotlib.colors as colors > > """A script to demonstrate automatically assigning colors based > on the number of x,y pairs to be plotted. """ > > # First example > # set up some example data > x = np.random.random((430,23)) > > # This is the important part for 'autocoloring' > # get an array of 0-1 values, length of numint (#data sets > # that you will iterate through), these will define the colors > numint = x.shape[1] > Nc = np.array([float(i)/numint for i in range(numint)]) > norm = colors.normalize(Nc.min(),Nc.max()) > > fig = plt.figure() > ax = fig.add_subplot(111) > interval = 0 > for i in range(numint): > #get a new color > cmap = cm.jet(norm(Nc[i])) > ax.scatter(x[:,0],x[:,i],color=cmap) > > > # Second example > # something a little more interesting > fig2 = plt.figure() > ax2 = fig2.add_subplot(111) > X = np.arange(400) > y = np.sin(X) > y2 = X*.2 > x = np.column_stack((y,y2)) > > #define an interval, the dataset is divided by this value > intervalsize = 23 > numint = int(np.round(x.shape[0]/intervalsize)) + 1 > > # This is the important part for 'autocoloring' > # get an array of 0-1 values, length of numint > # these will define the colors > Nc = np.array([float(i)/numint for i in range(numint)]) > norm = colors.normalize(Nc.min(),Nc.max()) > > interval = 0 > for i in range(0,len(x),intervalsize): > # define the index array (easier than typing) > indx = np.arange(i,i+intervalsize) > #get a new color > cmap = cm.jet(norm(Nc[interval])) > # the indx as defined above may exceed > # the data array > try: > ax2.scatter(x[indx,0],x[indx,1],color=cmap) > #print indx > # case to handle tail of data > except: > #plt.scatter(x[i:,0],x[i:,1],color=cmap) > print 'OOPS, index exceeds dimensions:',indx > pass > # so that you don't miss the last interval > if len(x)-i < intervalsize: > ax2.scatter(x[i+1:,0],x[i+1:,1],color=cmap) > print 'last bits...' > interval+=1 > > plt.show() > -- View this message in context: http://www.nabble.com/contribute-to-gallery--Or%2C-just-advice-on-changing-colors-automagically....-tp24419101p24419101.html Sent from the matplotlib - users mailing list archive at Nabble.com.
Hi, legend.draw_frame(False) should do the trick. Check out http://matplotlib.sourceforge.net/api/artist_api.html?highlight=draw_frame#matplotlib.legend.Legend.draw_frame Cheers, Chaitanya On Thu, Jul 9, 2009 at 11:18 PM, Joseph Smidt<jos...@gm...> wrote: > I see lots of examples on how to play around with the legend, adding > columns, shadow, etc... Is there a way to remove the box so that > all you see are the items of things being plotted with no box around > them? > > Also, keeping the box but removing the black outline around the box > is good enough since it would look like there is no box. > > Joseph Smidt > > -- > ------------------------------------------------------------------------ > Joseph Smidt <jos...@gm...> > > Physics and Astronomy > 4129 Frederick Reines Hall > Irvine, CA 92697-4575 > Office: 949-824-3269 > > ------------------------------------------------------------------------------ > Enter the BlackBerry Developer Challenge > This is your chance to win up to 100,000ドル in prizes! For a limited time, > vendors submitting new applications to BlackBerry App World(TM) will have > the opportunity to enter the BlackBerry Developer Challenge. See full prize > details at: http://p.sf.net/sfu/Challenge > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
I tried on 2 computers, both with gentoo. one 64bit with mpl 0.98.5.3 and wxwidget 2.8.10.1 another with mpl svn rev 7249 and wxwidget 2.8.10 and it 'twinkle', the lines are not drawn each frame. I recorded a small video which I put on rapidshare (couldn't think of anything better for now) : http://rapidshare.com/files/253966760/anim-twinkle-mpl-wxgtk.mpeg.html that shows the plot twinkling it twinkles way more 'live', the video is only 30 fps If you (and no one else?) gets that, I guess the problem comes from my install, somewhere. C M wrote: > > > On Thu, Jul 9, 2009 at 3:40 AM, guillaume ranquet <gra...@wy... > <mailto:gra...@wy...>> wrote: > > Hi again. > > I found out that removing the resize handler of the wxpanel gives me a > nice animated plot that works as expected (but with no resize :-/) > > def _SetSize(self): > pixels = tuple(self.parent.GetClientSize()) > self.SetSize(pixels) > self.canvas.SetSize(pixels) > self.figure.set_size_inches(float(pixels[0])/self.figure.get_dpi(), > float(pixels[1])/self.figure.get_dpi(),forward=True) > > > I took that code from: > http://www.scipy.org/Matplotlib_figure_in_a_wx_panel > any hints on what to do from there? > > > I have run your code and I am not sure what your issue is. What is > wrong with how it is behaving? You say in the first post, "the > resizing of the window make the plot look terribly broken", but I am > not seeing that. And what platform and version of wx and mpl are you > using? > > Che > > > > guillaume ranquet wrote: > > Hi list (yes, me, again :D) > > > > I'm having difficulties with matplotlib svn (rev 7249) and > animations. > > I'm a bit lost on what I have to do to get my animation running > smoothly? > > > > I had various attempts, It seems that the best result I can have > is by > > totally skipping the canvas.restore_region(self.background) > shown in the > > examples : the resizing of the window make the plot look > terribly broken > > > > sorry for this question that seems well covered by documentation and > > examples :S > > I'm attaching a sample code that reproduces the behavior of my > app, It's > > a bit long but I hope there's some good things in it that can be > usefull > > to others :) > > > > > > ===code snippet=== > > import wxversion > > wxversion.ensureMinimal('2.8') > > > > import numpy as np > > import matplotlib.pyplot as plt > > > > from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as > > FigureCanvas > > > > import wx > > import wx.aui > > > > from matplotlib.figure import Figure > > import sys > > import getopt > > from threading import * > > from itertools import izip > > import time > > > > class myplotData(Figure): > > def __init__(self,name,width=5,height=4,dpi=60,x_axis=None): > > Figure.__init__(self,figsize=(width, height),dpi=dpi) > > self.name <http://self.name> = name > > self.ax = self.add_subplot(111,label=name,animated=True) > > self.bg <http://self.bg> = None > > self.mdirty = False > > > > def refreshbg(self): > > self.bg <http://self.bg> = > self.canvas.copy_from_bbox(self.ax.bbox) > > > > def feed(self,n): > > timestamp = n[0] > > self.n = 0 > > if self.bg <http://self.bg> == None: > > self.canvas = self.ax.figure.canvas > > self.canvas.draw() > > self.bg <http://self.bg> = > self.canvas.copy_from_bbox(self.ax.bbox) > > for xs in n[1:]: > > self.ax.plot([timestamp],[xs],animated=True) > > return > > #self.canvas.restore_region(self.bg <http://self.bg>) > > mylines = self.ax.get_lines() > > for xs,line in izip(n[1:],mylines): > > x,y = line.get_data() > > x = np.concatenate((x,[timestamp])) > > y = np.concatenate((y,[xs])) > > line.set_data([x,y]) > > self.ax.set_xlim(xmax=timestamp) > > curyminlim,curymaxlim = self.ax.get_ylim() > > > > self.ax.set_ylim(ymin=min(xs,curyminlim),ymax=max(xs,curymaxlim)) > > self.ax.draw_artist(line) > > self.mdirty = True > > wx.WakeUpIdle() > > > > def blit(self): > > if self.mdirty: > > self.mdirty = False > > self.canvas.blit(self.ax.get_figure().bbox) > > > > class CanvasPanel(wx.Panel): > > def __init__(self,name,callback=None,parent=None): > > wx.Panel.__init__(self, parent) > > self.SetSize((120, 80)) > > self.figure = myplotData(name) > > self.canvas = FigureCanvas(self,-1,self.figure) > > self.parent = parent > > self.callback = callback > > color = (255,255,255) > > self.SetColor(color) > > self._SetSize() > > self._resizeflag = False > > self.Bind(wx.EVT_IDLE, self._onIdle) > > self.Bind(wx.EVT_SIZE, self._onSize) > > > > def SetColor(self,rgbtuple=None): > > """Set figure and canvas colours to be the same.""" > > if rgbtuple is None: > > rgbtuple = > > wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNFACE).Get() > > clr = [c/255. for c in rgbtuple] > > self.figure.set_facecolor(clr) > > self.figure.set_edgecolor(clr) > > self.canvas.SetBackgroundColour(wx.Colour(*rgbtuple)) > > > > def _onSize(self,event): > > self._resizeflag = True > > > > def _onIdle(self,evt): > > if self._resizeflag: > > self._resizeflag = False > > self._SetSize() > > self.figure.blit() > > > > def _SetSize(self): > > pixels = tuple(self.parent.GetClientSize()) > > self.SetSize(pixels) > > self.canvas.SetSize(pixels) > > > self.figure.set_size_inches(float(pixels[0])/self.figure.get_dpi(), > > > float(pixels[1])/self.figure.get_dpi()) > > #self.figure.refreshbg() > > > > def process(self,data): > > if self.callback != None: > > x = self.callback(data) > > self.figure.feed(x) > > else: > > self.figure.feed(data) > > > > # Define notification event for thread notifications > > EVT_RESULT_ID = wx.NewId() > > > > def EVT_RESULT(win, func): > > """Define Result Event.""" > > win.Connect(-1, -1, EVT_RESULT_ID, func) > > > > class ResultEvent(wx.PyEvent): > > """Simple event to carry arbitrary result data.""" > > def __init__(self, data): > > """Init Result Event.""" > > wx.PyEvent.__init__(self) > > self.SetEventType(EVT_RESULT_ID) > > self.data = data > > > > class ParserThread(Thread): > > def __init__(self,source,notify_window): > > Thread.__init__(self) > > self._notify_window = notify_window > > self.data = np.arange(0,2*np.pi,0.01) > > self.n = 0 > > self.round = 0 > > self.start() > > > > def run(self): > > while(1): > > mbuff = {} > > mbuff['name'] = "My Sin Plot" > > mbuff['x'] = self.data[self.n] + self.round*2*np.pi > > mbuff['y1'] = np.sin(mbuff['x']) > > mbuff['y2'] = np.sin(mbuff['x'] + np.pi/2) > > self.n+=1 > > if self.n == len(self.data): > > self.n = 0 > > self.round += 1 > > wx.PostEvent(self._notify_window, > ResultEvent(('test',[mbuff]))) > > time.sleep(.1) > > > > def mycback(data): > > return data['x'],data['y1'],data['y2'] > > > > class MyApp(wx.Frame): > > > > def __init__(self,parent=None, > > id=wx.ID_ANY,pos=wx.DefaultPosition,size=wx.DefaultSize, > > style=wx.DEFAULT_FRAME_STYLE): > > wx.Frame.__init__(self, parent) > > self.bestsize = (120,75) > > self.SetSize(self.GetBestSize()) > > self.panel = wx.Panel(self,wx.ID_ANY) > > self.panel.nb = wx.aui.AuiNotebook(self.panel) > > self.label = > wx.StaticText(self.panel.nb,wx.ID_ANY,"\n\n\n\naaa\n") > > self.panel.nb.AddPage(self.label, "txt") > > sizer = wx.BoxSizer() > > sizer.Add(self.panel.nb, 1, wx.EXPAND) > > self.panel.SetSizer(sizer) > > self.plotlist = {} > > self.Fit() > > EVT_RESULT(self,self.OnResult) > > self.worker = ParserThread(5758,self) > > > > def OnResult(self,event): > > tag,mbuff = event.data > > if tag == -1: > > return > > for buff in mbuff: > > if not self.plotlist.has_key(buff['name']): > > cback = mycback > > page = > CanvasPanel(buff['name'],mycback,self.panel.nb) > > self.panel.nb.AddPage(page,buff['name']) > > self.plotlist[buff['name']] = page > > myPlot = self.plotlist[buff['name']] > > myPlot.process(buff) > > > > def main(argv=None): > > if argv != None: > > sys.argv = argv > > app = wx.App() > > frame = MyApp() > > frame.Show() > > app.MainLoop() > > > > if __name__ == "__main__": > > main() > > ===code snippet=== > > ---- > > This message contains confidential information and may contain > information that is legally privileged. If you have received this > message by mistake, please immediately notify us and delete the > original message. Thank you. > > > > Ce message contient des informations confidentielles. S'il vous > est parvenu par erreur, merci de bien vouloir nous en aviser par > retour, de n'en faire aucun usage et de n'en garder aucune copie. > > ---- > > > > > ------------------------------------------------------------------------------ > > Enter the BlackBerry Developer Challenge > > This is your chance to win up to 100,000ドル in prizes! For a > limited time, > > vendors submitting new applications to BlackBerry App World(TM) > will have > > the opportunity to enter the BlackBerry Developer Challenge. See > full prize > > details at: http://p.sf.net/sfu/Challenge > > _______________________________________________ > > Matplotlib-users mailing list > > Mat...@li... > <mailto:Mat...@li...> > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > ---- > This message contains confidential information and may contain > information that is legally privileged. If you have received this > message by mistake, please immediately notify us and delete the > original message. Thank you. > > Ce message contient des informations confidentielles. S'il vous > est parvenu par erreur, merci de bien vouloir nous en aviser par > retour, de n'en faire aucun usage et de n'en garder aucune copie. > ---- > > ------------------------------------------------------------------------------ > Enter the BlackBerry Developer Challenge > This is your chance to win up to 100,000ドル in prizes! For a limited > time, > vendors submitting new applications to BlackBerry App World(TM) > will have > the opportunity to enter the BlackBerry Developer Challenge. See > full prize > details at: http://p.sf.net/sfu/Challenge > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > <mailto:Mat...@li...> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > Enter the BlackBerry Developer Challenge > This is your chance to win up to 100,000ドル in prizes! For a limited time, > vendors submitting new applications to BlackBerry App World(TM) will have > the opportunity to enter the BlackBerry Developer Challenge. See full prize > details at: http://p.sf.net/sfu/Challenge > ------------------------------------------------------------------------ > > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
Hi, I am programming a oscilloscope module in Python. For this reason, I want to plot very many data points as fast as possible. This can be more than 100 000 at once. So far I have been using the ploting module of wxPython. However, it becomes unstable for more than 25000 points. Can someone recommend me a faster plotting library? It would be really cool if one could embed this in wxPython. If someone has an idea I would be very glad about answer. With kind regards, Daniel
I see lots of examples on how to play around with the legend, adding columns, shadow, etc... Is there a way to remove the box so that all you see are the items of things being plotted with no box around them? Also, keeping the box but removing the black outline around the box is good enough since it would look like there is no box. Joseph Smidt -- ------------------------------------------------------------------------ Joseph Smidt <jos...@gm...> Physics and Astronomy 4129 Frederick Reines Hall Irvine, CA 92697-4575 Office: 949-824-3269
I am trying to install matplot on an OS X (10.5.7) Intel MacBook. I cannot build the matplot lib extensions. I get the following error: .... g++ -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -bundle -undefined dynamic_lookup build/temp.macosx-10.3-i386-2.5/src/ft2font.o build/temp.macosx-10.3-i386-2.5/src/mplutils.o build/temp.macosx-10.3-i386-2.5/CXX/cxx_extensions.o build/temp.macosx-10.3-i386-2.5/CXX/cxxsupport.o build/temp.macosx-10.3-i386-2.5/CXX/IndirectPythonInterface.o build/temp.macosx-10.3-i386-2.5/CXX/cxxextensions.o -L/sw/lib -L/sw/lib/freetype219/lib -L/usr/local/lib -L/usr/lib -L/sw/lib -L/usr/X11R6/lib -lfreetype -lz -lstdc++ -lm -o build/lib.macosx-10.3-i386-2.5/matplotlib/ft2font.so -Wl,-framework,CoreServices -Wl,-framework,ApplicationServices ld warning: in /sw/lib/libfreetype.dylib, file is not of required architecture ld: in /sw/lib/libiconv.2.dylib, file is not of required architecture for architecture ppc collect2: ld returned 1 exit status lipo: can't open input file: /var/folders/xW/xW61KykkHgSaGc2vPwOTCk+++TI/-Tmp-//ccGEBvWb.out (No such file or directory) error: command 'g++' failed with exit status 1 This is matplotlib-0.91.4. I get the same error whether I install via the egg or download the zipped tar ball and run "python setup.py build". The libraries in "/sw/lib" were installed by the fink package manager. In particular I don't understand the error message about libiconv.2.dylib being "not of required architecture for architecture ppc". It seems like matplot lib thinks it's building on a PPC instead of an Intel machine. I'm running Active State Python 2.5.4. Any suggestions for how to get matplotlib working on my machine? Thanks. -- W.P. McNeill http://staff.washington.edu/billmcn/index.shtml