numpy 在Python Matplotlib中绘制2D-FFT图上方的极坐标网格

f45qwnt8  于 2023-08-05  发布在  Python
关注(0)|答案(1)|浏览(86)

我已经使用numpy np.fft.fft2创建了一个2D FFT图,现在我想在这个2D FFT中绘制一个极坐标网格,如图Plot and Plot with polar grid
我试过这样的东西:

import numpy as np
from matplotlib import pyplot as plt
ax = plt.subplot(1, 1, 1, projection='polar')
ax.set_theta_direction(-1)
ax.set_theta_offset(np.pi / 2.0)
ax.imshow(brightvv, extent=[makexax[0], makexax[-1], makeyax[0], makeyax[-1]])
plt.show()

字符串
但我的输出是这样的:Output
有没有简单的方法在我的2D-fft结果中绘制极坐标网格?
随机数据

import numpy as np
from matplotlib import pyplot as plt
a = np.mgrid[:10, :10][0]
data=(np.abs(np.fft.fft2(a)))
imgb=plt.imshow(np.abs(np.fft.fft2(data)))
plt.show()

kzmpq1sx

kzmpq1sx1#

this答案之后,您可以在笛卡尔图的顶部添加极轴。

import numpy as np
from matplotlib import pyplot as plt

a = np.mgrid[:10, :10][0]
data = (np.abs(np.fft.fft2(a)))

fig, ax = plt.subplots()
imgb = ax.imshow(np.abs(np.fft.fft2(data)))
ax_polar = fig.add_axes(ax.get_position(), polar=True, frameon=False)
ax_polar.set_yticklabels([])
plt.show()

字符串


的数据

相关问题