2014-11-06 119 views
1

我已经用imagesc绘制了一个图。数据是从一个文件中提取的,时间是作为一个字符串列的,所以我转换为double与datenum。y轴上的时间 - Matlab

time = datenum(time, 'HH:MM:SS'); 

    figure(1) 
    imagesc(freq,time,rssimat); 
    colorbar; 

以这种方式工作,但画面看起来像这样

enter image description here

正如你看到的Y轴具有代表与datenum转换的时间这双号。我其实希望看到我的实际时间如'HH:MM:SS'。 因此,我添加了一行:

datetick('y', 'HH:MM:SS'); 

现在我的身材看起来像...... enter image description here

回答

1

好像你需要在Y轴“放大”。您的跟踪时间间隔显示为持续时间非常短,而在Y轴上则显示整天。

您试过了:datetick('y', 'HH:MM:SS', 'keeplimits');?这将基本上放大并填充整个图表,而在Y轴上,您将拥有格式为HH:MM:SS格式。 MM:SS格式

如果使用datetick('y', 'HH:MM:SS', 'keepticks');将在转换标签HH保持刻度线的位置。

+0

是的感谢,但则仅显示14:20和14:21这实际上是该行存在之间的时间... – ayasha 2014-11-06 12:23:26

+0

@ayasha然后我误解了你的问题。这不是你想要的吗?如果您想显示24小时,则需要足够的数据以涵盖24小时运行。你可以添加更多的澄清? – VAndrei 2014-11-06 12:26:50

+0

我的数据涵盖了24小时! – ayasha 2014-11-06 16:17:31

-1

u可以使用ylim功能的MATLAB限制你的y范围