Matlab:如何绘制事件密度

Matlab: how to plot density of events

我有一个只有 1 列的文件,其中包含一些事件的日期(格式 dd/mm/yyyy),如下

13/01/2003
07/01/2003
23/01/2003
25/01/2003
...
27/12/2014

我想绘制事件的概率密度:如何处理数据格式?

如果可能的话,我还想创建一个一维概率密度图:一条根据事件密度改变颜色的线(从第一天到最后一天)。

有人知道怎么做吗? 谢谢!

根据发生的频率,您可以使用 "months" 命令,请参阅 http://se.mathworks.com/help/finance/months.html 。我认为也许您必须用空格更改斜杠。但是你可以做类似的事情(我没有测试过任何东西):

a = date(1);
dens = 1;
for i = 2:length(date)
    %Same month
    if weeks(a,date(i)) == 0
         dens(end) = dens(end)+1;
    else 
         a = date(i);
         dens = [dens, 1];
    end
end

那么你就有了每月发生的次数。我猜会有一个类似的方法来计算每次发生之间的天数,然后对之间的天数进行一些统计。对于着色问题,您可以一次绘制一条线段,然后指定一种颜色作为其 RGB 颜色代码,例如,蓝色是个数的 0.1 倍,红色是十分之一的 0.2 倍。因此出现 17 次的颜色代码为 [0.2*1 0 0.1*7]。缩放比例当然取决于预期出现的次数。