Patchs for changing ticks messing up mplot3d and tick-get/setters

I noticed some odd behavior when trying to set ticks on 3d plots made
using mplot3d.Axes3D ... specifically, if you tries to access any of
the 3D axes and change the ticks, it would result in a plot all
squashed to one side (indicating some sort of projection problem).
After a bit of digging, I discovered the source of the problem:
axis.XAxis, the base of the 3D Axis class, calls set_view_interval,
which is not overridden in mplot3d.axis3d.Axis, causing the wrong
interval to get the range assigned when ticks were added. So the
solution was to implement set_view_interval on the 3D Axis. That fix
is attached as a diff against the current svn in mpl3d-ticks-fix.diff
. Now setting ticks seems to work just fine, so I've included another
diff that additionally implements set_?ticks3d and get_?ticks3d
methods for Axes3D - that's attached as
mpl3d-ticks-fix-add-methods.diff .

mpl3d-ticks-fix.diff (902 Bytes)

mpl3d-ticks-fix-add-methods.diff (4.56 KB)

···

--
Erik Tollerud

Just a quick ping about this - did it get applied, or was there
something wrong with it? (Or am I just too impatient?)

···

On Mon, Jul 19, 2010 at 4:26 AM, Erik Tollerud <erik.tollerud@...149...> wrote:

I noticed some odd behavior when trying to set ticks on 3d plots made
using mplot3d.Axes3D ... specifically, if you tries to access any of
the 3D axes and change the ticks, it would result in a plot all
squashed to one side (indicating some sort of projection problem).
After a bit of digging, I discovered the source of the problem:
axis.XAxis, the base of the 3D Axis class, calls set_view_interval,
which is not overridden in mplot3d.axis3d.Axis, causing the wrong
interval to get the range assigned when ticks were added. So the
solution was to implement set_view_interval on the 3D Axis. That fix
is attached as a diff against the current svn in mpl3d-ticks-fix.diff
. Now setting ticks seems to work just fine, so I've included another
diff that additionally implements set_?ticks3d and get_?ticks3d
methods for Axes3D - that's attached as
mpl3d-ticks-fix-add-methods.diff .

--
Erik Tollerud

--
Erik Tollerud

Erik,

Do you have a short, simple script that demonstrates the problem so that we can test the patch?

Ben Root

···

On Mon, Jul 26, 2010 at 7:55 PM, Erik Tollerud <erik.tollerud@…149…> wrote:

Just a quick ping about this - did it get applied, or was there

something wrong with it? (Or am I just too impatient?)

On Mon, Jul 19, 2010 at 4:26 AM, Erik Tollerud <erik.tollerud@…149…> wrote:

I noticed some odd behavior when trying to set ticks on 3d plots made

using mplot3d.Axes3D … specifically, if you tries to access any of

the 3D axes and change the ticks, it would result in a plot all

squashed to one side (indicating some sort of projection problem).

After a bit of digging, I discovered the source of the problem:

axis.XAxis, the base of the 3D Axis class, calls set_view_interval,

which is not overridden in mplot3d.axis3d.Axis, causing the wrong

interval to get the range assigned when ticks were added. So the

solution was to implement set_view_interval on the 3D Axis. That fix

is attached as a diff against the current svn in mpl3d-ticks-fix.diff

. Now setting ticks seems to work just fine, so I’ve included another

diff that additionally implements set_?ticks3d and get_?ticks3d

methods for Axes3D - that’s attached as

mpl3d-ticks-fix-add-methods.diff .

Erik Tollerud

Hi Erik,

Sorry for the delay. From just looking at the diff I would say it's a
great addition. I'll test tomorrow and push it if it works (which I
assume it does).

Cheers,
Reinier

···

On Tue, Jul 27, 2010 at 2:55 AM, Erik Tollerud <erik.tollerud@...149...> wrote:

Just a quick ping about this - did it get applied, or was there
something wrong with it? (Or am I just too impatient?)

On Mon, Jul 19, 2010 at 4:26 AM, Erik Tollerud <erik.tollerud@...149...> wrote:

I noticed some odd behavior when trying to set ticks on 3d plots made
using mplot3d.Axes3D ... specifically, if you tries to access any of
the 3D axes and change the ticks, it would result in a plot all
squashed to one side (indicating some sort of projection problem).
After a bit of digging, I discovered the source of the problem:
axis.XAxis, the base of the 3D Axis class, calls set_view_interval,
which is not overridden in mplot3d.axis3d.Axis, causing the wrong
interval to get the range assigned when ticks were added. So the
solution was to implement set_view_interval on the 3D Axis. That fix
is attached as a diff against the current svn in mpl3d-ticks-fix.diff
. Now setting ticks seems to work just fine, so I've included another
diff that additionally implements set_?ticks3d and get_?ticks3d
methods for Axes3D - that's attached as
mpl3d-ticks-fix-add-methods.diff .

--
Erik Tollerud

--
Erik Tollerud

------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://ad.doubleclick.net/clk;226879339;13503038;l?
http://clk.atdmt.com/CRS/go/247765532/direct/01/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options

--
Reinier Heeres
Tel: +31 6 10852639

Great - if anything's unclear, I can fairly easily make a test case as
Benjamin suggested, so just let me know if that's necessary - thank!

···

On Tue, Jul 27, 2010 at 12:27 AM, Reinier Heeres <reinier@...707...> wrote:

Hi Erik,

Sorry for the delay. From just looking at the diff I would say it's a
great addition. I'll test tomorrow and push it if it works (which I
assume it does).

Cheers,
Reinier

On Tue, Jul 27, 2010 at 2:55 AM, Erik Tollerud <erik.tollerud@...149...> wrote:

Just a quick ping about this - did it get applied, or was there
something wrong with it? (Or am I just too impatient?)

On Mon, Jul 19, 2010 at 4:26 AM, Erik Tollerud <erik.tollerud@...149...> wrote:

I noticed some odd behavior when trying to set ticks on 3d plots made
using mplot3d.Axes3D ... specifically, if you tries to access any of
the 3D axes and change the ticks, it would result in a plot all
squashed to one side (indicating some sort of projection problem).
After a bit of digging, I discovered the source of the problem:
axis.XAxis, the base of the 3D Axis class, calls set_view_interval,
which is not overridden in mplot3d.axis3d.Axis, causing the wrong
interval to get the range assigned when ticks were added. So the
solution was to implement set_view_interval on the 3D Axis. That fix
is attached as a diff against the current svn in mpl3d-ticks-fix.diff
. Now setting ticks seems to work just fine, so I've included another
diff that additionally implements set_?ticks3d and get_?ticks3d
methods for Axes3D - that's attached as
mpl3d-ticks-fix-add-methods.diff .

--
Erik Tollerud

--
Erik Tollerud

------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://ad.doubleclick.net/clk;226879339;13503038;l?
http://clk.atdmt.com/CRS/go/247765532/direct/01/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options

--
Reinier Heeres
Tel: +31 6 10852639

--
Erik Tollerud

Sorry for the re-ping if it was taken care of in some way I didn't
undertand, but this doesn't seem to have been changed on the trunk
svn... should it have been, or is there some other branch that this
stuff is being worked on?

···

On Tue, Jul 27, 2010 at 10:14 AM, Erik Tollerud <erik.tollerud@...149...> wrote:

Great - if anything's unclear, I can fairly easily make a test case as
Benjamin suggested, so just let me know if that's necessary - thank!

On Tue, Jul 27, 2010 at 12:27 AM, Reinier Heeres <reinier@...707...> wrote:

Hi Erik,

Sorry for the delay. From just looking at the diff I would say it's a
great addition. I'll test tomorrow and push it if it works (which I
assume it does).

Cheers,
Reinier

On Tue, Jul 27, 2010 at 2:55 AM, Erik Tollerud <erik.tollerud@...149...> wrote:

Just a quick ping about this - did it get applied, or was there
something wrong with it? (Or am I just too impatient?)

On Mon, Jul 19, 2010 at 4:26 AM, Erik Tollerud <erik.tollerud@...149...> wrote:

I noticed some odd behavior when trying to set ticks on 3d plots made
using mplot3d.Axes3D ... specifically, if you tries to access any of
the 3D axes and change the ticks, it would result in a plot all
squashed to one side (indicating some sort of projection problem).
After a bit of digging, I discovered the source of the problem:
axis.XAxis, the base of the 3D Axis class, calls set_view_interval,
which is not overridden in mplot3d.axis3d.Axis, causing the wrong
interval to get the range assigned when ticks were added. So the
solution was to implement set_view_interval on the 3D Axis. That fix
is attached as a diff against the current svn in mpl3d-ticks-fix.diff
. Now setting ticks seems to work just fine, so I've included another
diff that additionally implements set_?ticks3d and get_?ticks3d
methods for Axes3D - that's attached as
mpl3d-ticks-fix-add-methods.diff .

--
Erik Tollerud

--
Erik Tollerud

------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://ad.doubleclick.net/clk;226879339;13503038;l?
http://clk.atdmt.com/CRS/go/247765532/direct/01/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options

--
Reinier Heeres
Tel: +31 6 10852639

--
Erik Tollerud

--
Erik Tollerud

I don’t believe so, and I think this was shortly before Reinier went on vacation. Erik, my question still applies. If you can make a nice short example that demonstrates the problem, we can then include it as a test to make sure it will always work properly.

If the patch passes the test, I can apply it myself now.

Ben Root

···

On Tue, Aug 24, 2010 at 1:48 PM, Erik Tollerud <erik.tollerud@…149…> wrote:

Sorry for the re-ping if it was taken care of in some way I didn’t

undertand, but this doesn’t seem to have been changed on the trunk

svn… should it have been, or is there some other branch that this

stuff is being worked on?

On Tue, Jul 27, 2010 at 10:14 AM, Erik Tollerud <erik.tollerud@…149…> wrote:

Great - if anything’s unclear, I can fairly easily make a test case as

Benjamin suggested, so just let me know if that’s necessary - thank!

On Tue, Jul 27, 2010 at 12:27 AM, Reinier Heeres <reinier@…707…> wrote:

Hi Erik,

Sorry for the delay. From just looking at the diff I would say it’s a

great addition. I’ll test tomorrow and push it if it works (which I

assume it does).

Cheers,

Reinier

On Tue, Jul 27, 2010 at 2:55 AM, Erik Tollerud <erik.tollerud@…149…> wrote:

Just a quick ping about this - did it get applied, or was there

something wrong with it? (Or am I just too impatient?)

On Mon, Jul 19, 2010 at 4:26 AM, Erik Tollerud <erik.tollerud@…149…> wrote:

I noticed some odd behavior when trying to set ticks on 3d plots made

using mplot3d.Axes3D … specifically, if you tries to access any of

the 3D axes and change the ticks, it would result in a plot all

squashed to one side (indicating some sort of projection problem).

After a bit of digging, I discovered the source of the problem:

axis.XAxis, the base of the 3D Axis class, calls set_view_interval,

which is not overridden in mplot3d.axis3d.Axis, causing the wrong

interval to get the range assigned when ticks were added. So the

solution was to implement set_view_interval on the 3D Axis. That fix

is attached as a diff against the current svn in mpl3d-ticks-fix.diff

. Now setting ticks seems to work just fine, so I’ve included another

diff that additionally implements set_?ticks3d and get_?ticks3d

methods for Axes3D - that’s attached as

mpl3d-ticks-fix-add-methods.diff .

Erik Tollerud

Erik Tollerud


The Palm PDK Hot Apps Program offers developers who use the

Plug-In Development Kit to bring their C/C++ apps to Palm for a share

of $1 Million in cash or HP Products. Visit us here for more details:

http://ad.doubleclick.net/clk;226879339;13503038;l?

http://clk.atdmt.com/CRS/go/247765532/direct/01/


Matplotlib-devel mailing list

Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reinier Heeres

Tel: +31 6 10852639

Erik Tollerud

Erik Tollerud

Hi all,

Sorry for not finishing this nicely. I was looking at this last
weekend, and concluded that this approach was not the way to fix the
problem. The real problem was that we still had the old X/Y axes
around and had to use new functions for the 3d axes (e.g.
set_xticks*3d*, set_xlim*3d* etc). I just extracted these fixes from
my working directory and committed them to svn (r8656). There are a
few more things to polish; for example it would be good to check
whether we have to change the view limits if we change the ticks.

Next on my list is cleaning up some of the alpha handling in mplot3d.

Cheers,
Reinier

···

On Tue, Aug 24, 2010 at 9:04 PM, Benjamin Root <ben.root@...553...> wrote:

On Tue, Aug 24, 2010 at 1:48 PM, Erik Tollerud <erik.tollerud@...149...> > wrote:

Sorry for the re-ping if it was taken care of in some way I didn't
undertand, but this doesn't seem to have been changed on the trunk
svn... should it have been, or is there some other branch that this
stuff is being worked on?

On Tue, Jul 27, 2010 at 10:14 AM, Erik Tollerud <erik.tollerud@...149...> >> wrote:
> Great - if anything's unclear, I can fairly easily make a test case as
> Benjamin suggested, so just let me know if that's necessary - thank!
>
> On Tue, Jul 27, 2010 at 12:27 AM, Reinier Heeres <reinier@...707...> >> > wrote:
>> Hi Erik,
>>
>> Sorry for the delay. From just looking at the diff I would say it's a
>> great addition. I'll test tomorrow and push it if it works (which I
>> assume it does).
>>
>> Cheers,
>> Reinier
>>
>> On Tue, Jul 27, 2010 at 2:55 AM, Erik Tollerud >> >> <erik.tollerud@...149...> wrote:
>>> Just a quick ping about this - did it get applied, or was there
>>> something wrong with it? (Or am I just too impatient?)
>>>
>>> On Mon, Jul 19, 2010 at 4:26 AM, Erik Tollerud >> >>> <erik.tollerud@...149...> wrote:
>>>> I noticed some odd behavior when trying to set ticks on 3d plots made
>>>> using mplot3d.Axes3D ... specifically, if you tries to access any of
>>>> the 3D axes and change the ticks, it would result in a plot all
>>>> squashed to one side (indicating some sort of projection problem).
>>>> After a bit of digging, I discovered the source of the problem:
>>>> axis.XAxis, the base of the 3D Axis class, calls set_view_interval,
>>>> which is not overridden in mplot3d.axis3d.Axis, causing the wrong
>>>> interval to get the range assigned when ticks were added. So the
>>>> solution was to implement set_view_interval on the 3D Axis. That fix
>>>> is attached as a diff against the current svn in mpl3d-ticks-fix.diff
>>>> . Now setting ticks seems to work just fine, so I've included
>>>> another
>>>> diff that additionally implements set_?ticks3d and get_?ticks3d
>>>> methods for Axes3D - that's attached as
>>>> mpl3d-ticks-fix-add-methods.diff .
>>>>
>>>> --
>>>> Erik Tollerud
>>>>
>>>
>>>
>>>
>>> --
>>> Erik Tollerud
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> The Palm PDK Hot Apps Program offers developers who use the
>>> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
>>> of $1 Million in cash or HP Products. Visit us here for more details:
>>> http://ad.doubleclick.net/clk;226879339;13503038;l?
>>> http://clk.atdmt.com/CRS/go/247765532/direct/01/
>>> _______________________________________________
>>> Matplotlib-devel mailing list
>>> Matplotlib-devel@lists.sourceforge.net
>>> matplotlib-devel List Signup and Options
>>>
>>
>>
>>
>> --
>> Reinier Heeres
>> Tel: +31 6 10852639
>>
>
>
>
> --
> Erik Tollerud
>

--
Erik Tollerud

I don't believe so, and I think this was shortly before Reinier went on
vacation. Erik, my question still applies. If you can make a nice short
example that demonstrates the problem, we can then include it as a test to
make sure it will always work properly.

If the patch passes the test, I can apply it myself now.

Ben Root

--
Reinier Heeres
Tel: +31 6 10852639

Oh, excellent, then I don't have to do the test case, because I
believe this solves my original problem :slight_smile: Thanks!

···

On Wed, Aug 25, 2010 at 12:15 AM, Reinier Heeres <reinier@...707...> wrote:

Hi all,

Sorry for not finishing this nicely. I was looking at this last
weekend, and concluded that this approach was not the way to fix the
problem. The real problem was that we still had the old X/Y axes
around and had to use new functions for the 3d axes (e.g.
set_xticks*3d*, set_xlim*3d* etc). I just extracted these fixes from
my working directory and committed them to svn (r8656). There are a
few more things to polish; for example it would be good to check
whether we have to change the view limits if we change the ticks.

Next on my list is cleaning up some of the alpha handling in mplot3d.

Cheers,
Reinier

On Tue, Aug 24, 2010 at 9:04 PM, Benjamin Root <ben.root@...553...> wrote:

On Tue, Aug 24, 2010 at 1:48 PM, Erik Tollerud <erik.tollerud@...149...> >> wrote:

Sorry for the re-ping if it was taken care of in some way I didn't
undertand, but this doesn't seem to have been changed on the trunk
svn... should it have been, or is there some other branch that this
stuff is being worked on?

On Tue, Jul 27, 2010 at 10:14 AM, Erik Tollerud <erik.tollerud@...714....> >>> wrote:
> Great - if anything's unclear, I can fairly easily make a test case as
> Benjamin suggested, so just let me know if that's necessary - thank!
>
> On Tue, Jul 27, 2010 at 12:27 AM, Reinier Heeres <reinier@...707...> >>> > wrote:
>> Hi Erik,
>>
>> Sorry for the delay. From just looking at the diff I would say it's a
>> great addition. I'll test tomorrow and push it if it works (which I
>> assume it does).
>>
>> Cheers,
>> Reinier
>>
>> On Tue, Jul 27, 2010 at 2:55 AM, Erik Tollerud >>> >> <erik.tollerud@...149...> wrote:
>>> Just a quick ping about this - did it get applied, or was there
>>> something wrong with it? (Or am I just too impatient?)
>>>
>>> On Mon, Jul 19, 2010 at 4:26 AM, Erik Tollerud >>> >>> <erik.tollerud@...149...> wrote:
>>>> I noticed some odd behavior when trying to set ticks on 3d plots made
>>>> using mplot3d.Axes3D ... specifically, if you tries to access any of
>>>> the 3D axes and change the ticks, it would result in a plot all
>>>> squashed to one side (indicating some sort of projection problem).
>>>> After a bit of digging, I discovered the source of the problem:
>>>> axis.XAxis, the base of the 3D Axis class, calls set_view_interval,
>>>> which is not overridden in mplot3d.axis3d.Axis, causing the wrong
>>>> interval to get the range assigned when ticks were added. So the
>>>> solution was to implement set_view_interval on the 3D Axis. That fix
>>>> is attached as a diff against the current svn in mpl3d-ticks-fix.diff
>>>> . Now setting ticks seems to work just fine, so I've included
>>>> another
>>>> diff that additionally implements set_?ticks3d and get_?ticks3d
>>>> methods for Axes3D - that's attached as
>>>> mpl3d-ticks-fix-add-methods.diff .
>>>>
>>>> --
>>>> Erik Tollerud
>>>>
>>>
>>>
>>>
>>> --
>>> Erik Tollerud
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> The Palm PDK Hot Apps Program offers developers who use the
>>> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
>>> of $1 Million in cash or HP Products. Visit us here for more details:
>>> http://ad.doubleclick.net/clk;226879339;13503038;l?
>>> http://clk.atdmt.com/CRS/go/247765532/direct/01/
>>> _______________________________________________
>>> Matplotlib-devel mailing list
>>> Matplotlib-devel@lists.sourceforge.net
>>> matplotlib-devel List Signup and Options
>>>
>>
>>
>>
>> --
>> Reinier Heeres
>> Tel: +31 6 10852639
>>
>
>
>
> --
> Erik Tollerud
>

--
Erik Tollerud

I don't believe so, and I think this was shortly before Reinier went on
vacation. Erik, my question still applies. If you can make a nice short
example that demonstrates the problem, we can then include it as a test to
make sure it will always work properly.

If the patch passes the test, I can apply it myself now.

Ben Root

--
Reinier Heeres
Tel: +31 6 10852639

--
Erik Tollerud