matplotlib imshow编辑x轴(matplotlib imshow editing x-

2019-09-22 11:04发布

我想显示图像的幅度谱。 我能够做到这一点使用下面的代码:

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()

但轴没有标记的幅度谱应该被标记的方式。 在1D-功能的情况下,重新标记是比较容易:

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情节的情况下,X轴相同的标签。 这可能吗?

Answer 1:

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.


文章来源: matplotlib imshow editing x-axis