在Matlab中保存没有轴,图例或标题的图形

时间:2018-03-26 21:28:56

标签: matlab matlab-figure

我正在使用matlab将信号转换为谱图,然后将其保存为png图像文件。

这就是我目前所拥有的:enter image description here

我想只有情节,没有边框,轴或传说。

(额外问题:如何获得灰度谱图?)

以下是我使用的代码:

for index = 1:Nb_Samples
    %Loads the data from the current example
    Time_Data = Data4{1,index}.time;
    Signal_Data = Data4{1,index}.values;

    figure(1)

    %Generates the spectrogram for the current example
    spectrogram(Signal_Data,hamming(CustomHammingWindowSize1),CustomHammingWindowSize1/2,(PatchWindowSize^2-1)*2,1000,'yaxis')

    h=gcf;
    set(h,'PaperPositionMode','auto');
    set(h,'PaperOrientation','landscape');
    set(h,'Position',[20 20 1100 700]);
    print(gcf, '-dpng', 'Spectro.png')
end

1 个答案:

答案 0 :(得分:2)

最好的方法是直接保存数据,而无需绘制数据,例如使用imwrite,你用来绘制的任何东西都必须是NxM矩阵,即图像。 正如@CrisLuengo在评论中所说,只需抓取spc=spectogram(...输出,将其缩放为[0-1]并使用imwrite保存,以获得最佳效果。

我不建议在这种情况下使用它,但您可以随时colormap(gray)axis off等等,只是不要致电colorbar(或colorbar('off'))来删除图中有额外的东西。但要做好科学!正确保存数据,不要通过添加额外的绘图步骤来引入工件。