SourceForge logo
SourceForge logo
Menu

matplotlib-devel — matplotlib developers

You can subscribe to this list here.

2003 Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
(1)
Nov
(33)
Dec
(20)
2004 Jan
(7)
Feb
(44)
Mar
(51)
Apr
(43)
May
(43)
Jun
(36)
Jul
(61)
Aug
(44)
Sep
(25)
Oct
(82)
Nov
(97)
Dec
(47)
2005 Jan
(77)
Feb
(143)
Mar
(42)
Apr
(31)
May
(93)
Jun
(93)
Jul
(35)
Aug
(78)
Sep
(56)
Oct
(44)
Nov
(72)
Dec
(75)
2006 Jan
(116)
Feb
(99)
Mar
(181)
Apr
(171)
May
(112)
Jun
(86)
Jul
(91)
Aug
(111)
Sep
(77)
Oct
(72)
Nov
(57)
Dec
(51)
2007 Jan
(64)
Feb
(116)
Mar
(70)
Apr
(74)
May
(53)
Jun
(40)
Jul
(519)
Aug
(151)
Sep
(132)
Oct
(74)
Nov
(282)
Dec
(190)
2008 Jan
(141)
Feb
(67)
Mar
(69)
Apr
(96)
May
(227)
Jun
(404)
Jul
(399)
Aug
(96)
Sep
(120)
Oct
(205)
Nov
(126)
Dec
(261)
2009 Jan
(136)
Feb
(136)
Mar
(119)
Apr
(124)
May
(155)
Jun
(98)
Jul
(136)
Aug
(292)
Sep
(174)
Oct
(126)
Nov
(126)
Dec
(79)
2010 Jan
(109)
Feb
(83)
Mar
(139)
Apr
(91)
May
(79)
Jun
(164)
Jul
(184)
Aug
(146)
Sep
(163)
Oct
(128)
Nov
(70)
Dec
(73)
2011 Jan
(235)
Feb
(165)
Mar
(147)
Apr
(86)
May
(74)
Jun
(118)
Jul
(65)
Aug
(75)
Sep
(162)
Oct
(94)
Nov
(48)
Dec
(44)
2012 Jan
(49)
Feb
(40)
Mar
(88)
Apr
(35)
May
(52)
Jun
(69)
Jul
(90)
Aug
(123)
Sep
(112)
Oct
(120)
Nov
(105)
Dec
(116)
2013 Jan
(76)
Feb
(26)
Mar
(78)
Apr
(43)
May
(61)
Jun
(53)
Jul
(147)
Aug
(85)
Sep
(83)
Oct
(122)
Nov
(18)
Dec
(27)
2014 Jan
(58)
Feb
(25)
Mar
(49)
Apr
(17)
May
(29)
Jun
(39)
Jul
(53)
Aug
(52)
Sep
(35)
Oct
(47)
Nov
(110)
Dec
(27)
2015 Jan
(50)
Feb
(93)
Mar
(96)
Apr
(30)
May
(55)
Jun
(83)
Jul
(44)
Aug
(8)
Sep
(5)
Oct
Nov
(1)
Dec
(1)
2016 Jan
Feb
Mar
(1)
Apr
May
Jun
(2)
Jul
Aug
(3)
Sep
(1)
Oct
(3)
Nov
Dec
2017 Jan
Feb
(5)
Mar
Apr
May
Jun
Jul
(3)
Aug
Sep
(7)
Oct
Nov
Dec
2018 Jan
Feb
Mar
Apr
May
Jun
Jul
(2)
Aug
Sep
Oct
Nov
Dec
S M T W T F S


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



Showing 6 results of 6

From: Eric F. <ef...@ha...> - 2010年06月30日 21:45:28
On Wed, 2010年06月30日 at 23:08 +0200, Peter Butterworth wrote:
> On Wed, Jun 30, 2010 at 3:42 AM, Eric Firing <ef...@ha...> wrote:
> > On Tue, 2010年06月29日 at 16:01 -0700, butterw wrote:
> >> My understanding is that the proposed change will break at least some
> >> existing code, hence my proposal to go the safer route.
> >
> > On what is that understanding based? Any actual examples or use cases?
> >
> > I think the only such cases would be interactive scripts. One can
> > imagine a script in which a plot is made, the user views it, perhaps
> > uses a gui to change the limits, then presses a button to plot the next
> > data set on top of the first, expecting that it will again autoscale,
> > and so forth. Maybe this is sufficient justification for leaving the
> > present version alone. That is what I am trying to find out. In
> > addition, the change would require scanning the internal mpl code to see
> > whether there are uses of set_xlim that would have to be changed.
> 
> The points you make are exactly what I was thinking about.
> A subtle alteration of the behaviour of matplotlib caused by the
> change is the worse case scenario, because it might not be
> straightforward to detect/correct.
> I also have a number of matplotlib interactive scripts /GUIs used in
> production. Most rely on precise control of the viewing area and some
> will be affected by the change.
> 
> >
> >>
> >> Also I'm unconvinced by the justification for the change :
> >> xlim and autoscalex_on are independant attributes, why then should setting
> >
> > They are not independent, they are potentially in conflict--two
> > mechanisms fighting for control of the axis.
> >
> >> xlim have the side effect of turning autoscalex off ? This is not consistent
> >> with how the API works. If I really wanted autoscalex off, I would have
> >> specified it.
> >
> > The idea of having interactive plotting commands is to make the
> > interaction easy and natural. When you call set_xlim interactively, it
> > is because that is what you want the limits to be. At least that point
> > of view has been expressed several times on the lists. I have yet to
> > hear someone say, "I rely on the present behavior". In scripts, when
> > there is no interactive scenario such as I described in the previous
> > paragraph, the problem with the present behavior is that it means
> > set_xlim has no effect at all if followed by a plot command unless one
> > has disabled autoscaling either via a kwarg in the plot command, or via
> > ax.set_autoscalex_on(False). The latter is just plain ugly, to my eye.
> 
> My personal opinion is that the current behaviour is not broken.
> When typing commands interactively in pylab or writing a regular
> script it can be frustrating. But in interactive GUIs it is useful to
> have full independent control over the two parameters.
> In most cases I agree that the proposed behaviour is what the user
> wants. But this is not true in all cases.
> 
> >> To sum things up:
> >> Adding an argument to set_xlim to allow autoscale to be turned off in the
> >> same step would be a good idea. But it shouldn't suddenly become the default
> >> behaviour.
> >
> > You may well be right about this. In any case, I suspect no change will
> > occur prior to the 1.0 release.
> >
> > Additional perspective: the behavior of Matlab's xlim is as I have
> > proposed, not as mpl xlim presently works. I don't believe in following
> > Matlab slavishly--sometimes we can make better choices than Matlab
> > has--but I think that this is a case where Matlab got it right and we
> > did not, the first time around. This may be because the _autoscalex and
> > _autoscaley attributes were added to the mpl Axes long after set_xlim.
> 
> As the change of default behaviour seems to be going ahead, I must
> request the addition of an new argument to xlim (autoscalex=False).
> The purpose being to allow the user to modify his code to retain the
> current behaviour when desired.
I made two commits, 8479 and 8480. Other developers are welcome to
revert them or modify them as needed. Certainly they need testing and
review, the more, the better. I had to change quite a few things, so
there is risk, as you note. I am a bit concerned about whether enough
people will be able to do enough testing of this before release to shake
out any bugs.
The new kwarg for set_xlim and set_ylim is simply "auto"; set it to None
to obtain the old behavior:
 *auto*: [ True | False | None ]
 turn *x* autoscaling on (True), off (False; default),
 or leave unchanged (None)
set_xbound retains the old behavior, by calling set_xlim with auto=None.
We have several options at present. If the changes I made are junk,
they can be discarded, or deferred until more time is available for
testing and reworking. If they are basically sound but too abrupt, then
the default could be changed to auto=None, with the possibility of
shifting it later. Additionally, an rcparam could be used, although I
don't like making ever more rcparams.
In addition to the changes to set_xlim, I tried to clarify the
documentation, and I added an "autoscale" convenience method and pyplot
function, which I think was needed.
One more change I would like to see is the simple and, I think, safe one
of supporting descriptive kwarg names alongside the present misleading
ones: e.g. for xlim, "left" would be equivalent to "xmin", etc.
I am on a ship until July 5, working with a high-latency internet
connection through an intermediate machine, and I can't afford much more
time on this while I am out here. (And working with svn from here is
pretty cumbersome.)
Eric
From: Peter B. <bu...@gm...> - 2010年06月30日 21:08:40
On Wed, Jun 30, 2010 at 3:42 AM, Eric Firing <ef...@ha...> wrote:
> On Tue, 2010年06月29日 at 16:01 -0700, butterw wrote:
>> My understanding is that the proposed change will break at least some
>> existing code, hence my proposal to go the safer route.
>
> On what is that understanding based? Any actual examples or use cases?
>
> I think the only such cases would be interactive scripts. One can
> imagine a script in which a plot is made, the user views it, perhaps
> uses a gui to change the limits, then presses a button to plot the next
> data set on top of the first, expecting that it will again autoscale,
> and so forth. Maybe this is sufficient justification for leaving the
> present version alone. That is what I am trying to find out. In
> addition, the change would require scanning the internal mpl code to see
> whether there are uses of set_xlim that would have to be changed.
The points you make are exactly what I was thinking about.
A subtle alteration of the behaviour of matplotlib caused by the
change is the worse case scenario, because it might not be
straightforward to detect/correct.
I also have a number of matplotlib interactive scripts /GUIs used in
production. Most rely on precise control of the viewing area and some
will be affected by the change.
>
>>
>> Also I'm unconvinced by the justification for the change :
>> xlim and autoscalex_on are independant attributes, why then should setting
>
> They are not independent, they are potentially in conflict--two
> mechanisms fighting for control of the axis.
>
>> xlim have the side effect of turning autoscalex off ? This is not consistent
>> with how the API works. If I really wanted autoscalex off, I would have
>> specified it.
>
> The idea of having interactive plotting commands is to make the
> interaction easy and natural. When you call set_xlim interactively, it
> is because that is what you want the limits to be. At least that point
> of view has been expressed several times on the lists. I have yet to
> hear someone say, "I rely on the present behavior". In scripts, when
> there is no interactive scenario such as I described in the previous
> paragraph, the problem with the present behavior is that it means
> set_xlim has no effect at all if followed by a plot command unless one
> has disabled autoscaling either via a kwarg in the plot command, or via
> ax.set_autoscalex_on(False). The latter is just plain ugly, to my eye.
My personal opinion is that the current behaviour is not broken.
When typing commands interactively in pylab or writing a regular
script it can be frustrating. But in interactive GUIs it is useful to
have full independent control over the two parameters.
In most cases I agree that the proposed behaviour is what the user
wants. But this is not true in all cases.
>> To sum things up:
>> Adding an argument to set_xlim to allow autoscale to be turned off in the
>> same step would be a good idea. But it shouldn't suddenly become the default
>> behaviour.
>
> You may well be right about this. In any case, I suspect no change will
> occur prior to the 1.0 release.
>
> Additional perspective: the behavior of Matlab's xlim is as I have
> proposed, not as mpl xlim presently works. I don't believe in following
> Matlab slavishly--sometimes we can make better choices than Matlab
> has--but I think that this is a case where Matlab got it right and we
> did not, the first time around. This may be because the _autoscalex and
> _autoscaley attributes were added to the mpl Axes long after set_xlim.
As the change of default behaviour seems to be going ahead, I must
request the addition of an new argument to xlim (autoscalex=False).
The purpose being to allow the user to modify his code to retain the
current behaviour when desired.
From: Eric F. <ef...@ha...> - 2010年06月30日 08:00:39
On Tue, 2010年06月29日 at 21:32 -0500, John Hunter wrote:
> On Tue, Jun 29, 2010 at 8:42 PM, Eric Firing <ef...@ha...> wrote:
> > You may well be right about this. In any case, I suspect no change will
> > occur prior to the 1.0 release.
> 
> I'm +1 on making the proposed change prior to mpl 1.0 (ie now). Call
> to set_xlim should turn off autoscaling for the x-axis on subsequent
> plot calls. There may be some breakage in arcane corner cases, but
> they will be exceptionally rare and easy to work around, and 1.0 is
> the perfect time to introduce such breakages.
I'm working on the change. I hope to have a patch some time
Wednesday. 
Eric
> 
> JDH
> 
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> Matplotlib-devel mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
From: John H. <jd...@gm...> - 2010年06月30日 02:32:40
On Tue, Jun 29, 2010 at 8:42 PM, Eric Firing <ef...@ha...> wrote:
> You may well be right about this. In any case, I suspect no change will
> occur prior to the 1.0 release.
I'm +1 on making the proposed change prior to mpl 1.0 (ie now). Call
to set_xlim should turn off autoscaling for the x-axis on subsequent
plot calls. There may be some breakage in arcane corner cases, but
they will be exceptionally rare and easy to work around, and 1.0 is
the perfect time to introduce such breakages.
JDH
From: Eric F. <ef...@ha...> - 2010年06月30日 01:52:49
On Tue, 2010年06月29日 at 16:01 -0700, butterw wrote:
> My understanding is that the proposed change will break at least some
> existing code, hence my proposal to go the safer route.
On what is that understanding based? Any actual examples or use cases?
I think the only such cases would be interactive scripts. One can
imagine a script in which a plot is made, the user views it, perhaps
uses a gui to change the limits, then presses a button to plot the next
data set on top of the first, expecting that it will again autoscale,
and so forth. Maybe this is sufficient justification for leaving the
present version alone. That is what I am trying to find out. In
addition, the change would require scanning the internal mpl code to see
whether there are uses of set_xlim that would have to be changed.
> 
> Also I'm unconvinced by the justification for the change :
> xlim and autoscalex_on are independant attributes, why then should setting
They are not independent, they are potentially in conflict--two
mechanisms fighting for control of the axis.
> xlim have the side effect of turning autoscalex off ? This is not consistent
> with how the API works. If I really wanted autoscalex off, I would have
> specified it.
The idea of having interactive plotting commands is to make the
interaction easy and natural. When you call set_xlim interactively, it
is because that is what you want the limits to be. At least that point
of view has been expressed several times on the lists. I have yet to
hear someone say, "I rely on the present behavior". In scripts, when
there is no interactive scenario such as I described in the previous
paragraph, the problem with the present behavior is that it means
set_xlim has no effect at all if followed by a plot command unless one
has disabled autoscaling either via a kwarg in the plot command, or via
ax.set_autoscalex_on(False). The latter is just plain ugly, to my eye.
> 
> To sum things up:
> Adding an argument to set_xlim to allow autoscale to be turned off in the
> same step would be a good idea. But it shouldn't suddenly become the default
> behaviour. 
You may well be right about this. In any case, I suspect no change will
occur prior to the 1.0 release.
Additional perspective: the behavior of Matlab's xlim is as I have
proposed, not as mpl xlim presently works. I don't believe in following
Matlab slavishly--sometimes we can make better choices than Matlab
has--but I think that this is a case where Matlab got it right and we
did not, the first time around. This may be because the _autoscalex and
_autoscaley attributes were added to the mpl Axes long after set_xlim. 
Eric
> 
> 
> efiring wrote:
> > 
> > On 06/28/2010 04:42 PM, butterw wrote:
> >>
> >> Rather than changing the existing xlim, it would be better to create a
> >> new
> >> command xlim2 with the desired behaviour (if needed).
> > 
> > Why, specifically in this case?
> > 
> > I'm somewhat reluctant to see that proliferation of methods and functions.
> > 
> > Is there actually a reasonable use case for the present behavior--is it 
> > advantageous under some circumstances? What sort of code is likely to 
> > depend on it?
> > 
> > Eric
> > 
> >>
> >>
> >>
> >> efiring wrote:
> >>>
> >>> The present behavior of set_xlim and set_ylim can be surprising because
> >>> making the values stick for subsequent plotting in the same axes
> >>> requires manually calling set_autoscalex_on(False) etc. It would seem
> >>> more logical if set_xlim itself included the call to turn autoscalex
> >>> off--isn't that what a user would almost always want and expect?
> >>>
> >>> Rectifying this would constitute a significant change affecting some
> >>> existing user code.
> >>>
> >>> What are people's thoughts on this? Should the change made? If so, do
> >>> it abruptly, right now, as part of version 1.0? Or phase it in with a
> >>> temporary kwarg and/or rcparam? It would be nice to avoid all that
> >>> complexity, but may be we can't, except by leaving everything as it is
> >>> now.
> >>>
> >>> Eric
> >>>
> >>
> > 
> > 
> > ------------------------------------------------------------------------------
> > This SF.net email is sponsored by Sprint
> > What will you do first with EVO, the first 4G phone?
> > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> > _______________________________________________
> > Matplotlib-devel mailing list
> > Mat...@li...
> > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
> > 
> > 
> 
From: Eric F. <ef...@ha...> - 2010年06月30日 01:02:51
On Tue, 2010年06月29日 at 15:32 -0500, Benjamin Root wrote:
> I just thought of a possible interaction issue that might have to be
> sorted out. If we want a .set_xlim() to firmly establish the data
> limits, what about a future (or previous) call to
> ax.set_aspect('equal', 'datalim')? This causes the data limits to
> change within the figure box.
True, but I don't see set_xlim as absolutely fixing the limits for all
time, just as turning off autoscaling. Regardless of the state of
autoscaling, apply_aspect will override the limits if it needs to; the
original limits, whether set manually or via autoscaling, are treated as
lower bounds.
Eric
> 
> Ben Root
> 
> On Mon, Jun 28, 2010 at 10:48 PM, Anne Archibald
> <aar...@ph...> wrote:
> On 28 June 2010 23:11, Eric Firing <ef...@ha...> wrote:
> > On 06/28/2010 04:42 PM, butterw wrote:
> >>
> >> Rather than changing the existing xlim, it would be better
> to create a new
> >> command xlim2 with the desired behaviour (if needed).
> >
> > Why, specifically in this case?
> >
> > I'm somewhat reluctant to see that proliferation of methods
> and functions.
> >
> > Is there actually a reasonable use case for the present
> behavior--is it
> > advantageous under some circumstances? What sort of code is
> likely to
> > depend on it?
> 
> 
> The present behaviour bites me every time. I keep forgetting
> that the
> xlim has to be last and plotting afterward. So I'd prefer this
> change.
> But let me be the devil's advocate.
> 
> Suppose I want to plot a number of different things, with
> autoscaling
> so that the plot fits them all. This won't change. Now suppose
> I want
> the "autoscaling" to actually include, for each plotting
> action,
> explicitly set x and y limits. This still won't change. But if
> I want
> to omit some of the x and y limits, then the behaviour might
> change.
> That is, if I have some framework designed to plot several
> things in a
> row on the same plot, and if that framework sometimes calls
> xlim/ylim
> when new things are added, but not always, then I might find
> this
> change an unpleasant surprise.
> 
> I'd be inclined to handle this with a warning - if possible,
> one that
> was triggered only when drawing something that would have
> triggered a
> rescaling but now no longer does. If that's infeasible, my
> inclination
> would be to just change it. But I won't be the one who's stuck
> dealing
> with a stream of puzzled users...
> 
> Anne
> 
> 
> > Eric
> >
> >>
> >>
> >>
> >> efiring wrote:
> >>>
> >>> The present behavior of set_xlim and set_ylim can be
> surprising because
> >>> making the values stick for subsequent plotting in the
> same axes
> >>> requires manually calling set_autoscalex_on(False) etc.
> It would seem
> >>> more logical if set_xlim itself included the call to turn
> autoscalex
> >>> off--isn't that what a user would almost always want and
> expect?
> >>>
> >>> Rectifying this would constitute a significant change
> affecting some
> >>> existing user code.
> >>>
> >>> What are people's thoughts on this? Should the change
> made? If so, do
> >>> it abruptly, right now, as part of version 1.0? Or phase
> it in with a
> >>> temporary kwarg and/or rcparam? It would be nice to avoid
> all that
> >>> complexity, but may be we can't, except by leaving
> everything as it is
> >>> now.
> >>>
> >>> Eric
> >>>
> >>
> >
> >
> >
> ------------------------------------------------------------------------------
> > This SF.net email is sponsored by Sprint
> > What will you do first with EVO, the first 4G phone?
> > Visit sprint.com/first --
> http://p.sf.net/sfu/sprint-com-first
> > _______________________________________________
> > Matplotlib-devel mailing list
> > Mat...@li...
> >
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
> >
> 
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> Matplotlib-devel mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
> 
> 
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________ Matplotlib-devel mailing list Mat...@li... https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Showing 6 results of 6

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