1
A
回答
1
我想提出另一種數據格式,其中每項活動都有一個開始和結束時間。
加載庫。 dplyr
僅用於操作數據集,並非嚴格需要。
library(ggplot2)
library(dplyr)
首先我們先讀數據集
activities <- read.csv2(
text=
"Person; Activity; Activity start; Activity end
A; Activity 1; 10:30; 11:30
A; Activity 2; 12:00; 13:00
A; Activity 3; 14:00; 16:00
B; Activity 1; 10:30; 11:30
B; Activity 2; 11:30; 13:00
B; Activity 3; 14:00; 14:30"
) %>%
mutate(
Activity.start = as.POSIXct(Activity.start, format="%H:%M"),
Activity.end = as.POSIXct(Activity.end, format="%H:%M"),
Person = as.factor(Person)
)
所以現在我們有正確的班列,我們可以用
ggplot(activities) +
geom_rect(
aes(
xmin=Activity.start,
xmax=Activity.end,
fill=Activity,
ymin=as.numeric(Person)-.5,
ymax=as.numeric(Person)+.5)
) +
scale_y_continuous(labels=levels(activities$Person), breaks=1:2) +
geom_text(
aes(x=(Activity.start + (Activity.end - Activity.start)/2), y=as.numeric(Person), label=Activity)
) +
xlab(NULL) +
ylab("Person")
導致
1
雖然這通常不是您在R中創建的圖形類型,但您可以通過足夠的腿部工作將其拉下。
我認爲這將讓你jumpstarted:
require(lubridate)
require(ggplot2)
df <- as.data.frame(matrix(nrow=14,ncol=3))
colnames(df) <- c("Person", "Time", "Activity")
df$Person <- c("A","A","A","A","A","A", "A",
"B","B","B","B","B","B", "B")
df$Time <- as.character(hours(c(10,11,12,13,14,15,16)))
df$Activity <- c(NA, "Activity 1", NA, "Activity 2", NA, "Activity 3","Activity 3",
NA, "Activity 1", "Activity 2", NA, NA, "Activity 3", NA)
ggplot(df, aes(Time, Person)) + geom_tile(aes(fill = Activity),
colour = "white") + scale_fill_manual(values = rainbow (3))
你可以把它帶到一個新的水平通過探索ggplot2
選項,並做進一步的定製,以獲得更接近您繪製的圖片。舉例來說,你應該能夠
- 變化吧
- 覆蓋從圖例標籤(
geom_label
是單程) - 微調刻度線
只是尺寸閱讀並調整選項。我最近給出了高度定製的刻度標記的答案,您可以通過快速搜索找到它。
相關問題
- 1. 繪製自定義圖表
- 2. 自定義繪製視圖不顯示
- 3. 如何在Android中啓動活動時顯示日誌消息
- 4. 用自定義動畫顯示活動
- 5. 繪製兩個自定義日期範圍之間的歷史浮動圖表
- 6. 自定義視圖不顯示在活動中
- 7. 繪製多個自定義視圖
- 8. 在ArrayAdapter中繪製自定義視圖
- 9. 活動日誌 - 持續時間
- 10. 如何繪製圖形R中使用日期和時間戳
- 11. 在Android中實現自定義繪圖
- 12. 自定義日誌在Apache
- 13. Fullcalendar - 調整自定義時間的日曆視圖日顯示範圍
- 14. 在jQuery中拖動元素時顯示自定義圖像
- 15. 如何在qtquick中拖動時顯示自定義圖標?
- 16. R活動時間
- 17. Laravel日誌不顯示系統時間
- 18. 在R中繪製時間系列
- 19. 在R中繪製數據和時間
- 20. R中如何繪製,表示長時間的數據
- 21. Perl的 - 自定義日誌文件只顯示特定錯誤
- 22. 繪製3D圖形時,如何定義顯示的角度?
- 23. 在Android中使用自定義對話框顯示活動
- 24. 在R中繪製定向多圖形
- 25. 在R中繪製每日時間序列
- 26. 熊貓日期時間索引的自定義顯示格式?
- 27. 在R中,如何繪製一天中的日曆時間與日曆日期
- 28. 繪製自己的自定義視圖
- 29. 在自定義日誌中重寫URL
- 30. c#繪製自定義表格