You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: About drawing 3D picture content title display incomplete problem #28515
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
frommpl_toolkits.mplot3dimportaxes3dimportmatplotlib.pyplotaspltfrommatplotlibimportcmplt.rcParams['savefig.bbox'] ='tight'ax=plt.figure().add_subplot(projection='3d')
X, Y, Z=axes3d.get_test_data(0.05)
# Plot the 3D surfaceax.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 graphax.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()
On Sat, Jul 6, 2024 at 6:44 AM MoonCapture ***@***.***> wrote:
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 axes3dimport matplotlib.pyplot as pltfrom matplotlib import cmplt.rcParams['savefig.bbox'] = 'tight'ax = plt.figure().add_subplot(projection='3d')X, Y, Z = axes3d.get_test_data(0.05)# Plot the 3D surfaceax.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 graphax.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.png (view on web)
<https://github.com/matplotlib/matplotlib/assets/92666660/1509e3c0-421f-4e41-8c27-900e254d2a3c>
compare
Matplotlib Version==3.4.3
image.png (view on web)
<https://github.com/matplotlib/matplotlib/assets/92666660/b7a84fdd-3cbc-4bee-a618-3b18bfd123d2>
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
—
Reply to this email directly, view it on GitHub
<#28515>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACHF6HWANYKANWU2D4PXDDZK7DADAVCNFSM6AAAAABKOKLXV2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGM4TGNJRGM3TKMA>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
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
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
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.
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).
@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.
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).
@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.
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.
Activity
WeatherGod commentedon Jul 6, 2024
MoonCapture commentedon Jul 6, 2024
I was very confused. Can't find the answer. Is there anyone here who can help me? :(
scottshambaugh commentedon Jul 7, 2024
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
MoonCapture commentedon Jul 7, 2024
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.
scottshambaugh commentedon Jul 7, 2024
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).

@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.MoonCapture commentedon Jul 7, 2024
It doesn't work
WeatherGod commentedon Jul 8, 2024
MoonCapture commentedon Jul 8, 2024
Yes. When I use vscode, it doesn't display either.

QuLogic commentedon Jul 8, 2024
This is a duplicate of #28117.
scottshambaugh commentedon Jul 9, 2024
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
.pyfile, then I can confirm that commenting out theplt.rcParams['savefig.bbox'] = 'tight'line resolves the cropping issue on my machine.MoonCapture commentedon Jul 9, 2024
Thank you very much! That really solved my problem. It's possible that some changes in version 3.6.0 prompted this change.