Matplotlib在.set_aspect = 'equal'时去掉白边(padding)

6 投票
2 回答
2966 浏览
提问于 2025-04-16 12:59

在matplotlib中,设置set_aspect('equal')会覆盖掉边距(也就是白色边框)的设置。这样一来,输出的图形就会变成一个填满空白的正方形盒子。请问我该如何改变这种行为,让set_aspect的设置只作用于contourf图,而不是整个输出呢?

import matplotlib.pyplot as plt

plt.axes().set_aspect('equal')

或者

CS = plt.contourf(xi,yi,zi,30,cmap=plt.cm.jet,antialiased=True,alpha=0.4,norm=c_scale,aspect='equal')

2 个回答

1

当你保存文件的时候,应该使用下面这行代码:

plt.savefig("out.png", bbox_inches="tight")

这段代码的意思是把你的图像保存为一个叫“out.png”的文件,并且确保图像的边缘不会留太多空白。

1

axes.set_aspect 函数用来设置绘图区域的比例。如果你想让输出的图像或图形有不同的高度和宽度,可以看看 matplotlib.figure.Figure 的参数或者 matplotlib.figure.savefig

撰写回答