我有和音频文件,我使用以下方法在MATLAB中绘制频谱图:
M = 2048;
spectrogram(data,hanning(M),M/2,0:20:10000,fs,'yaxis');
结果看起来很好:
时间轴是从0 tell 20
缩放的,我的问题是有办法让它看起来0 tell 200
保持情节不变吗?
答案 0 :(得分:3)
如果你只想制作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轴显示。
最佳,
答案 1 :(得分:2)
您应该执行以下操作:
xlim([0 200])
它将调整x轴的大小
答案 2 :(得分:0)
考虑到输入数据的大小和采样率,必须有超过20秒的样本。如果数组意味着代表200秒,那么你必须指定错误的采样率 - 它应该慢大约10倍。否则,您将需要更多输入数据。如果只有20秒的数据可以绘制,那么就没有办法计划200秒的值。
我认为xlim([0 200])
会将轴设置为0到200,但数据只会在前20秒内 - 其余部分将为空白。