我想显示图像的幅度谱。我可以使用以下代码来做到这一点:
import numpy as np
import matplotlib.pyplot as plt
import pylab
pylab.gray()
pic = pylab.imread("C:/pic.png")[::-1,:]
amp_pic = pylab.subplot(1,4,1)
amp_pic.xaxis.set_ticks_position('top')
pylab.imshow(np.abs(np.fft.fftshift(np.fft.fft2(pic))),\
interpolation='nearest')
pylab.show()
但轴的标记方式并未采用振幅谱的标记方式。对于一维函数,重新标记要容易一些:
import math
import numpy as np
import matplotlib.pyplot as plt
array = np.arange(149)
frequency_scale = np.fft.fftfreq(array.shape[0])
function = np.cos(2*math.pi*array/10)
fft = np.fft.fft(function)
amp_fft = np.abs(fft)
plt.subplot(1,4,1)
plt.plot(fkt,'r')
plt.show()
在 imshow 图的情况下,我希望我的 xaxis 具有相同的标签。这可能吗?
figure()
im = imshow(rand(500,500))
im.set_extent([0,1,0,1])
set_extent
设置 x 轴和 y 轴的最大值和最小值。文档如下:
| set_extent(self, extent)
| extent is data axes (left, right, bottom, top) for making image plots
|
| This updates ax.dataLim, and, if autoscaling, sets viewLim
| to tightly fit the image, regardless of dataLim. Autoscaling
| state is not changed, so following this with ax.autoscale_view
| will redo the autoscaling in accord with dataLim.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)