持续时间栏可视化的状态

时间:2018-03-26 10:16:27

标签: r ggplot2

我有关于定期发生的事情的数据,它要么成功要么失败。

我想在一个酒吧中看到这个,所以例如它可能在上午11点通过,然后在下午2点失败,然后在下午3点再次通过。我喜欢这个在单个水平栏中,红色表示失败,绿色表示通过...我不知道从哪里开始这个!

到目前为止,我已经得到了这个,但它真的不是很接近:

tm1 <- as.POSIXct("2018-03-24 11:00:00")
tm2 <- as.POSIXct("2018-03-24 14:00:00")
tm3 <- as.POSIXct("2018-03-24 15:00:00")

testData <- data.frame(
  time = c(tm1, tm2, tm3),
  status = c("pass", "fail", "pass"),
  thing = c("a", "a", "a"),
  timeSinceLast = c(0, tm2-tm1, tm3-tm2)
  )

ggplot(testData, aes(x = timeSinceLast, y = thing, fill=status)) + geom_bar(stat = "identity")

我希望它看起来有点像这样,但只有红色和绿色,只有一行:https://netbeez.net/wp-content/uploads/2017/01/pub_dash_screenshot_alert_lane_graph.png

1 个答案:

答案 0 :(得分:1)

我希望library(ggplot2) tm1 <- as.POSIXct("2018-03-24 11:00:00") tm3 <- as.POSIXct("2018-03-25 11:00:00") x <- seq(tm1, tm3, by = 60^2) set.seed(123) df <- data.frame(x = x, y = 0, z = factor(sample(2, length(x), replace = T))) head(df) #> x y z #> 1 2018-03-24 11:00:00 0 1 #> 2 2018-03-24 12:00:00 0 2 #> 3 2018-03-24 13:00:00 0 1 #> 4 2018-03-24 14:00:00 0 2 #> 5 2018-03-24 15:00:00 0 2 #> 6 2018-03-24 16:00:00 0 1 ggplot(df, aes(x, y, fill = z)) + geom_raster() + ylim(-10, 10) + scale_fill_manual(values = 2:3) 让你开始。我不知道你的数据看起来是什么样的,但我认为如果你为每个小时(或其他)编码事件是正面的还是负面的话,这将是最简单的。

#define 35441 FF_EIS_DMC_1_TERRAIN_FROM //Terrain update from time
#define 35442 FF_EIS_DMC_1_TERRAIN_AHEAD_TIME //Terrain ahead activation time
#define 35442 FF_EIS_DMC_1_TERRAIN_AHEAD_TIME_DATE //Terrain ahead activation time and date
#define 35443 FF_EIS_DMC_1_TERRAIN_FROM //Terrain update from time
#define 35521 FF_EIS_DMC_1_BUS_1 //ARINC Data Bus 1
#define 35522 FF_EIS_DMC_1_BUS_1_DATA_BUS //Data Bus failure