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




Showing 8 results of 8

From: Damon M. <dam...@gm...> - 2012年07月13日 23:01:53
On Wed, Jul 11, 2012 at 08:33:21PM -0400, Tony Yu wrote:
> On Wed, Jul 11, 2012 at 2:28 PM, Benjamin Root <ben...@ou...> wrote:
> 
> >
> >
> > On Wed, Jul 11, 2012 at 11:23 AM, John Hunter <jd...@gm...> wrote:
> >
> >>
> >>
> >> On Wed, Jul 11, 2012 at 10:09 AM, Damon McDougall <
> >> dam...@gm...> wrote:
> >>>
> >>> Well, as Ben said, that error fill plot is neato! It doesn't look too
> >>> complicated, either. I'd be more than happy to port it over later today
> >>> when I get bored of typing up my thesis. It'll probably only take me
> >>> about 30 minutes.
> >>>
> >>> If nobody is opposed to this idea, I'll go ahead and submit a PR this
> >>> evening (British Summer (hah!) Time).
> >>>
> >>
> >>
> >> While it is a nice graph, I am not sure that the use case is common
> >> enough to justify a new plotting method. One can get the same result with:
> >>
> >>
> >> In [68]: x = np.linspace(0, 2 * np.pi)
> >>
> >> In [69]: y_sin = np.sin(x)
> >>
> >> In [70]: err = np.concatenate([y_sin + 0.2, y_sin[::-1] - 0.2])
> >>
> >> In [71]: plot(x, y_sin)
> >> Out[71]: [<matplotlib.lines.Line2D object at 0x96959ec>]
> >>
> >> In [72]: fill_between(np.concatenate([x, x[::-1]]), err,
> >> facecolor='red', alpha=0.5)
> >> Out[72]: <matplotlib.collections.PolyCollection object at 0x962758c>
> >>
> >> Admittedly the [::-1] thing is a bit counter-intuitive, but rather than
> >> adding a new plotting method, perhaps we would be better off with a helper
> >> method to create the xs and ys for fill_between
> >>
> >> xs, ys = mlab.pad_line(x, y, 0.2)
> >> fill_between(xs, ys)
> >>
> >> JDH
> >>
> >
> >
> > I could definitely agree with a pad_line() function. We might want to
> > revisit the issue of how much visibility the mlab module should get in the
> > documentation (it currently doesn't get much at all). My whole take on
> > mlab was that it was a left-over from the days of working around issues in
> > NumPy and SciPy and that it was being slowly phased out. As for other
> > possible locations, cbook feels like it is more for the devs than for the
> > users, and adding it to pyplot would render the whole purpose of creating
> > this function as opposed to errorfill moot.
> >
> > As an additional point about such a pad_line function, it should probably
> > be nice to mirror the errorbar() functionality to allow not only a constant
> > error, but also a N, Nx1, or 2xN array of +/- error. (note that errorbar()
> > for the 2xN array case does -row1 and +row2).
> >
> 
> Damon: it sounds like you're volunteering to submit a PR to add this
> function ;)
> 
> Here's the relevant bit (which should already handle the cases Ben mentions
> above):
> 
> 
> https://github.com/tonysyu/mpltools/blob/master/mpltools/special/errorfill.py#L54
> 
Great. I've basically done this. I have one suggestion, though. In the
case where len(zerr) == 2, you are setting
zmin, zmax = zerr
I think it makes more sense to set
zmin, zmax = z - zerr[0], z + zerr[1]
What do you think?
> It needs a docstring and a home (pyplot.py?). I kind of think `offset_line`
> is more explicit than `pad_line` (both of these are *much* better than my
> original `extrema_from_error_input`).
> 
> Cheers,
> -Tony
> 
> 
> > Cheers!
> > Ben Root
> >
> >
Best,
Damon
-- 
Damon McDougall
http://damon-is-a-geek.com
B2.39
Mathematics Institute
University of Warwick
Coventry
West Midlands
CV4 7AL
United Kingdom
From: Stefan M. <in...@st...> - 2012年07月13日 14:38:47
The UTM support is great. Thanks for that. 
Is there a possibility to display the projected coordinates without the
reduction of the x/y coordinates to 0/0 in the left bottom corner?
Regards,
 Stefan.
From: John H. <jd...@gm...> - 2012年07月13日 13:11:07
On Jul 13, 2012, at 7:57 AM, Benjamin Root <ben...@ou...> wrote:
> There was talk of this living in mlab or cbook. Is there a preference?
> 
> 
> Neither. cbook is really meant more for the devs. Half of it is converter functions that are probably completely unneeded now, while the other half is the callback registry. 
I disagree that cbook is meant for devs. I initially used cbook as a place to put neat recipes from the python cookbook. It has grown a bit from there. The stuff that is in there like "is_string_like" is generically useful. 
The converters are used by the rec2* funcs, eg the rec2excel function in the exceltools toolkit. I use these extensively. 
> Luckily, the module is called "cbook.py", so one could pretend that it isn't "cookbook" but rather "callback book"...
> 
> Meanwhile, mlab's own documentation says: "Numerical python functions written for compatability with MATLAB
> commands with the same names." So, unless someone can find out if MATLAB has some sort of equivalent functionality hidden away somewhere, it doesn't belong there either.
> 
Or better, we change the docstring. I think of mlab as a place to put numerical or semi-numerical stuff in support of plotting. 
> Not sure where to put it.
mlab is probably the best place. 
From: Benjamin R. <ben...@ou...> - 2012年07月13日 12:58:25
On Thu, Jul 12, 2012 at 3:33 PM, Damon McDougall
<dam...@gm...>wrote:
> On Wed, Jul 11, 2012 at 08:33:21PM -0400, Tony Yu wrote:
> > On Wed, Jul 11, 2012 at 2:28 PM, Benjamin Root <ben...@ou...> wrote:
> >
> > >
> > >
> > > On Wed, Jul 11, 2012 at 11:23 AM, John Hunter <jd...@gm...>
> wrote:
> > >
> > >>
> > >>
> > >> On Wed, Jul 11, 2012 at 10:09 AM, Damon McDougall <
> > >> dam...@gm...> wrote:
> > >>>
> > >>> Well, as Ben said, that error fill plot is neato! It doesn't look too
> > >>> complicated, either. I'd be more than happy to port it over later
> today
> > >>> when I get bored of typing up my thesis. It'll probably only take me
> > >>> about 30 minutes.
> > >>>
> > >>> If nobody is opposed to this idea, I'll go ahead and submit a PR this
> > >>> evening (British Summer (hah!) Time).
> > >>>
> > >>
> > >>
> > >> While it is a nice graph, I am not sure that the use case is common
> > >> enough to justify a new plotting method. One can get the same result
> with:
> > >>
> > >>
> > >> In [68]: x = np.linspace(0, 2 * np.pi)
> > >>
> > >> In [69]: y_sin = np.sin(x)
> > >>
> > >> In [70]: err = np.concatenate([y_sin + 0.2, y_sin[::-1] - 0.2])
> > >>
> > >> In [71]: plot(x, y_sin)
> > >> Out[71]: [<matplotlib.lines.Line2D object at 0x96959ec>]
> > >>
> > >> In [72]: fill_between(np.concatenate([x, x[::-1]]), err,
> > >> facecolor='red', alpha=0.5)
> > >> Out[72]: <matplotlib.collections.PolyCollection object at 0x962758c>
> > >>
> > >> Admittedly the [::-1] thing is a bit counter-intuitive, but rather
> than
> > >> adding a new plotting method, perhaps we would be better off with a
> helper
> > >> method to create the xs and ys for fill_between
> > >>
> > >> xs, ys = mlab.pad_line(x, y, 0.2)
> > >> fill_between(xs, ys)
> > >>
> > >> JDH
> > >>
> > >
> > >
> > > I could definitely agree with a pad_line() function. We might want to
> > > revisit the issue of how much visibility the mlab module should get in
> the
> > > documentation (it currently doesn't get much at all). My whole take on
> > > mlab was that it was a left-over from the days of working around
> issues in
> > > NumPy and SciPy and that it was being slowly phased out. As for other
> > > possible locations, cbook feels like it is more for the devs than for
> the
> > > users, and adding it to pyplot would render the whole purpose of
> creating
> > > this function as opposed to errorfill moot.
> > >
> > > As an additional point about such a pad_line function, it should
> probably
> > > be nice to mirror the errorbar() functionality to allow not only a
> constant
> > > error, but also a N, Nx1, or 2xN array of +/- error. (note that
> errorbar()
> > > for the 2xN array case does -row1 and +row2).
> > >
> >
> > Damon: it sounds like you're volunteering to submit a PR to add this
> > function ;)
> >
> > Here's the relevant bit (which should already handle the cases Ben
> mentions
> > above):
> >
> >
> >
> https://github.com/tonysyu/mpltools/blob/master/mpltools/special/errorfill.py#L54
> >
> > It needs a docstring and a home (pyplot.py?). I kind of think
> `offset_line`
> > is more explicit than `pad_line` (both of these are *much* better than my
> > original `extrema_from_error_input`).
> >
>
> There was talk of this living in mlab or cbook. Is there a preference?
>
>
Neither. cbook is really meant more for the devs. Half of it is converter
functions that are probably completely unneeded now, while the other half
is the callback registry. Luckily, the module is called "cbook.py", so one
could pretend that it isn't "cookbook" but rather "callback book"...
Meanwhile, mlab's own documentation says: "Numerical python functions
written for compatability with MATLAB
commands with the same names." So, unless someone can find out if MATLAB
has some sort of equivalent functionality hidden away somewhere, it doesn't
belong there either.
Not sure where to put it.
Cheers!
Ben Root
From: Joshua K. <jjk...@gm...> - 2012年07月13日 10:44:23
Hi Keith,
How are you storing the plot in the frame/panel?
Josh
On Jul 12, 2012, at 11:59 PM, Keith Jones wrote:
> Hi Josh,
> Yes I too am using the wx backend.
> 
> Regards,
> Keith
> 
> From: Tony Yu [mailto:ts...@gm...] 
> Sent: Friday, 13 July 2012 3:16 p.m.
> To: Keith Jones
> Cc: Joshua Koehler; mat...@li...
> Subject: Re: [Matplotlib-users] wxpython matplotlib figure resize
> 
> 
> On Thu, Jul 12, 2012 at 9:27 PM, Keith Jones <K....@ir...> wrote:
> Hi,
> I am interested in a better solution to this problem, but I have used this simple method to force the right size.
> 
> def tickle(self):
> #gets frame to redraw and resize, not elegant.
> if self.IsMaximized(): #then needs a kick
> self.Restore()
> self.Maximize()
> else:
> x,y = self.GetSize()
> self.SetSize((x-1, y-1))
> self.SetSize((x, y))
> 
> Regards,
> Keith
> 
> From: Joshua Koehler [mailto:jjk...@gm...] 
> Sent: Saturday, 7 July 2012 1:51 a.m.
> To: mat...@li...
> Subject: [Matplotlib-users] wxpython matplotlib figure resize
> 
> Hi all,
> 
> I am currently trying to use matplotlib with wxPython and all is going well except for one annoying issue that I can't figure out. 
> 
> I initialize a wxcanvas object with a figure and then throughout the life of the program I want the canvas' figure to change and display the corresponding plot. I can get the change of figure, but when the program goes to plot, the figure isn't the right size. It changes to the right size only when I manually resize the figure (see attached images). Is there some command that I am missing? This is the update sequence I am using:
> 
> self.figure = figure
> 
> self.canvas.figure.clear()
> self.canvas.figure = self.figure
> self.canvas.draw()
> self.color_background()
> 
> #self.GetParent().Layout()
> #self.SetSizer(self.main_sizer)
> #self.Fit()
> self.SendSizeEvent()
> 
> As you can tell from the comments (there are more in my code), I have tried a variety of ways to update the figure off the bat.
> 
> Thanks!
> 
> Josh
> 
> 
> This may be similar to a Qt-backend bug, which didn't take the toolbar into account when resizing the figure:
> https://github.com/matplotlib/matplotlib/pull/756
> It doesn't quite fit, though, because Josh's original example shows a figure that's the correct size (but the axes doesn't fill the figure). The toolbar issue tended to squish the axes in the vertical direction (at least in the GUI window), whereas Josh's example is squished in the horizontal direction.
> 
> Keith: Are you also using the Wx-backend? I don't have Wx installed so I can't provide much help. I've been planning to take a look at a similar issue in the Tk backend, but haven't had time.
> 
> Best,
> -Tony
> 
> 
> 
> 
> This electronic transmission and any documents accompanying this electronic transmission contain confidential information belonging to the sender. This information may be legally privileged. The information is intended only for the use of the individual or entity named above. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or the taking of any action in reliance on or regarding the contents of this electronically transmitted information is strictly prohibited.
From: Jouni K. S. <jk...@ik...> - 2012年07月13日 08:17:04
Thanks for the explanation! Let's discuss further on that issue page.
Michiel de Hoon <mjl...@ya...> writes:
> Hi Eric, Jouni,
>
> Thanks for your replies. I opened an issue here:
>
> https://github.com/matplotlib/matplotlib/issues/992
>
> and wrote an outline of how the PDF backend can be simplified by
> making use of gc.restore to keep track of the graphics context. In
> essence the PDF backend would then follow the same logic as the Cairo
> and Mac OS X backends, so it may be good to compare to these
> (especially the Cairo backend, since it's written in pure Python and
> easy to understand).
>
> Best,
> -Michiel.
-- 
Jouni K. Seppänen
http://www.iki.fi/jks
From: Keith J. <K....@ir...> - 2012年07月13日 03:59:46
Hi Josh,
Yes I too am using the wx backend.
Regards,
Keith
________________________________
From: Tony Yu [mailto:ts...@gm...]
Sent: Friday, 13 July 2012 3:16 p.m.
To: Keith Jones
Cc: Joshua Koehler; mat...@li...
Subject: Re: [Matplotlib-users] wxpython matplotlib figure resize
On Thu, Jul 12, 2012 at 9:27 PM, Keith Jones <K....@ir...<mailto:K....@ir...>> wrote:
Hi,
I am interested in a better solution to this problem, but I have used this simple method to force the right size.
 def tickle(self):
 #gets frame to redraw and resize, not elegant.
 if self.IsMaximized(): #then needs a kick
 self.Restore()
 self.Maximize()
 else:
 x,y = self.GetSize()
 self.SetSize((x-1, y-1))
 self.SetSize((x, y))
Regards,
Keith
________________________________
From: Joshua Koehler [mailto:jjk...@gm...<mailto:jjk...@gm...>]
Sent: Saturday, 7 July 2012 1:51 a.m.
To: mat...@li...<mailto:mat...@li...>
Subject: [Matplotlib-users] wxpython matplotlib figure resize
Hi all,
I am currently trying to use matplotlib with wxPython and all is going well except for one annoying issue that I can't figure out.
I initialize a wxcanvas object with a figure and then throughout the life of the program I want the canvas' figure to change and display the corresponding plot. I can get the change of figure, but when the program goes to plot, the figure isn't the right size. It changes to the right size only when I manually resize the figure (see attached images). Is there some command that I am missing? This is the update sequence I am using:
self.figure = figure
 self.canvas.figure.clear()
 self.canvas.figure = self.figure
 self.canvas.draw()
 self.color_background()
 #self.GetParent().Layout()
 #self.SetSizer(self.main_sizer)
 #self.Fit()
 self.SendSizeEvent()
As you can tell from the comments (there are more in my code), I have tried a variety of ways to update the figure off the bat.
Thanks!
Josh
This may be similar to a Qt-backend bug, which didn't take the toolbar into account when resizing the figure:
https://github.com/matplotlib/matplotlib/pull/756
It doesn't quite fit, though, because Josh's original example shows a figure that's the correct size (but the axes doesn't fill the figure). The toolbar issue tended to squish the axes in the vertical direction (at least in the GUI window), whereas Josh's example is squished in the horizontal direction.
Keith: Are you also using the Wx-backend? I don't have Wx installed so I can't provide much help. I've been planning to take a look at a similar issue in the Tk backend, but haven't had time.
Best,
-Tony
________________________________
This electronic transmission and any documents accompanying this electronic transmission contain confidential information belonging to the sender. This information may be legally privileged. The information is intended only for the use of the individual or entity named above. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or the taking of any action in reliance on or regarding the contents of this electronically transmitted information is strictly prohibited.
From: Tony Yu <ts...@gm...> - 2012年07月13日 03:17:07
On Thu, Jul 12, 2012 at 9:27 PM, Keith Jones <K....@ir...> wrote:
> Hi,
>
> I am interested in a better solution to this problem, but I have used this
> simple method to force the right size.
>
>
>
> def tickle(self):
>
> #gets frame to redraw and resize, not elegant.
>
> if self.IsMaximized(): #then needs a kick
>
> self.Restore()
>
> self.Maximize()
>
> else:
>
> x,y = self.GetSize()
>
> self.SetSize((x-1, y-1))
>
> self.SetSize((x, y))
>
>
>
> Regards,
>
> Keith
>
>
> ------------------------------
>
> *From:* Joshua Koehler [mailto:jjk...@gm...]
> *Sent:* Saturday, 7 July 2012 1:51 a.m.
> *To:* mat...@li...
> *Subject:* [Matplotlib-users] wxpython matplotlib figure resize
>
>
>
> Hi all,
>
> I am currently trying to use matplotlib with wxPython and all is going
> well except for one annoying issue that I can't figure out.
>
> I initialize a wxcanvas object with a figure and then throughout the life
> of the program I want the canvas' figure to change and display the
> corresponding plot. I can get the change of figure, but when the program
> goes to plot, the figure isn't the right size. It changes to the right size
> only when I manually resize the figure (see attached images). Is there some
> command that I am missing? This is the update sequence I am using:
>
> self.figure = figure
>
> self.canvas.figure.clear()
> self.canvas.figure = self.figure
> self.canvas.draw()
> self.color_background()
>
> #self.GetParent().Layout()
> #self.SetSizer(self.main_sizer)
> #self.Fit()
> self.SendSizeEvent()
>
> As you can tell from the comments (there are more in my code), I have
> tried a variety of ways to update the figure off the bat.
>
> Thanks!
>
> Josh
>
>
> This may be similar to a Qt-backend bug, which didn't take the toolbar
into account when resizing the figure:
https://github.com/matplotlib/matplotlib/pull/756
It doesn't quite fit, though, because Josh's original example shows a
figure that's the correct size (but the axes doesn't fill the figure). The
toolbar issue tended to squish the axes in the vertical direction (at least
in the GUI window), whereas Josh's example is squished in the horizontal
direction.
Keith: Are you also using the Wx-backend? I don't have Wx installed so I
can't provide much help. I've been planning to take a look at a similar
issue in the Tk backend, but haven't had time.
Best,
-Tony
1 message has been excluded from this view by a project administrator.

Showing 8 results of 8

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