SourceForge logo
SourceForge logo
Menu

matplotlib-users — Discussion related to using matplotlib

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)




Showing 13 results of 13

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 

Showing 13 results of 13

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /