Skip to content

[Bug]: About drawing 3D picture content title display incomplete problem #28515

Closed as duplicate

Description

@MoonCapture

Bug summary

I had this problem while drawing 3D drawings. When I used the older version, I could fully display the Z-axis headings. When I use the latest version, the Z-axis title is not displayed. I tried everything. I couldn't work it out. Help, thank you.

Code for reproduction

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
from matplotlib import cm
plt.rcParams['savefig.bbox'] = 'tight'
ax = plt.figure().add_subplot(projection='3d')
X, Y, Z = axes3d.get_test_data(0.05)
# Plot the 3D surface
ax.plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=0.3)
# Plot projections of the contours for each dimension.  By choosing offsets
# that match the appropriate axes limits, the projected contours will sit on
# the 'walls' of the graph
ax.contourf(X, Y, Z, zdir='z', offset=-100, cmap=cm.coolwarm)
ax.contourf(X, Y, Z, zdir='x', offset=-40, cmap=cm.coolwarm)
ax.contourf(X, Y, Z, zdir='y', offset=40, cmap=cm.coolwarm)
ax.set(xlim=(-40, 40), ylim=(-40, 40), zlim=(-100, 100),
       xlabel='X', ylabel='Y', zlabel='Z')
# plt.gcf().subplots_adjust(left=0,top=1,bottom=0, right=1)
plt.show()

Actual outcome

Matplotlib Version==3.9.1
image

compare

Matplotlib Version==3.4.3
image

Expected outcome

The latest version of the code solution

Additional information

No response

Operating system

Windows

Matplotlib Version

3.9.1

Matplotlib Backend

No response

Python version

No response

Jupyter version

No response

Installation

pip

Activity

  1. WeatherGod commented on Jul 6, 2024

    @WeatherGod
    Member
  2. MoonCapture commented on Jul 6, 2024

    @MoonCapture
    Author

    I was very confused. Can't find the answer. Is there anyone here who can help me? :(

  3. scottshambaugh commented on Jul 7, 2024

    @scottshambaugh
    Contributor

    I believe this is probably just the Z axis label getting cropped out? Probably a downstream effect of the change in #25272. But more widely an instance of this issue where there's a disconnect between different bounding boxes: #19519 #23450

  4. MoonCapture commented on Jul 7, 2024

    @MoonCapture
    Author

    I believe this is probably just the Z axis label getting cropped out? Probably a downstream effect of the change in #25272. But more widely an instance of this issue where there's a disconnect between different bounding boxes: #19519 #23450

    image
    When I ran #25272, I also had an issue with the Z-axis not being displayed. I found that the issue was caused by a change to version 3.6.0, but I don't know how to fix it.

  5. scottshambaugh commented on Jul 7, 2024

    @scottshambaugh
    Contributor

    I can confirm this is an issue with the bounding box being too small and cropping out the Z axis label. If I rotate the plot a bit then I can see it again (chosen here to partially clip the label).
    figure1

    @MoonCapture if you comment out the line plt.rcParams['savefig.bbox'] = 'tight' then does it work for you? 3D axes don't play super well with the figure bounding boxes right now.

  6. MoonCapture commented on Jul 7, 2024

    @MoonCapture
    Author

    I can confirm this is an issue with the bounding box being too small and cropping out the Z axis label. If I rotate the plot a bit then I can see it again (chosen here to partially clip the label). figure1

    @MoonCapture if you comment out the line plt.rcParams['savefig.bbox'] = 'tight' then does it work for you? 3D axes don't play super well with the figure bounding boxes right now.

    It doesn't work

  7. WeatherGod commented on Jul 8, 2024

    @WeatherGod
    Member
  8. MoonCapture commented on Jul 8, 2024

    @MoonCapture
    Author

    Yes. When I use vscode, it doesn't display either.
    image

  9. QuLogic commented on Jul 8, 2024

    @QuLogic
    Member

    This is a duplicate of #28117.

  10. scottshambaugh commented on Jul 9, 2024

    @scottshambaugh
    Contributor

    Hey @MoonCapture, VSCode is using the same jupyter backend that is overriding that setting, so I think it's expected that this issue is manifesting there as well.

    If you copy-paste your code into a standalone .py file, then I can confirm that commenting out the plt.rcParams['savefig.bbox'] = 'tight' line resolves the cropping issue on my machine.

  11. MoonCapture commented on Jul 9, 2024

    @MoonCapture
    Author

    Thank you very much! That really solved my problem. It's possible that some changes in version 3.6.0 prompted this change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions