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
(3) |
2
(7) |
3
(13) |
4
(6) |
5
(18) |
6
(39) |
7
(1) |
8
(4) |
9
(4) |
10
(4) |
11
(19) |
12
(15) |
13
(16) |
14
(1) |
15
(5) |
16
(17) |
17
(12) |
18
(19) |
19
(2) |
20
(5) |
21
(3) |
22
(1) |
23
(3) |
24
(5) |
25
(4) |
26
(1) |
27
(13) |
28
(4) |
29
(2) |
30
(21) |
31
(17) |
|
|
|
|
From: Ian B. <ib...@pu...> - 2011-05-03 21:41:22
|
Pau, linewidth=xx (or lw=xx) does that job in scatter plots. Also see http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.scatterthough really it isn't very clear and I found it out by accident Regards, Ian ---- Ian Bell Graduate Research Assistant Herrick Labs Purdue University email: ib...@pu... cell: (607)227-7626 On Tue, May 3, 2011 at 2:27 PM, Pau <vim...@go...> wrote: > thanks! > > I wish there was something similar to markeredgewidth in scatter, though > > But it's doing what I wanted, thanks > > Pau > > On 3 May 2011 19:21, Buchholz, Greg <gbu...@in...> wrote: > > Maybe you want to use the "scatter" procedure? > > > > > http://matplotlib.sourceforge.net/examples/pylab_examples/scatter_demo.html?highlight=scatter > > > http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.scatter > > > > > >> -----Original Message----- > >> From: Pau [mailto:vim...@go...] > >> Sent: Tuesday, May 03, 2011 10:04 AM > >> To: matplotlib > >> Subject: [Matplotlib-users] Use a variable for the ms option in the > >> plot function > >> > >> Hello, > >> > >> I am looking for a way to feed > >> > >> R=log(M) > >> > >> to plot in the ms field ("HERE" in the example): > >> > >> plot(X, Y, \ > >> marker='o', mec='black',ms=HERE,ls='None',\ > >> mfc='red',alpha=0.9,mew=2,antialiased=True) > >> > >> > >> thanks, > >> > >> Pau > >> > >> ----------------------------------------------------------------------- > >> ------- > >> WhatsUp Gold - Download Free Network Management Software > >> The most intuitive, comprehensive, and cost-effective network > >> management toolset available today. Delivers lowest initial > >> acquisition cost and overall TCO of any competing solution. > >> http://p.sf.net/sfu/whatsupgold-sd > >> _______________________________________________ > >> Matplotlib-users mailing list > >> Mat...@li... > >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > > ------------------------------------------------------------------------------ > WhatsUp Gold - Download Free Network Management Software > The most intuitive, comprehensive, and cost-effective network > management toolset available today. Delivers lowest initial > acquisition cost and overall TCO of any competing solution. > http://p.sf.net/sfu/whatsupgold-sd > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
From: Pau <vim...@go...> - 2011-05-03 20:53:46
|
THANKS!! I am not a native speaker and sometimes I find it very hard to find a keyword to look for... that tip was excellent, thank you a lot On 3 May 2011 22:27, Buchholz, Greg <gbu...@in...> wrote: >> From: Pau [mailto:vim...@go...] >> >> PS: I thought I would probably give a better example >> >> The goal is to have all the data files plotted in a single graph > > import glob > > for filename in glob.glob('*.dat'): > if 'e' in set(filename): #or whatever > #do something for files that have an 'e' in their name > else: > #do something else > loadtxt(filename) #yada, yada, yada > scatter() #etc. > |
From: Buchholz, G. <gbu...@In...> - 2011-05-03 20:27:13
|
> From: Pau [mailto:vim...@go...] > > PS: I thought I would probably give a better example > > The goal is to have all the data files plotted in a single graph import glob for filename in glob.glob('*.dat'): if 'e' in set(filename): #or whatever #do something for files that have an 'e' in their name else: #do something else loadtxt(filename) #yada, yada, yada scatter() #etc. |
From: Alan G I. <ala...@gm...> - 2011-05-03 20:21:07
|
On 5/3/2011 2:37 PM, Pau wrote: > I am afraid that I know the answer to the question: use python > > But my problem is that I do not really know python. Fortunately, the documentation is excellent: http://docs.python.org/library/glob.html hth, Alan Isaac |
From: Pau <vim...@go...> - 2011-05-03 19:47:50
|
would it be easier to have all data in a single file and then tell matplotlib to plot different parts of that file? The file would look like: . . . 13.0576 -66.6586 -9.6419 34.1672 1.445e+05 4962 13.0576 -55.4192 44.0864 16.7687 1.445e+05 4963 13.0576 65.0328 -38.8888 -215.3602 1.445e+05 4964 13.0576 -110.7375 -0.1741 -91.9251 5.459e+04 4512 . . . The fifth column is what defines the transition between a file and the next one How can I tell matplotlib to plot those data first with a certain color and then the next data with a different color? On 3 May 2011 21:38, Pau <vim...@go...> wrote: > PS: I thought I would probably give a better example > > > In a directory I have these files: > > > 2537.dat > 5043.dat > 5075.dat > 7581.dat > 1.009e+04.dat > 1.551e+04.dat > 1.805e+04.dat > 2.056e+04.dat > 4.955e+04.dat > 5.209e+04.dat > 5.459e+04.dat > 5.462e+04.dat > 1.445e+05.dat > 1.47e+05.dat > 5.016e+05.dat > 5.041e+05.dat > 5.067e+05.dat > 5.171e+05.dat > 5.196e+05.dat > 5.511e+05.dat > 5.537e+05.dat > 5.562e+05.dat > 8.842e+05.dat > 1.465e+06.dat > > I would like to plot them with matplotlib like this: > > ----------------------------------------------------------- > X = cluster[:, 1] # Column 2 > Y = cluster[:, 2] # Column 3 > M = cluster[:, 4] # Column 5 > Radius = log(M) > > > ylabel ('Y (pc)', size=18) > > scatter(X, Y, s=Radius,\ > marker='o', color='red',\ > edgecolors='black',\ > alpha=0.9,antialiased=True) > > xlabel ('X (pc)', size=18) > ----------------------------------------------------------- > > where > > "cluster" runs from the first data file to the last one and > "color" changes from one data file to the next one > > The goal is to have all the data files plotted in a single graph > > How could I do this? > > Thanks a lot > > P. > > > On 3 May 2011 20:37, Pau <vim...@go...> wrote: >> Hello, >> >> I am afraid that I know the answer to the question: use python >> >> But my problem is that I do not really know python. I just started and >> I can do some nice plots with matplotlib but I don't really know >> python. >> >> I am now running into a snag. I have different directories with >> different number of data files >> >> Directory 1 ---> data1.dat data2.dat data3.dat data4.dat data5.dat >> Directory 2 ---> data1.dat data2.dat data3.dat >> >> The number of files is huge, I do not want to run this one by one per hand. >> >> I am trying to do this with a shell script which actually prepares the >> data files but I do not know how to tell matplotlib from the shell >> script that the number of files is different and that it should use >> different colours for different files. >> >> I can explain this in much more detail if needed, but I wanted to hear >> a first impression. >> >> thanks, >> >> Pau >> > |
From: Pau <vim...@go...> - 2011-05-03 19:38:42
|
PS: I thought I would probably give a better example In a directory I have these files: 2537.dat 5043.dat 5075.dat 7581.dat 1.009e+04.dat 1.551e+04.dat 1.805e+04.dat 2.056e+04.dat 4.955e+04.dat 5.209e+04.dat 5.459e+04.dat 5.462e+04.dat 1.445e+05.dat 1.47e+05.dat 5.016e+05.dat 5.041e+05.dat 5.067e+05.dat 5.171e+05.dat 5.196e+05.dat 5.511e+05.dat 5.537e+05.dat 5.562e+05.dat 8.842e+05.dat 1.465e+06.dat I would like to plot them with matplotlib like this: ----------------------------------------------------------- X = cluster[:, 1] # Column 2 Y = cluster[:, 2] # Column 3 M = cluster[:, 4] # Column 5 Radius = log(M) ylabel ('Y (pc)', size=18) scatter(X, Y, s=Radius,\ marker='o', color='red',\ edgecolors='black',\ alpha=0.9,antialiased=True) xlabel ('X (pc)', size=18) ----------------------------------------------------------- where "cluster" runs from the first data file to the last one and "color" changes from one data file to the next one The goal is to have all the data files plotted in a single graph How could I do this? Thanks a lot P. On 3 May 2011 20:37, Pau <vim...@go...> wrote: > Hello, > > I am afraid that I know the answer to the question: use python > > But my problem is that I do not really know python. I just started and > I can do some nice plots with matplotlib but I don't really know > python. > > I am now running into a snag. I have different directories with > different number of data files > > Directory 1 ---> data1.dat data2.dat data3.dat data4.dat data5.dat > Directory 2 ---> data1.dat data2.dat data3.dat > > The number of files is huge, I do not want to run this one by one per hand. > > I am trying to do this with a shell script which actually prepares the > data files but I do not know how to tell matplotlib from the shell > script that the number of files is different and that it should use > different colours for different files. > > I can explain this in much more detail if needed, but I wanted to hear > a first impression. > > thanks, > > Pau > |
From: Pau <vim...@go...> - 2011-05-03 18:37:58
|
Hello, I am afraid that I know the answer to the question: use python But my problem is that I do not really know python. I just started and I can do some nice plots with matplotlib but I don't really know python. I am now running into a snag. I have different directories with different number of data files Directory 1 ---> data1.dat data2.dat data3.dat data4.dat data5.dat Directory 2 ---> data1.dat data2.dat data3.dat The number of files is huge, I do not want to run this one by one per hand. I am trying to do this with a shell script which actually prepares the data files but I do not know how to tell matplotlib from the shell script that the number of files is different and that it should use different colours for different files. I can explain this in much more detail if needed, but I wanted to hear a first impression. thanks, Pau |
From: Pau <vim...@go...> - 2011-05-03 18:27:29
|
thanks! I wish there was something similar to markeredgewidth in scatter, though But it's doing what I wanted, thanks Pau On 3 May 2011 19:21, Buchholz, Greg <gbu...@in...> wrote: > Maybe you want to use the "scatter" procedure? > > http://matplotlib.sourceforge.net/examples/pylab_examples/scatter_demo.html?highlight=scatter > http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.scatter > > >> -----Original Message----- >> From: Pau [mailto:vim...@go...] >> Sent: Tuesday, May 03, 2011 10:04 AM >> To: matplotlib >> Subject: [Matplotlib-users] Use a variable for the ms option in the >> plot function >> >> Hello, >> >> I am looking for a way to feed >> >> R=log(M) >> >> to plot in the ms field ("HERE" in the example): >> >> plot(X, Y, \ >> marker='o', mec='black',ms=HERE,ls='None',\ >> mfc='red',alpha=0.9,mew=2,antialiased=True) >> >> >> thanks, >> >> Pau >> >> ----------------------------------------------------------------------- >> ------- >> WhatsUp Gold - Download Free Network Management Software >> The most intuitive, comprehensive, and cost-effective network >> management toolset available today. Delivers lowest initial >> acquisition cost and overall TCO of any competing solution. >> http://p.sf.net/sfu/whatsupgold-sd >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
From: Buchholz, G. <gbu...@In...> - 2011-05-03 17:36:56
|
Maybe you want to use the "scatter" procedure? http://matplotlib.sourceforge.net/examples/pylab_examples/scatter_demo.html?highlight=scatter http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.scatter > -----Original Message----- > From: Pau [mailto:vim...@go...] > Sent: Tuesday, May 03, 2011 10:04 AM > To: matplotlib > Subject: [Matplotlib-users] Use a variable for the ms option in the > plot function > > Hello, > > I am looking for a way to feed > > R=log(M) > > to plot in the ms field ("HERE" in the example): > > plot(X, Y, \ > marker='o', mec='black',ms=HERE,ls='None',\ > mfc='red',alpha=0.9,mew=2,antialiased=True) > > > thanks, > > Pau > > ----------------------------------------------------------------------- > ------- > WhatsUp Gold - Download Free Network Management Software > The most intuitive, comprehensive, and cost-effective network > management toolset available today. Delivers lowest initial > acquisition cost and overall TCO of any competing solution. > http://p.sf.net/sfu/whatsupgold-sd > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Pau <vim...@go...> - 2011-05-03 17:04:12
|
Hello, I am looking for a way to feed R=log(M) to plot in the ms field ("HERE" in the example): plot(X, Y, \ marker='o', mec='black',ms=HERE,ls='None',\ mfc='red',alpha=0.9,mew=2,antialiased=True) thanks, Pau |
From: Emanuele P. <ema...@tr...> - 2011-05-03 09:05:37
|
Thank you very much, it works very well now. Cheers. Emanuele Passera Software Engineer Tele-Rilevamento Europa - T.R.E. srl Via Vittoria Colonna, 7 20149 Milano – Italia Tel.: +39.02.4343.121 - Fax: +39.02.4343.1230 ema...@tr... - www.treuropa.com -- This communication, that may contain confidential and/or legally privileged information, is intended solely for the use of the intended addressees. Opinions, conclusions and other information contained in this message, that do not relate to the official business of this firm, shall be considered as not given or endorsed by it. Every opinion or advice contained in this communication is subject to the terms and conditions provided by the agreement governing the engagement with such a client. If you have received this communication in error, please notify us immediately by responding to this email and then delete it from your system. Any use, disclosure, copying or distribution of the contents of this communication by a not-intended recipient or in violation of the purposes of this communication is strictly prohibited and may be unlawful. -- On Thu, Apr 21, 2011 at 5:38 PM, Emanuele Passera < ema...@tr...> wrote: > Hello everybody, > > I am experiencing a strange behavior with the scatter() function when > using different figure canvas y dimensions in inches. > > Executing the code listed below, I obtain good images when using some > dimensions > and totally white images when using others. > I have attached the input data buffers and the resulting images too. > > #!/usr/bin/python > > import numpy as n > import pylab as p > > def scatterFun(x, y, data, yCanvasDimInches, imageName): > """ This function draws a scatterogram for the input data. """ > canvasObj = p.figure(figsize=(8, yCanvasDimInches), dpi=100) > axisObj = canvasObj.add_axes([0, 0, 1, 1]) > axisObj.scatter(x, y, 10, data, 'o') > canvasObj.savefig(imageName, dpi=100) > p.close() > > > # data buffer files > yPosFile = "/users/lelepass/python/test_scatter/yPos" > xPosFile = "/users/lelepass/python/test_scatter/xPos" > dataFile = "/users/lelepass/python/test_scatter/data" > # loading data > s = file(dataFile, 'rb').read() > data = n.fromstring(s, 'f') > s = file(yPosFile, 'rb').read() > y = n.fromstring(s, 'd') > s = file(xPosFile, 'rb').read() > x = n.fromstring(s, 'd') > > # scatterogram generation > scatterFun(x, y, data, 6, "pippo1.png") > scatterFun(x, y, data, 6.01, "pippo2.png") > scatterFun(x, y, data, 6.015, "pippo3.png") > scatterFun(x, y, data, 6.02, "pippo4.png") > scatterFun(x, y, data, 6.028, "pippo5.png") > scatterFun(x, y, data, 6.03, "pippo6.png") > > Can anyone help me ? > > I use > Linux openSUSE 11.3 (x86_64) > Linux sat1 2.6.34.7-0.7-default #1 SMP 2010-12-13 11:13:53 +0100 x86_64 > x86_64 x86_64 GNU/Linux > Python 2.6.5 > numpy 1.5.1 > matplotlib 1.0.1 with backend Agg v2.2 > > On the same system descripted above linking matplotlib from svn > matplotlib-matplotlib-v1.0.1-756-g3c43d83.tar.gz instead of the installed > one, > all the images are white. > > If it can be of some help this strange behavior does not appear with a > system > Linux Ubuntu 9.10 > Linux joshua 2.6.28-11-server #42-Ubuntu SMP Fri Apr 17 02:48:10 UTC 2009 > i686 GNU/Linux > Python 2.6.4 > numpy 1.3.0 > matplotlib 0.99.0 with backend Agg v2.2 > > Executing the script with verbosity I get the subsequent output > > $HOME=/users/lelepass > CONFIGDIR=/users/lelepass/.matplotlib > > Bad key "numerix" on line 30 in > /users/lelepass/.matplotlib/matplotlibrc. > You probably need to get an updated matplotlibrc file from > http://matplotlib.sf.net/_static/matplotlibrc or from the matplotlib > source > distribution > matplotlib data path /usr/lib64/python2.6/site-packages/matplotlib/mpl-data > loaded rc file /users/lelepass/.matplotlib/matplotlibrc > matplotlib version 1.0.1 > verbose.level helpful > interactive is False > units is True > platform is linux2 > Using fontManager instance from /users/lelepass/.matplotlib/fontList.cache > backend agg version v2.2 > findfont: Matching > :family=sans-serif:style=normal:variant=normal:weight=normal:stretch=normal:size=medium > to Bitstream Vera Sans > (/usr/lib64/python2.6/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf) > with score of 0.000000 > > > Thank you all. > Bye. > > Emanuele Passera > > Software Engineer > > Tele-Rilevamento Europa - T.R.E. srl > Via Vittoria Colonna, 7 > 20149 Milano – Italia > Tel.: +39.02.4343.121 - Fax: +39.02.4343.1230 > ema...@tr... - www.treuropa.com > > > -- > This communication, that may contain confidential and/or legally privileged > information, is intended solely for the use of the intended addressees. > Opinions, conclusions and other information contained in this message, that > do not relate to the official business of this firm, shall be considered as > not given or endorsed by it. Every opinion or advice contained in this > communication is subject to the terms and conditions provided by the > agreement governing the engagement with such a client. If you have received > this communication in error, please notify us immediately by responding to > this email and then delete it from your system. Any use, disclosure, copying > or distribution of the contents of this communication by a not-intended > recipient or in violation of the purposes of this communication is strictly > prohibited and may be unlawful. > -- > |
From: Gerald S. <gd...@mr...> - 2011-05-03 08:57:22
|
Hello, I've been trying to animate some plots with the qt backend and run into a couple of problems. Firstly, I'd like to be able to update the axis limits in an automated fashion as the data changes size. Secondly, Resizing figures appears to redraw everything _but_ items with the animation flag. The is causing me problems when the animation is paused or the frames are occurring slow enough such that there is a noticable period where the my lines disappear. I've sort of solved both of these problems but the solutions seem hackish. In particular updating the axis limits is slowing the animation by 25% and toggling the animated field using the qt events just feels like its asking for trouble. Below is the qt animation example with my solutions. Adjust the size of the plot after the animation finishes to see the effect of the resize hack. I would be grateful if anyone could suggest some improvements. Thanks, Gerald. # For detailed comments on animation and the techniqes used here, see # the wiki entry http://www.scipy.org/Cookbook/Matplotlib/Animations import os import sys #import matplotlib #matplotlib.use('Qt4Agg') from matplotlib.figure import Figure from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas from PyQt4 import QtCore, QtGui ITERS = 100 import numpy as np import time class BlitQT(FigureCanvas): def __init__(self): FigureCanvas.__init__(self, Figure()) self.ax = self.figure.add_subplot(111) #self.ax.grid() self.draw() self.old_size = self.ax.bbox.width, self.ax.bbox.height self.ax_background = self.copy_from_bbox(self.ax.bbox) self.cnt = 0 self.x = np.arange(0,2*np.pi,0.01) self.sin_line, = self.ax.plot(self.x, np.sin(self.x), animated=True) self.cos_line, = self.ax.plot(self.x, np.cos(self.x), animated=True) self.draw() self.old_limits = self.ax.get_xlim(),self.ax.get_ylim() self.tstart = time.time() self.maintimer = self.startTimer(10) ## HACK for disapearing objects on resize def resizeEvent(self,evt): super(BlitQT,self).resizeEvent(evt) self.sin_line.set_animated(False) def paintEvent(self,evt): super(BlitQT,self).paintEvent(evt) self.sin_line.set_animated(True) def timerEvent(self, evt): current_size = self.ax.bbox.width, self.ax.bbox.height if self.old_size != current_size: self.old_size = current_size #self.ax.clear() #self.ax.grid() self.draw() self.ax_background = self.copy_from_bbox(self.ax.bbox) self.restore_region(self.ax_background) # update the data self.sin_line.set_ydata(np.sin(self.x+self.cnt/10.0)*self.cnt/100.0) self.cos_line.set_ydata(np.cos(self.x+self.cnt/10.0)*self.cnt/100.0) ## HACK for updating axis limits self.ax.relim() self.ax.autoscale_view() current_limits = self.ax.get_xlim(),self.ax.get_ylim() if self.old_limits != current_limits: self.old_limits = current_limits self.draw() self.ax_background = self.copy_from_bbox(self.ax.bbox) self.blit(self.figure.bbox) # just draw the animated artist self.ax.draw_artist(self.sin_line) self.ax.draw_artist(self.cos_line) # just redraw the axes rectangle self.blit(self.ax.bbox) if self.cnt == 0: # TODO: this shouldn't be necessary, but if it is excluded the # canvas outside the axes is not initially painted. self.draw() if self.cnt==ITERS: # print the timing info and quit print 'FPS:' , ITERS/(time.time()-self.tstart) #sys.exit() self.killTimer(self.maintimer) else: self.cnt += 1 app = QtGui.QApplication(sys.argv) widget = BlitQT() widget.show() sys.exit(app.exec_()) |
From: K.-Michael A. <kmi...@gm...> - 2011-05-03 08:40:48
|
A colleague posed an interesting challenge: How to do a filled plot having the y-axis in logarithm? I think I can do it with creating patches myself an adding it to the axis, but isn't there anything built-in? Best regards, Michael |