2011-07-19 90 views
1

如何更改一個座標軸上的數據?更改座標圖上的座標軸值

我對一些數據做了一些頻譜分析,我的x軸是某個矩陣的索引。我想改變它,以便X軸成爲數據本身。我使用imshow()來繪製數據(我有一個矩陣,其元素是某種強度,y軸是它們的探測器源對應對,x軸應該是它們的頻率)。

它的代碼在這裏寫下:

def pltspec(dOD, self): 
    idx = 0 
    b = plt.psd(dOD[:,idx],Fs=self.fs,NFFT=512) 
    B = np.zeros((2*len(self.Chan),len(b[0]))) 
    for idx in range(2*len(self.Chan)): 
     b = plt.psd(dOD[:,idx],Fs=self.fs,NFFT=512) 
     B[idx,:] = 20*log10(b[0]) 
    fig = plt.figure() 
    ax = fig.add_subplot(111) 
    plt.imshow(B, origin = 'lower') 
    plt.colorbar() 
    locs, labels = xticks(find(b[1]), b[1]) 
    plt.axis('tight') 
    ax.xaxis.set_major_locator(MaxNLocator(5)) 

我想,如果有一些交換陣列,它的價值的指數的一種方式,我的問題就迎刃而解了。我設法使用線locs, labels = xticks(find(b[1]), b[1])。但是在我的圖表中,我的座標軸間隔不正確......我認爲它與MaxNLocator(我曾用來減少滴答數)有關。

如果我使用xlim,我可以將圖形設置爲我想要的,但x軸仍然相同(在xlim上我必須使用原始數據來設置它)。

我在做什麼錯?

回答

2

是的,您可以使用example中舉例說明的xticks方法。

也有更復雜的方式來做到這一點。見ticker

+0

非常感謝此,幫助很多 –

+0

@Rodrigo Forti這是更典型的表現讚賞與upvote和複選標記! :) – Paul

+0

其實我仍然有這個問題的一些問題..我已經添加了我的劇情命令行,它似乎仍然沒有正確的。 –