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. 在R中繪製圖表
- 5. 用自定義動畫顯示活動
- 6. 繪製兩個自定義日期範圍之間的歷史浮動圖表
- 7. 自定義視圖不顯示在活動中
- 8. 在自定義日曆中以點圖形的形式顯示活動
- 9. 在Jquery中自定義日期和時間顯示
- 10. 未在事件日誌中顯示的自定義事件
- 11. R ggplot2 - 簡單的繪圖 - 無法指定日誌軸限制
- 12. 繪製多個自定義視圖
- 13. 在ArrayAdapter中繪製自定義視圖
- 14. 在iOS中繪製自定義圖形
- 15. 自定義視圖不繪製位圖
- 16. 在單獨的活動中顯示繪製的AChartEngine圖形
- 17. 繪製自定義視圖中的線
- 18. 自定義ListView文字和圖像沒有顯示在活動
- 19. 活動日誌 - 持續時間
- 20. 在iOS中繪製自定義條形圖圖(PowerPlot vs Core圖)
- 21. 如何繪製位圖中一個自定義視圖中的非活動類
- 22. 如何繪製圖形R中使用日期和時間戳
- 23. 在3D圖中繪製日期R
- 24. 在Android中實現自定義繪圖
- 25. 自定義日誌在Apache
- 26. 自定義視圖不會繪製在自定義視圖組中
- 27. 自定義進度可繪製有時不顯示
- 28. 在R中繪製時間序列圖R
- 29. Facebook閱讀操作顯示在活動日誌中,但未在時間線上顯示
- 30. Google Chart在動態繪製多個圖表時不顯示