簡體   English   中英

在X軸上繪制帶有時間戳的線圖

[英]Drawing line graphs with time stamps in X-axis

我有一個以下的數據集。

TimeStamp   data_1      data_2      data_3      
15:11:37.474    99.791028   0.312498    99.47853    
15:16:22.373    99.791028   0.729162    99.061866   
15:21:37.424    99.791028   0.104166    99.686862   
15:31:52.475    88.02027            90.520254   
15:42:07.157    99.99936    0.208332    99.791028   
15:43:22.279    99.99936    0.52083     99.47853    
15:45:37.673    99.686862   0       99.686862   
15:52:52.872    99.686862   0.729162    98.9577 

我需要繪制如下的簡單線圖。但是,所有應該共享相同的X和Y軸。 對於時間戳,5分鍾的采樣是好的。

data_1 vs TimeStamp
data_2 vs TimeStamp
data_3 vs TimeStamp

到目前為止我嘗試的內容如下。

df <- read.csv(file="c:\\td.csv")

df1 <- round(df[-1], 1)

ggplot(df, aes(df$id, rdat$f1)) + geom_point()

我知道這不是正確的方法,任何幫助表示贊賞。

您似乎想要以下內容。 您希望將寬格式的數據轉換為長格式。 我使用了melt() ,但你也可以在tidyr包中使用gather() 從那里,你只需創建一個圖形。 我不明白你的意思是說“對於時間戳,用5分鍾取樣就好了。” 如果您需要進一步的數據操作,這將有助於您進一步。

library(reshape2)
library(ggplot2)

temp <- melt(mydf, id.vars = "TimeStamp", variable.name = "data")

ggplot(data = temp, aes(x = TimeStamp, y = value, color = data,
       group = data)) +
geom_line() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))

在此輸入圖像描述

數據

mydf <- structure(list(TimeStamp = structure(1:8, .Label = c("15:11:37.474", 
"15:16:22.373", "15:21:37.424", "15:31:52.475", "15:42:07.157", 
"15:43:22.279", "15:45:37.673", "15:52:52.872"), class = "factor"), 
data_1 = c(99.791028, 99.791028, 99.791028, 88.02027, 99.99936, 
99.99936, 99.686862, 99.686862), data_2 = c(0.312498, 0.729162, 
0.104166, NA, 0.208332, 0.52083, 0, 0.729162), data_3 = c(99.47853, 
99.061866, 99.686862, 90.520254, 99.791028, 99.47853, 99.686862, 
98.9577)), .Names = c("TimeStamp", "data_1", "data_2", "data_3"
), class = "data.frame", row.names = c(NA, -8L))

暫無
暫無

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

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