Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Update the "Rotating a 3D plot" gallery example to show all 3 rotation axes#21737

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged

Conversation

scottshambaugh
Copy link
Contributor

@scottshambaughscottshambaugh commentedNov 24, 2021
edited
Loading

PR Summary

This PR builds off of#21426 and updates the rotate-axes3d-sgskip.py example to show rotation about each individual view axis, with annotations. Here is the resulting animation:

3d_rotations.mp4

PR Checklist

Tests and Styling

  • [N/A] Has pytest style unit tests (andpytest passes).
  • IsFlake 8 compliant (installflake8-docstrings and runflake8 --docstring-convention=all).

Documentation

  • [N/A] New features are documented, with examples if plot related.
  • [N/A] New features have an entry indoc/users/next_whats_new/ (follow instructions in README.rst there).
  • [N/A] API changes documented indoc/api/next_api_changes/ (follow instructions in README.rst there).
  • Documentation is sphinx and numpydoc compliant (the docs shouldbuild without error).

@scottshambaugh
Copy link
ContributorAuthor

scottshambaugh commentedNov 24, 2021
edited
Loading

Note that the code to generate that .mp4 is slightly different, but produces the same result:

frommpl_toolkits.mplot3dimportaxes3dimportmatplotlib.pyplotaspltimportmatplotlib.animationasanimationfig=plt.figure()ax=fig.add_subplot(projection='3d')# Grab some example data.X,Y,Z=axes3d.get_test_data(0.05)# Plot a basic wireframe.ax.plot_wireframe(X,Y,Z,rstride=10,cstride=10)# Set the axis labelsax.set_xlabel('x')ax.set_ylabel('y')ax.set_zlabel('z')# Define an update function to pass to FuncAnimationdefupdate_view(frame):# Normalize angle to the range [-180, 180] for displayangle= (frame+180)%360-180# Cycle through rotating the elevation, azimuth, roll, then allelev=azim=roll=0ifframe<=360:elev=angleelifframe<=360*2:azim=angleelifframe<=360*3:roll=angleelse:elev=azim=roll=angle# Update the axis view and titleax.view_init(elev,azim,roll)plt.title('Elevation: %d°, Azimuth: %d°, Roll: %d°'% (elev,azim,roll))# Plot the animationanim=animation.FuncAnimation(fig,update_view,frames=360*4+1,interval=15)anim.save("3d_rotations.mp4")

@QuLogicQuLogic added status: needs workflow approvalFor PRs from new contributors, from which GitHub blocks workflows by default. topic: mplot3d labelsNov 24, 2021
@scottshambaughscottshambaugh marked this pull request as ready for reviewDecember 3, 2021 16:53
@QuLogic
Copy link
Member

Please rebase to go over the committed version of#21426.

Rename gallery example for clarity - this animation does not do any rotating
@timhoffmtimhoffm added Documentation and removed status: needs rebase status: needs workflow approvalFor PRs from new contributors, from which GitHub blocks workflows by default. labelsDec 4, 2021
@timhoffmtimhoffm added this to thev3.6.0 milestoneDec 4, 2021
@timhoffmtimhoffm merged commitbe94172 intomatplotlib:mainDec 4, 2021
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@timhoffmtimhoffmtimhoffm approved these changes

Assignees
No one assigned
Projects
None yet
Milestone
v3.6.0
Development

Successfully merging this pull request may close these issues.

3 participants
@scottshambaugh@QuLogic@timhoffm

[8]ページ先頭

©2009-2025 Movatter.jp