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
(5)
2
(17)
3
(13)
4
(17)
5
(26)
6
(13)
7
(9)
8
(8)
9
(13)
10
(25)
11
(19)
12
(24)
13
(12)
14
15
16
(5)
17
(10)
18
(7)
19
20
(7)
21
(2)
22
(3)
23
(11)
24
(19)
25
(17)
26
(6)
27
(10)
28
(2)
29
(4)
30
(15)





Showing 5 results of 5

From: Archana G. <arc...@gm...> - 2007年04月01日 17:06:40
Hi,
I tried following the instructions at the py2exe site and I have also
uncommeneted and made it include the matplotlib.numerix package. Still it
doesnt seem to work. Is there any other way of compiling it into an
executable?
Thanks,
Archana.
On 4/1/07, Werner F. Bruhin <wer...@fr...> wrote:
>
> Hi Archana,
>
> Sometimes py2exe can't figure out what needs to be included. In these
> cases one creates entries in the packages section to force the inclusion
> of one or multiple packages.
>
> Archana Ganesan wrote:
> > Hi all,
> > ...
> >
> > options = {"py2exe": {"compressed": 1,
> > "optimize": 2,
> > "packages": ["encodings",
> > ## "kinterbasdb",
> > "pytz.zoneinfo.UTC",
> > #" matplotlib.numerix",
> >
>
> You need to activate/un-comment the matplotlib.numerix line. Also note
> that if you only include UTC and you use the timezone stuff in matplot
> then a user NOT using UTC, i.e. another timezone will have a problem, it
> is therefore better to just include all of pytz.
>
> Werner
>
From: Antonino I. <tri...@gm...> - 2007年04月01日 11:12:15
On 3/30/07, Richard Brown <rg...@gm...> wrote:
> On 30/03/07, bre...@un...
> <bre...@un...> wrote:
> >
> > Not sure what region[:] is supposed to achieve. You are creating a copy
> > with the same name, so you are over-riding the original variable.
> >
>
> That doesn't seem to be the case - it returns the right thing on the
> first call - i.e. region got changed, but on subsequent calls the
> figure is displayed and the function returns array([0,0,0,0]). I
> thought taking the slice just gave access to the internals of region
> ...
>
> How does one assign a new value to a variable in a containing scope?
You can declare the "region" variable as global in keypressed():
def keypressed(event):
 global region
 region = ...
and "region" does not need to get initialized in the containing scope.
Cheers,
 ~ Antonio
From: Antonino I. <tri...@gm...> - 2007年04月01日 10:59:09
On 4/1/07, Antonino Ingargiola <tri...@gm...> wrote:
> On 3/29/07, Ken McIvor <mc...@ii...> wrote:
[cut]
> > > The last think I'm not yet able to do is to update the colorbar to
> > > autoscale with the new incoming data. The the script that follows
> > > tries to update the colorbar too but it does not work (on matplotlib
> > > 0.87 at least).
> >
> > I have no idea if this will help, but you might need to call
> > AxesImage.changed() after calling AxesImage.set_data().
>
> That doesn't help :(. I'm not jet able to update the colorbar once the
> image has changed.
I've found a way to update the colorbar after the image has changed:
 image = imshow(data)
 colr_bar = colorbar()
 ...
 image.set_data(new_data)
 image.changed()
 color_bar.set_clim(vmax=newdata.max())
 draw()
The autoscale() colorbar method does not work to update a colorbar,
but with the above code I can acheive the same result.
Thanks again.
 ~ Antonio
From: Antonino I. <tri...@gm...> - 2007年04月01日 09:40:16
Sorry for the late answer...
On 3/29/07, Ken McIvor <mc...@ii...> wrote:
> On Mar 28, 2007, at 6:03 PM, Antonino Ingargiola wrote:
> > On 3/28/07, Ken McIvor <mc...@ii...> wrote:
> >> You should probably do the acquisition asynchronously by running it
> >> in a separate thread.
> <snip>
> >
> > That's exactly what I'd like to do. The problem is that if I run
> > gtk.main() (the gtk main GUI loop) in a separate thread the program
> > stops until I do something on the GUI (for example passing the mouse
> > on it).
>
> Does it do this if you run gtk.main() in the main thread (e.g. the
> interpreter prompt) while doing something else in a background thread?
Good idea. I will try it next time I'll do something with GUI and thread.
> > My understanding so far is the following. When the function
> > that execute gtk.main() is executed, python doesn't switch thread
> > until either 100 bytecode instructions are executed or since an I/O
> > (potentially) blocking operation in executed.
>
> I think you're more or less correct but are unaware of one important
> factor. Here's my understanding of how multithreading works in
> Python...
>
> Thread switching is controlled by something called the Global
> Interpreter Lock, which is implemented in an abstract way on top of
> an OS lock/mutex object. Only one Python thread runs at a time
> because the Python interpreter requires a thread to hold the GIL
> before it can execute bytecode instructions. The running thread
> holds the GIL while is executes 100 instructions. During this time
> other Python threads block waiting to acquire the GIL. After it has
> executed its 100 instructions, the running thread releases the GIL
> and then attempts to reacquire it. The OS ensures that things are
> fair by preventing one thread from reacquiring the GIL over and over
> again when other threads are also waiting for it.
>
> Python doesn't actually detect you do something that will block the
> thread, like an I/O operation. Instead, the C code implementing an I/
> O operation like file.write() releases the GIL before performing the
> operation. This allows a different thread to acquire it and run some
> more bytecode instructions while the first thread performs its I/O
> operation.
Thanks for the explanation, it's clear now :).
> > BTW, the timer idea is good and eliminates the need to call
> > asynchronously the GUI thread to update the plot, which seems (the
> > latter case) not very simple to do.
>
> Yep. It's impossible to inject arbitrary code into a Python thread;
> the thread has to figure out what it's supposed to do by periodically
> polling something or retrieving some kind of message by blocking on a
> queue. Blocking on a queue isn't an option for the GUI thread.
>
> You might be able to trigger Gtk signals from a separate thread but
> in my experience tricks like that can be, well, tricky.
Good to know that this way is too tricky (at least).
> > The last think I'm not yet able to do is to update the colorbar to
> > autoscale with the new incoming data. The the script that follows
> > tries to update the colorbar too but it does not work (on matplotlib
> > 0.87 at least).
>
> I have no idea if this will help, but you might need to call
> AxesImage.changed() after calling AxesImage.set_data().
That doesn't help :(. I'm not jet able to update the colorbar once the
image has changed.
I will open a new thread to discuss this problem.
> Ken
 ~ Antonio
From: Werner F. B. <wer...@fr...> - 2007年04月01日 08:16:18
Hi Archana,
Sometimes py2exe can't figure out what needs to be included. In these 
cases one creates entries in the packages section to force the inclusion 
of one or multiple packages.
Archana Ganesan wrote:
> Hi all,
> ...
>
> options = {"py2exe": {"compressed": 1,
> "optimize": 2,
> "packages": ["encodings",
> ## "kinterbasdb",
> "pytz.zoneinfo.UTC",
> #" matplotlib.numerix",
> 
You need to activate/un-comment the matplotlib.numerix line. Also note 
that if you only include UTC and you use the timezone stuff in matplot 
then a user NOT using UTC, i.e. another timezone will have a problem, it 
is therefore better to just include all of pytz.
Werner

Showing 5 results of 5

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 によって変換されたページ (->オリジナル) /