Skip to content

Cannot set axis ranges, axes for animate?  #126

Closed
@johann-petrak

Description

@johann-petrak

I tried the .animate method and noticed that the dims=[from,to] parameter does not have any influence on the axis ranges.
I also tried to pass a pre-configured axis (with the axis ranges set manually via the matplotlib api) to the method using ax=myaxes, but this complains about ax getting passed twice in some nested function.

I trying this using the "%matplotlib widget" pragma, since I am using jupyter lab / notebook 7 or newer.

BTW I found that passing an axis to the .plot() method is the only way to avoid getting two figures in stead of one in that context. When I run

T1 = spatialmath.SE3.Trans(1,2,3)
fig=plt.figure() 
T1.plot()
plt.show()

I get two figures.

Running

fig=plt.figure() 
T1 = spatialmath.SE3.Trans(1,2,3)
ax = fig.add_subplot(111, projection='3d')
T1.plot(ax=ax)
plt.show()

shows correctly just one figure.

This allows me to set the axis ranges in a plot:

fig=plt.figure() 
T1 = spatialmath.SE3.Trans(1,2,3)
T1.plot(dims=[-3,5])
plt.show()

But the axis ranges are not set with animate (instead the default range 0,1 is shown):

T1 = spatialmath.SE3.Trans(1,2,3)
fig=plt.figure()
T1.animate(dims=[-3,3])
plt.show()

and it is also not possible to pass ax=ax to animate.

Package versions:
spatialmath 1.1.10
matplotlib 3.9.0
IPython 8.26.0
notebook 7.2.1
jupyter 1.0.0
jupyterlab 4.2.3
ipywidgets 8.1.3

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions