将时间序列绘制为热图

domwoe

我有一个带有时间戳和值的数据框(一个月,大约每5分钟有一个值)。现在,我想在x轴上绘制一天,在y轴上绘制一天中的时间,并将颜色作为颜色。最好的办法是,我可以控制y轴上的装箱(5min,10min,15min ..,每个装箱的平均值)。

我正在尝试ggplot2,但无法获得合理的结果。

p_heat <- ggplot(data = data,
                 aes(x = days(timestamp),
                     y = minutes(timestamp) + hours(timestamp) * 60, fill = value)) +  
            geom_tile()

测试数据可以生成如下:

data <- data.frame(timestamp = seq(from = as.POSIXct("2013-09-01 00:00:00"), 
                                   to = as.POSIXct("2013-10-01 00:00:00"), by = "5 mins"),
                   value = runif(8641, 0, 1))

这是迄今为止我能得到的最好的结果:)我也尝试过使用scale_x / y_date()

我很高兴看到一些提示,将我推向正确的方向。谢谢!

亨里克

您正在寻找这样的东西吗?

library(ggplot2)   

# create date variable for the x-axis
df$date <- as.Date(df$timestamp, format = "%Y-%m-%d")

# get H:M components
df$hm <- format(df$timestamp, "%H:%M")    

# create y-axis breaks and labels
lab <- with(df, paste(format(df$timestamp, "%H"), "00", sep = ":"))

gg <- ggplot(data = df, aes(x = date, y = hm, fill = value)) +
  geom_tile() +
  scale_y_discrete(breaks = lab)

gg

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何停止将数据绘制为零散的图?

来自分类Dev

r使用ggplot2按组将时间序列绘制为渐变颜色

来自分类Dev

在OpenCV中是否可以将局部曲率绘制为代表对象“指向性”的热图?

来自分类Dev

Gnuplot为时间序列图绘制了错误的时间

来自分类Dev

将多维簇绘制为2D图python

来自分类Dev

ipython plotly:无法将x轴绘制为日期时间

来自分类Dev

在R中绘制时间序列事件图

来自分类Dev

绘制多个热图gnuplot

来自分类Dev

将lmer的预测值绘制为单个图

来自分类Dev

将时间从原点开始绘制为小时

来自分类Dev

熊猫将数据框绘制为多个条形图

来自分类Dev

绘制数据帧的热图

来自分类Dev

如何使用Python绘制时间序列热图?

来自分类Dev

将值绘制为未堆积的条形图

来自分类Dev

Matplotlib时间序列热图可视化行修改

来自分类Dev

如何停止将数据绘制为零散的图?

来自分类Dev

在d3.js中将复杂的数据格式绘制为热图

来自分类Dev

将R中的时间序列绘制为堆积条形图

来自分类Dev

是否可以在高图中以热图的形式绘制时间序列?

来自分类Dev

ipython plotly:无法将x轴绘制为日期时间

来自分类Dev

在R中绘制时间序列事件图

来自分类Dev

将维恩图绘制为R中的子图

来自分类Dev

SAS:绘制没有时间序列的覆盖图

来自分类Dev

在python中将矩阵绘制为具有给定单元大小的热图

来自分类Dev

绘制分离组的时间序列条形图

来自分类Dev

将数据框绘制为分组条形图

来自分类Dev

如何将seaborn pairplot绘制为子图?

来自分类Dev

将多个子图绘制为动画

来自分类Dev

根据季度时间序列绘制堆积条形图