簡體   English   中英

有沒有辦法在MATLAB中更改頻譜軸的比例

[英]Is there a way to change the scale of spectogram axis in MATLAB

我有一個音頻文件,其中使用以下命令在MATLAB中繪制頻譜圖:

M = 2048;
spectrogram(data,hanning(M),M/2,0:20:10000,fs,'yaxis');

結果看起來不錯: 頻譜

時間軸從0 tell 20縮放,我的問題是有沒有辦法讓它看起來為0 tell 200 a保持原樣?

如果只想使x軸從0變為200,則可以重新定義XTickLabels

這是代碼:

set(gca, 'XTick', 0:20);           % Place Ticks at 0, 1, 2 ... 20
set(gca, 'XTickLabel', 0:10:200);   % Mark them as 0, 10, 20 ... 200

它不會更改繪圖本身,只會更改x軸顯示。

最好,

您應該簡單地執行以下操作:

xlim([0 200])

它將調整X軸的大小

給定輸入數據的大小和采樣率,采樣值僅需超過20秒。 如果該數組表示200秒,則必須將采樣率指定為錯誤-速度應慢10倍左右。 否則,您將需要更多輸入數據。 如果僅要繪制20秒的數據,則無法繪制200秒的值。

我認為xlim([0 200])會將軸設置為0到200,但是數據將僅在前20秒內-其余圖將為空白。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM