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 11 results of 11

From: Damon M. <dam...@gm...> - 2012年07月14日 20:18:49
On Sat, Jul 14, 2012 at 04:09:48PM -0400, Benjamin Root wrote:
> On Saturday, July 14, 2012, John Hunter wrote:
> 
> >
> >
> > On Sat, Jul 14, 2012 at 11:48 AM, John Hunter <jd...@gm...<javascript:_e({}, 'cvml', 'jd...@gm...');>
> > > wrote:
> >
> >> I do not understand why in the following example, if I set
> >> patch_alpha=1.0, I do not see the shadow effect. I would expect to see it
> >> for the the rightmost four bars, where the original bars do not entirely
> >> occlude the shadow, so even if alpha is 1.0, there are parts of the shadow
> >> that are not behind the original bars and should still be visible.
> >>
> >>
> >>
> >
> > I now see that this line explains the behavior
> >
> >
> > https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/patheffects.py#L183
> >
> > gc0.set_alpha(1.-self._patch_alpha)
> >
> > so maybe I should amend my question: is this desirable that the shadow
> > alpha is 1-patch_alpha, since an alpha of 1 on the patch does not imply
> > that there is no visible shadow?
> >
> >
> 
> I would argue that the shadow's alpha should equal the patch's alpha. The
> more opaque the patch, the less light that should get through. Could there
I am inclined to agree here. Should it instead be:
gc0.set_alpha(self._patch_alpha)?
> have been an alpha blending reason for this?
> 
> Ben Root
-- 
Damon McDougall
http://damon-is-a-geek.com
B2.39
Mathematics Institute
University of Warwick
Coventry
West Midlands
CV4 7AL
United Kingdom
From: gsal <sal...@gm...> - 2012年07月14日 20:16:59
So, I have
[code]
from mpl_toolkits.mplot3d import axes3d
fig = plt.figure(figsize=(10,7))
ax = fig.gca(projection='3d')
ax.scatter(xs, ys, zs, c='r')
plt.show()
[/code]
but when the figure first comes up, it is not to my liking; when I
interactively (with the mouse) move it around to my liking, the lower right
corner of the window displays: "azimuth=20 deg, elevation=35 deg...
...how can I achieve my desired azimuth, elevation from the beginning? is it
possible to set it up? I search the on-line docs and found nothing.
thanks,
gsal
-- 
View this message in context: http://old.nabble.com/axes3d%2C-initial-azimuth-and-elevation-tp34161970p34161970.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: Benjamin R. <ben...@ou...> - 2012年07月14日 20:09:55
On Saturday, July 14, 2012, John Hunter wrote:
>
>
> On Sat, Jul 14, 2012 at 11:48 AM, John Hunter <jd...@gm...<javascript:_e({}, 'cvml', 'jd...@gm...');>
> > wrote:
>
>> I do not understand why in the following example, if I set
>> patch_alpha=1.0, I do not see the shadow effect. I would expect to see it
>> for the the rightmost four bars, where the original bars do not entirely
>> occlude the shadow, so even if alpha is 1.0, there are parts of the shadow
>> that are not behind the original bars and should still be visible.
>>
>>
>>
>
> I now see that this line explains the behavior
>
>
> https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/patheffects.py#L183
>
> gc0.set_alpha(1.-self._patch_alpha)
>
> so maybe I should amend my question: is this desirable that the shadow
> alpha is 1-patch_alpha, since an alpha of 1 on the patch does not imply
> that there is no visible shadow?
>
>
I would argue that the shadow's alpha should equal the patch's alpha. The
more opaque the patch, the less light that should get through. Could there
have been an alpha blending reason for this?
Ben Root
From: John H. <jd...@gm...> - 2012年07月14日 16:55:11
On Sat, Jul 14, 2012 at 11:48 AM, John Hunter <jd...@gm...> wrote:
> I do not understand why in the following example, if I set
> patch_alpha=1.0, I do not see the shadow effect. I would expect to see it
> for the the rightmost four bars, where the original bars do not entirely
> occlude the shadow, so even if alpha is 1.0, there are parts of the shadow
> that are not behind the original bars and should still be visible.
>
>
>
I now see that this line explains the behavior
https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/patheffects.py#L183
 gc0.set_alpha(1.-self._patch_alpha)
so maybe I should amend my question: is this desirable that the shadow
alpha is 1-patch_alpha, since an alpha of 1 on the patch does not imply
that there is no visible shadow?
From: John H. <jd...@gm...> - 2012年07月14日 16:49:14
I do not understand why in the following example, if I set patch_alpha=1.0,
I do not see the shadow effect. I would expect to see it for the the
rightmost four bars, where the original bars do not entirely occlude the
shadow, so even if alpha is 1.0, there are parts of the shadow that are not
behind the original bars and should still be visible.
import matplotlib.pyplot as plt
import matplotlib.patheffects as PathEffects
import numpy as np
np.random.seed(2358)
fig = plt.figure()
# sime bar shadows
x = np.random.randn(1000)
n, bins, patches = plt.hist(x, bins=7)
shadow = PathEffects.withSimplePatchShadow(offset_xy=(10,-10),
patch_alpha=0.8, shadow_rgbFace=(0.25,0.25,0.25))
for p in patches:
 p.set_path_effects([shadow])
plt.show()
From: Jeff W. <js...@fa...> - 2012年07月14日 16:18:57
On 7/14/12 8:27 AM, Stefan Mertl wrote:
> What's the reason for the reduction to 0/0? I'm going to create some
> interactive maps. For this it would be easier to have the original
> projected coordinates as the coordinates of the map axes.
> Would it be possible to add a flag to decide if the coordinates should
> be reduced or not?
>
> Regards,
> Stefan.
Stefan: I had to standardize the plotting methods around a specific 
convention, and that seemed as good a one as any. I would suggest you 
override __call__ method to do the transformation for you (as 
illustrated in the utmtest.py example).
-Jeff
>
> On Fri, 2012年07月13日 at 21:26 -0600, Jeff Whitaker wrote:
>> On 7/13/12 8:18 AM, Stefan Mertl wrote:
>>> 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.
>> Stefan: No - that's the only coordinate system Basemap supports.
>>
>> -Jeff
>>>
>>> ------------------------------------------------------------------------------
>>> Live Security Virtual Conference
>>> Exclusive live event will cover all the ways today's security and
>>> threat landscape has changed and how IT managers can respond. Discussions
>>> will include endpoint security, mobile security and the latest in malware
>>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>>> _______________________________________________
>>> Matplotlib-users mailing list
>>> Mat...@li...
>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>
From: Stefan M. <in...@st...> - 2012年07月14日 14:25:58
What's the reason for the reduction to 0/0? I'm going to create some
interactive maps. For this it would be easier to have the original
projected coordinates as the coordinates of the map axes. 
Would it be possible to add a flag to decide if the coordinates should
be reduced or not? 
Regards,
 Stefan.
On Fri, 2012年07月13日 at 21:26 -0600, Jeff Whitaker wrote:
> On 7/13/12 8:18 AM, Stefan Mertl wrote:
> > 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.
> 
> Stefan: No - that's the only coordinate system Basemap supports.
> 
> -Jeff
> >
> >
> > ------------------------------------------------------------------------------
> > Live Security Virtual Conference
> > Exclusive live event will cover all the ways today's security and
> > threat landscape has changed and how IT managers can respond. Discussions
> > will include endpoint security, mobile security and the latest in malware
> > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> > _______________________________________________
> > Matplotlib-users mailing list
> > Mat...@li...
> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> 
> 
From: Keith J. <K....@ir...> - 2012年07月14日 08:13:52
Hi Josh,
I am not quite sure what information you need, but I have an application with several wx notebooks, each with pages carrying related but different 2D and 3D plots. I hope this overview covers what you want. In the code below I set up the axes and toolbar in each panel ready to accept plots as required. I use wxFormbuilder to create MyFrame1 and then this code to add graphs and other functionality. The 'tickle' function is called when a notebook is selected for display.
import wx
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
from matplotlib.backends.backend_wxagg import NavigationToolbar2WxAgg
from matplotlib.figure import Figure
from mpl_toolkits.mplot3d import Axes3D
class ProjectFrame(bare_gui.MyFrame1):
 def __init__( self, parent):
 bare_gui.MyFrame1.__init__( self, parent)
...
 self.Create2DGraph(self.CT_graph_1, "Current / %")#CT notebook
 self.Create2DGraph(self.VT_graph_1, "Voltage/ %")#VT notebook
...
 self.Show(True)
 def Create2DGraph(self, panel, xlabel):
 panel.figure = Figure(None)
 panel.canvas = FigureCanvas(panel, -1, panel.figure)
 panel.axes1 = panel.figure.add_subplot(2,1,1)
 panel.axes2 = panel.figure.add_subplot(2,1,2)
 panel.axes1.set_xlabel(xlabel)
 panel.axes1.set_ylabel('Error / %')
 panel.axes2.set_xlabel(xlabel)
 panel.axes2.set_ylabel('Phase / crad')
 panel.sizer = wx.BoxSizer(wx.VERTICAL)
 panel.sizer.Add(panel.canvas, 1, wx.LEFT | wx.TOP | wx.GROW)
 panel.SetSizer(panel.sizer)
 panel.Fit()
 self.add_2Dtoolbar(panel)
 def add_2Dtoolbar(self, panel):
 panel.toolbar = NavigationToolbar2WxAgg(panel.canvas)
 panel.toolbar.Realize()
 tw, th = panel.toolbar.GetSizeTuple()
 fw, fh = panel.canvas.GetSizeTuple()
 panel.toolbar.SetSize(wx.Size(fw, th))
 panel.sizer.Add(panel.toolbar, 0, wx.LEFT | wx.EXPAND)
 # update the axes menu on the toolbar
 panel.toolbar.update()
 def Create3DGraph(self, panel):
 panel.figure = Figure(None)
 panel.canvas = FigureCanvas(panel, -1, panel.figure)
 panel.ax = Axes3D(panel.figure)
 #these labels should be selected later for specific components
 panel.ax.set_xlabel('Current / %')
 panel.ax.set_ylabel('Phase / degree')
 panel.ax.set_zlabel('Error / %')
 panel.sizer = wx.BoxSizer(wx.VERTICAL)
 panel.sizer.Add(panel.canvas, 1, wx.LEFT | wx.TOP | wx.GROW)
 panel.SetSizer(panel.sizer)
 panel.Fit()
 self.add_2Dtoolbar(panel)
________________________________
From: Joshua Koehler [jjk...@gm...]
Sent: Friday, 13 July 2012 10:45 p.m.
To: mat...@li...
Subject: Re: [Matplotlib-users] wxpython matplotlib figure resize
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...<mailto: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: Jeff W. <js...@fa...> - 2012年07月14日 03:39:55
On 7/13/12 8:18 AM, Stefan Mertl wrote:
> 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.
Stefan: No - that's the only coordinate system Basemap supports.
-Jeff
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: Benjamin R. <ben...@ou...> - 2012年07月14日 01:56:53
On Fri, Jul 13, 2012 at 7:01 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
> >
>
> 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?
>
Your suggestion would be consistent with how errorbar() works, I think.
Ben Root
From: Arek K. <ake...@ya...> - 2012年07月14日 01:05:02
6 messages has been excluded from this view by a project administrator.

Showing 11 results of 11

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