簡體   English   中英

R(ggplot2)中的時間序列中的時間序列,每次都有多個值?

[英]Plots in R (ggplot2) for time series with multiple values per time?

假設我的數據包括我離開家的時間和上班時間。 我會有一些重復的值:

08:00, 20
08:04, 25
08:30, 40
08:20, 23
08:04, 22

有些數字會重復(如08:04)。 我想要做的是運行散點圖,該散點圖在x軸上正確縮放,但每個條目允許這些多個值,以便我可以查看趨勢。

是時間序列甚至是我想要使用的? 我已經能夠繪制每次都有一個值的時間序列圖,並且我已經繪制了多個值但沒有時間序列縮放。 誰能提出一個好的方法? ggplot2的偏好但我會采用標准的R繪圖,如果它更容易。

首先讓我們准備更多數據

set.seed(123)
df <- data.frame(Time = paste0("08:", sample(35:55, 40, replace = TRUE)), 
                 Length = sample(20:50, 40, replace = TRUE), 
                 stringsAsFactors = FALSE)
df <- df[order(df$Time), ]
df$Attempt <- unlist(sapply(rle(df$Time)$lengths, function(i) 1:i))
df$Time <- as.POSIXct(df$Time, format = "%H:%M") # Fixing y axis
head(df)
    Time Length Attempt
6  08:35     24       1
18 08:35     43       2
35 08:35     34       3
15 08:37     37       1
30 08:38     33       1
38 08:39     38       1

據我了解,您希望保留相同離開時間的觀察順序。 起初我忽略了這一點並得到了這樣的散點圖:

在此輸入圖像描述

ggplot(data = df, aes(x = Length, y = Time)) + 
  geom_point(aes(size = Length, colour = Length)) + 
  geom_path(aes(group = Time, colour = Length), alpha = I(1/3)) + 
  scale_size(range = c(2, 7)) + theme(legend.position = 'none')

但考慮到三個維度( TimeLengthAttempt )散點圖不再能向我們顯示所有信息。 我希望我理解正確,這就是你要找的東西:

在此輸入圖像描述

ggplot(data = df, aes(y = Time, x = Attempt)) + geom_tile(aes(fill = Length))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM