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






Showing 4 results of 4

From: Benjamin R. <ben...@ou...> - 2014年08月25日 15:59:12
I am glad that solution worked for you. As for an alternative to pickling,
no there is no current mechanism to do what you want easily. It is by
design to start destroying everything upon close. We get enough complaints
about "memory" leaks as it is. What you are asking for is essentially
serialization, you just don't want it written to disk. The good news is
that you don't have to write to disk. The pickle module accepts a file-like
object, so you could dump to a cStringIO object, rewind that stream and
then reload that data from the cStringIO object.
Now, maybe some work could be done to improve things, but as it stands
right now, this is the only method I can think of to do what you want.
Maybe one of the other devs has a better idea.
I hope that helps!
Ben
On Mon, Aug 25, 2014 at 11:50 AM, Maciej Kurnicki <kur...@gm...>
wrote:
> Ben,
>
> The adjusting and aspect solution works just perfect, thanks for your fast
> answer. Although i still want to ask for another solution for reloading a
> plot, because i don't like the idea of serialization and writing to disk.
> From what i've found even if i have a variables handling figure and axis
> when i quit the window some part of it probably form the window framework
> are deleted anyway. In this case i think i can redraw all the artists on
> the newly created figure somehow but is there a relatively simple way to
> just set up new window and attach the old figure there?
>
> Maciej
>
> W dniu 25.08.2014 o 16:00, Benjamin Root pisze:
>
> Maciej,
>
> When you close a figure, just about everything gets destroyed (this is
> why you should always savefig() prior to doing a show()). There is a
> mechanism for "reloading" a plot using python pickles:
>
> http://stackoverflow.com/questions/7290370/store-and-reload-matplotlib-pyplot-object
>
> As for setting the aspect ratio to 'equal', there is a second optional
> argument that indicates which thing should get adjusted to achieve an equal
> aspect. By default, it is 'datalim', I think, which adjusts the limits of
> the axes. I think if you set it to 'box', it will do what you want (you
> might need 'box-forced' if you are sharing axes). Fiddle around with these
> settings to get what you want.
> http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.set_aspect
>
> To have the axes extended on the whole figure area, there are multiple
> ways to do that. In particular, you can set the margins for the figure:
>
> http://matplotlib.org/api/pyplot_api.html?highlight=subplots_adjust#matplotlib.pyplot.subplots_adjust
>
> All of this would work just fine with autoscale.
>
> I hope that helps!
> Ben Root
>
>
>
> On Mon, Aug 25, 2014 at 7:00 AM, Maciej Kurnicki <kur...@gm...>
> wrote:
>
>> I'm using matplotlib for drawing lines, points and circles basically. I
>> have 2 problems i can't solve by myself and it's hard to solve them not
>> digging into source i think.
>> First problem: I got an instance of figure class and i want to preserve
>> it during closing and reopening the output window. I'm curious what is
>> happening after clicking on close button on the main widow and is there
>> any way to reopen previously saved figure, and if yes how to save that
>> figure for future reopenings.
>> Second problem: I want to achieve 3 things simultaneously,
>> a) have the axes extended on the whole figure area
>> b) unit distance on y axis has to be the same as unit distance on x axis
>> c) all above has to work well with autoscale(), i want to have a lot of
>> artists on the axes
>> The best thing i have is setting aspect as equal and using autoscale,
>> but it fix axes to be same lenght and i don't want axes to be same
>> length i want the unit distance to be the same
>>
>> Thanks for any help,
>> Maciek
>>
>>
>> ------------------------------------------------------------------------------
>> Slashdot TV.
>> Video for Nerds. Stuff that matters.
>> http://tv.slashdot.org/
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>
>
>
From: Maciej K. <kur...@gm...> - 2014年08月25日 15:50:39
Ben,
The adjusting and aspect solution works just perfect, thanks for your 
fast answer. Although i still want to ask for another solution for 
reloading a plot, because i don't like the idea of serialization and 
writing to disk. From what i've found even if i have a variables 
handling figure and axis when i quit the window some part of it probably 
form the window framework are deleted anyway. In this case i think i can 
redraw all the artists on the newly created figure somehow but is there 
a relatively simple way to just set up new window and attach the old 
figure there?
Maciej
W dniu 25.08.2014 o 16:00, Benjamin Root pisze:
> Maciej,
>
> When you close a figure, just about everything gets destroyed (this is 
> why you should always savefig() prior to doing a show()). There is a 
> mechanism for "reloading" a plot using python pickles:
> http://stackoverflow.com/questions/7290370/store-and-reload-matplotlib-pyplot-object
>
> As for setting the aspect ratio to 'equal', there is a second optional 
> argument that indicates which thing should get adjusted to achieve an 
> equal aspect. By default, it is 'datalim', I think, which adjusts the 
> limits of the axes. I think if you set it to 'box', it will do what 
> you want (you might need 'box-forced' if you are sharing axes). Fiddle 
> around with these settings to get what you want.
> http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.set_aspect
>
> To have the axes extended on the whole figure area, there are multiple 
> ways to do that. In particular, you can set the margins for the figure:
> http://matplotlib.org/api/pyplot_api.html?highlight=subplots_adjust#matplotlib.pyplot.subplots_adjust
>
> All of this would work just fine with autoscale.
>
> I hope that helps!
> Ben Root
>
>
>
> On Mon, Aug 25, 2014 at 7:00 AM, Maciej Kurnicki <kur...@gm... 
> <mailto:kur...@gm...>> wrote:
>
> I'm using matplotlib for drawing lines, points and circles
> basically. I
> have 2 problems i can't solve by myself and it's hard to solve
> them not
> digging into source i think.
> First problem: I got an instance of figure class and i want to
> preserve
> it during closing and reopening the output window. I'm curious what is
> happening after clicking on close button on the main widow and is
> there
> any way to reopen previously saved figure, and if yes how to save that
> figure for future reopenings.
> Second problem: I want to achieve 3 things simultaneously,
> a) have the axes extended on the whole figure area
> b) unit distance on y axis has to be the same as unit distance on
> x axis
> c) all above has to work well with autoscale(), i want to have a
> lot of
> artists on the axes
> The best thing i have is setting aspect as equal and using autoscale,
> but it fix axes to be same lenght and i don't want axes to be same
> length i want the unit distance to be the same
>
> Thanks for any help,
> Maciek
>
> ------------------------------------------------------------------------------
> Slashdot TV.
> Video for Nerds. Stuff that matters.
> http://tv.slashdot.org/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> <mailto:Mat...@li...>
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
From: Benjamin R. <ben...@ou...> - 2014年08月25日 14:00:55
Maciej,
When you close a figure, just about everything gets destroyed (this is why
you should always savefig() prior to doing a show()). There is a mechanism
for "reloading" a plot using python pickles:
http://stackoverflow.com/questions/7290370/store-and-reload-matplotlib-pyplot-object
As for setting the aspect ratio to 'equal', there is a second optional
argument that indicates which thing should get adjusted to achieve an equal
aspect. By default, it is 'datalim', I think, which adjusts the limits of
the axes. I think if you set it to 'box', it will do what you want (you
might need 'box-forced' if you are sharing axes). Fiddle around with these
settings to get what you want.
http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.set_aspect
To have the axes extended on the whole figure area, there are multiple ways
to do that. In particular, you can set the margins for the figure:
http://matplotlib.org/api/pyplot_api.html?highlight=subplots_adjust#matplotlib.pyplot.subplots_adjust
All of this would work just fine with autoscale.
I hope that helps!
Ben Root
On Mon, Aug 25, 2014 at 7:00 AM, Maciej Kurnicki <kur...@gm...>
wrote:
> I'm using matplotlib for drawing lines, points and circles basically. I
> have 2 problems i can't solve by myself and it's hard to solve them not
> digging into source i think.
> First problem: I got an instance of figure class and i want to preserve
> it during closing and reopening the output window. I'm curious what is
> happening after clicking on close button on the main widow and is there
> any way to reopen previously saved figure, and if yes how to save that
> figure for future reopenings.
> Second problem: I want to achieve 3 things simultaneously,
> a) have the axes extended on the whole figure area
> b) unit distance on y axis has to be the same as unit distance on x axis
> c) all above has to work well with autoscale(), i want to have a lot of
> artists on the axes
> The best thing i have is setting aspect as equal and using autoscale,
> but it fix axes to be same lenght and i don't want axes to be same
> length i want the unit distance to be the same
>
> Thanks for any help,
> Maciek
>
>
> ------------------------------------------------------------------------------
> Slashdot TV.
> Video for Nerds. Stuff that matters.
> http://tv.slashdot.org/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Maciej K. <kur...@gm...> - 2014年08月25日 11:00:40
I'm using matplotlib for drawing lines, points and circles basically. I 
have 2 problems i can't solve by myself and it's hard to solve them not 
digging into source i think.
First problem: I got an instance of figure class and i want to preserve 
it during closing and reopening the output window. I'm curious what is 
happening after clicking on close button on the main widow and is there 
any way to reopen previously saved figure, and if yes how to save that 
figure for future reopenings.
Second problem: I want to achieve 3 things simultaneously,
a) have the axes extended on the whole figure area
b) unit distance on y axis has to be the same as unit distance on x axis
c) all above has to work well with autoscale(), i want to have a lot of 
artists on the axes
The best thing i have is setting aspect as equal and using autoscale, 
but it fix axes to be same lenght and i don't want axes to be same 
length i want the unit distance to be the same
Thanks for any help,
Maciek

Showing 4 results of 4

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