2011-07-19 15 views
1

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

実際に私はまだこの問題でいくつかの問題を抱えています。私はプロットコマンドラインを追加しましたが、それはまだ正しくないようです。 –

関連する問題