【问题标题】:MATLAB and Raster PlotsMATLAB 和光栅图
【发布时间】:2013-10-25 19:12:32
【问题描述】:

我已经查看了 Matlab 的 stackoverflow 上所有与栅格相关的内容,但无法找到一种有用且简单的方法来制作某些数据的栅格图。

我要制作的栅格图使用以下矢量:

X =[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;]

在此向量中,0 = 无响应,1 = 响应。每个元素也代表 0.1s。我想通过以下方式制作一个将数据表示为栅格的图:

| ||| | | | |||||| | | |

--->时间 (注意:这个例子与我给出的数据不对应)

其中时间位于 X 轴上,每条线对应一个 1(即响应)。有人对如何做到这一点有一些建议吗?

我确实使用了 Matlab 的命令来绘制稀疏图,但这并不是我想要的。另外,我尝试了 linalg::raster 但我没有此命令所需的工具箱。

【问题讨论】:

    标签: matlab plot raster


    【解决方案1】:

    根据您的图纸,我假设您正在寻找

    stem(X,'Marker','none')
    

    对于时间轴,你可以做类似的事情

    t = (1./(24.*60.*60.*10)).*(1:length(X)) ;
    stem(t,X,'Marker','none') 
    datetick
    

    【讨论】:

    • 在我看来很像。如果你真的需要光栅化它,你可以保存它或使用getframe 然后frame2im。 +1
    • 嗨。这行得通;但是,您知道是否有一种方法可以制作多个栅格图,比如 60 个,然后将它们堆叠起来,使它们都共享相同的 X 轴?
    • documentation 中有使用stem 的多个数据系列的示例。或者你可以试试hold
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 2021-06-14
    • 2021-02-06
    • 1970-01-01
    相关资源
    最近更新 更多