2012-09-02 48 views
2

我想使用ggplot2,但不知道在哪裏看。我有一個全球開始和結束時間min(begin)max(end)分別是我的X軸。我的y軸將是每個處理器,並且我的數據爲每個處理器提供了編譯器忙於編譯或鏈接特定文件的時間塊。我希望看到處理器閒置的空白區域。我的DF看起來是這樣的:調度程序陰謀可視化構建過程

df <- data.frame(proc = as.factor(c('P_1', 'P_1', 'P_1', 'P_2', 'P_2', 'P_3')), begin=c(1, 20, 23 , 3, 5, 8), end=c(5, 19, 21, 4, 9, 100), what=c('compiling A', 'compiling B', 'linking A', 'compiling C', 'compiling D', 'compiling E')) 
df 
> df 
    proc begin end  what 
1 P_1  1 5 compiling A 
2 P_1 20 19 compiling B 
3 P_1 23 21 linking A 
4 P_2  3 4 compiling C 
5 P_2  5 9 compiling D 
6 P_3  8 100 compiling E 
> 

我該怎麼做?

回答

3

像這樣的東西?

library(ggplot2) 
ggplot(df, aes(x=begin, xend=end, y=proc, yend=proc, colour=what)) + 
    geom_segment(size=5) 

enter image description here

+1

+1!對於這種少量的數據,這種工作很好,但是如果處理器所做的事情數量(編譯z,連接x等),類別數量很快就會真正實現。 OP想知道哪個處理器是空閒的,你可以只顯示是否有活動(TRUE/FALSE)或者可能只有類別鏈接/編譯... –

+0

@PaulHiemstra你的意思是刪除顏色編碼,因此圖例?是的,我同意這是有道理的。 – Andrie

+0

要麼完全刪除顏色,要麼只減少可能的類的數量(編譯,鏈接等)。 –