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




Showing 7 results of 7

From: Eric F. <ef...@ha...> - 2010年11月21日 23:48:16
On 11/21/2010 11:21 AM, Tommy Grav wrote:
> I have two questions:
>
> 1. Is there a way to increase the line width of the axes? I have figured out how to do it
> with the tick marks, but not the axes themselves.
for s in ax.spines.values():
 s.set_linewidth(5)
>
> 2. When adding a label to plot (xlabel and ylabel) the label will be cropped if the font is
> large. Is there a way to rescale the plot so that the size of the axis is adjusted to allow
> for the larger font size? If not, how do I increase the buffer zone outside the plot?
There is no automatic way to handle this, but you can change the axes 
position either directly (set_position method of the Axes), or by using 
subplots_adjust if you have created the axes as a subplot.
Eric
>
> Cheers
> Tommy
>
From: Tommy G. <tg...@ma...> - 2010年11月21日 21:22:37
I have two questions:
1. Is there a way to increase the line width of the axes? I have figured out how to do it 
with the tick marks, but not the axes themselves.
2. When adding a label to plot (xlabel and ylabel) the label will be cropped if the font is
large. Is there a way to rescale the plot so that the size of the axis is adjusted to allow 
for the larger font size? If not, how do I increase the buffer zone outside the plot?
Cheers
 Tommy
From: Gael V. <gae...@no...> - 2010年11月21日 17:43:59
On Sun, Nov 21, 2010 at 11:58:42AM -0500, Darren Dale wrote:
> > Apparently, to make it work with the Qt4 backend, one simply has to add:
> > QtGui.QApplication.processEvents()
> > to the method 'FigureCanvasQt.draw_idle' (matplotlib/backends/backend_qt4.py).
> , discussion of why processEvents was originally removed from draw():
> "that line can not be added back in. When that line
> is in place, the backend attempts to process queued events before it
> is finished processing the current event. It was leading to segfaults
> in some cases. processEvents should not be called in the middle of
> processing an event."
Yes, I can confirm that adding processEvents in places to facilitate
redraws is a good way to lead to segfaults. I have seen this in many
places other than matplotlib. The reason Tk does not have this problem is
that it deals with event loops in a fundementally different way that Wx
or Qt. I am not sure what the difference is exactly, but I seem to
remember that the Tk event loop is more or less hard-wired in Python, and
(maybe ?) lives in a different C-level thread.
The problem with animations in the example linked by Pierre is that there
is no redraw triggered, because the redraw needs to be done in the event
loop. The question that needs to be answered to make it easier for people
doing animations outside of the mainloop is rather: is there a way to
force a redraw without returning in the mainloop. Chances are that there
isn't, because the toolkit (Qt) is not thread safe.
But the problem really boils down to the fact that the example is not the
right way to write animations in GUI programming. However people do not
want to learn event loop programming (I can understand them) and want to
write for loops. In Mayavi, we provide a helper function that enables to
put such a for loop in a generator and pass the generator to the event
loop framework without having to worry about timer:
http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/auto/mlab_other_functions.html#animate
While this function should work out of the box in Spyder, if the
ETS_TOOLKIT variable is well set for Mayavi/Traits to use the Qt backend,
it would also be fairly easy to port the main idea out of Mayavi and
Traits, in matplotlib or spyder:
https://svn.enthought.com/enthought/browser/Mayavi/trunk/enthought/mayavi/tools/animator.py
My 2 cents,
Gaël
From: Darren D. <dsd...@gm...> - 2010年11月21日 16:58:52
On Sun, Nov 21, 2010 at 10:36 AM, Pierre Raybaut
<pie...@gm...> wrote:
> Hi all,
>
> Following a discussion with a Spyder user regarding simple animations
> with Matplotlib, I took a very quick look at the Qt4's backend source
> code to see if it was possible to make the following code work (which
> is working with the TkAgg backend but not the Qt4 backend):
> http://www.scipy.org/Cookbook/Matplotlib/Animations#head-e50abcca4333d3d76b3f2bb66ef00f15c6b4dbbc
>
> Apparently, to make it work with the Qt4 backend, one simply has to add:
> QtGui.QApplication.processEvents()
> to the method 'FigureCanvasQt.draw_idle' (matplotlib/backends/backend_qt4.py).
>
> I did not look further to see if this QApplication.processEvents call
> is affecting Matplotlib's performance in any way, but I guess that it
> won't make a big difference.
>From http://www.mail-archive.com/mat...@li.../msg05606.html
, discussion of why processEvents was originally removed from draw():
"that line can not be added back in. When that line
is in place, the backend attempts to process queued events before it
is finished processing the current event. It was leading to segfaults
in some cases. processEvents should not be called in the middle of
processing an event."
I am not familiar with draw_idle, and the documentation isn't helpful.
Adding processEvents to that call looks similar to adding it to the
end of the draw method itself. I'll argue strongly against such a
change until it can be shown that the call to processEvents will never
occur while processing a current event (I don't want to reintroduce
segfaults in the programs I use at work.)
Darren
From: Pierre R. <pie...@gm...> - 2010年11月21日 15:36:11
Hi all,
Following a discussion with a Spyder user regarding simple animations
with Matplotlib, I took a very quick look at the Qt4's backend source
code to see if it was possible to make the following code work (which
is working with the TkAgg backend but not the Qt4 backend):
http://www.scipy.org/Cookbook/Matplotlib/Animations#head-e50abcca4333d3d76b3f2bb66ef00f15c6b4dbbc
Apparently, to make it work with the Qt4 backend, one simply has to add:
QtGui.QApplication.processEvents()
to the method 'FigureCanvasQt.draw_idle' (matplotlib/backends/backend_qt4.py).
I did not look further to see if this QApplication.processEvents call
is affecting Matplotlib's performance in any way, but I guess that it
won't make a big difference.
Cheers,
Pierre
PS: I know that this example of animation is clearly not the most
efficient way to animate a Matplotlib figure (and that it's very ugly
from a GUI programming point of view!): the 'animation_blit_qt4.py'
example is probably the recommended way but the simple example above
is some much simpler for beginners.
From: Eric F. <ef...@ha...> - 2010年11月21日 07:24:36
On 11/20/2010 09:05 PM, Garry Willgoose wrote:
> I want to control the ratio of the size of the x and y axes of contour/
> contourf() plot (in the same way that 'aspect' lets me control
> imgshow()). Is there any way to do this?
Yes, use the set_aspect() method of the Axes object:
http://matplotlib.sourceforge.net/api/axes_api.html?highlight=aspect#matplotlib.axes.Axes.set_aspect
Eric
From: Garry W. <gar...@ne...> - 2010年11月21日 07:05:57
I want to control the ratio of the size of the x and y axes of contour/ 
contourf() plot (in the same way that 'aspect' lets me control 
imgshow()). Is there any way to do this?

Showing 7 results of 7

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