2015-05-02 17 views
0

我剛1含有一些事件的日期(格式爲日/月/年)列組成的文件的密度,如下Matlab的:如何繪製事件

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

我想繪製事件的概率密度:如何處理數據格式?

如果可能,我還想創建一維概率密度圖:根據事件密度改變顏色的線(從第一天到最後一天)。

有誰知道該怎麼做? 謝謝!

+0

我試圖使用ksdensity函數,這正是我想要的,但它不適用於日期格式...。關於1D概率密度圖,我認爲使用ksdensity的輸出函數是正確的方式(就像觀察上面的函數,根據高度着色),但我不知道該怎麼做... – egl

+0

Couldn你給日期別名並使用ksdensity?例如。指定一個整數來表示每個唯一日期並將其用作ksdensity的輸入 – brodoll

回答

0

根據您發生事件的頻率,您可以使用「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]。縮放比例當然取決於預期事件的數量。