如何使用 R 创建时间序列螺旋图

vita_aquaticus

我想创建一个时间序列,在视觉上描绘为像这样的螺旋图。我希望滴答是在几个月而不是几小时内。每个螺旋将代表年而不是天。我想选择将主要刻度分成四个小刻度(以周表示)或没有小刻度而只有几个月的主要刻度。

时间螺旋图

我已经包含了一个模拟数据样本。每日温度平均值可以分为四个箱(以周表示)。

Year    Month   Day Temperature
1993    January 1   9
1993    January 2   6
1993    January 3   6
1993    January 4   5
1993    January 5   5
1993    January 6   5
1993    January 7   8
1993    January 8   9
1993    January 9   6
1993    January 10  5
1993    January 11  7
1993    January 12  10
1993    January 13  7
1993    January 14  10
1993    January 15  5
1993    January 16  5
1993    January 17  7
1993    January 18  7
1993    January 19  10
1993    January 20  8
1993    January 21  9
1993    January 22  8
1993    January 23  9
1993    January 24  9
1993    January 25  5
1993    January 26  6
1993    January 27  7
1993    January 28  6
1993    January 29  8
1993    January 30  8
1993    January 31  10
1993    February    1   8
1993    February    2   9
1993    February    3   9
1993    February    4   6
1993    February    5   5
1993    February    6   9
1993    February    7   8
1993    February    8   10
1993    February    9   9
1993    February    10  6
1993    February    11  6
1993    February    12  9
1993    February    13  8
1993    February    14  6
1993    February    15  6
1993    February    16  9
1993    February    17  10
1993    February    18  5
1993    February    19  7
1993    February    20  6
1993    February    21  8
1993    February    22  9
1993    February    23  5
1993    February    24  10
1993    February    25  10
1993    February    26  8
1993    February    27  10
1993    February    28  9
1993    March   1   10
1993    March   2   9
1993    March   3   9
1993    March   4   6
1993    March   5   7
1993    March   6   6
1993    March   7   5
1993    March   8   10
1993    March   9   9
1993    March   10  8
1993    March   11  9
1993    March   12  7
1993    March   13  7
1993    March   14  6
1993    March   15  6
1993    March   16  9
1993    March   17  7
1993    March   18  6
1993    March   19  10
1993    March   20  7
1993    March   21  6
1993    March   22  6
1993    March   23  10
1993    March   24  9
1993    March   25  8
1993    March   26  6
1993    March   27  5
1993    March   28  5
1993    March   29  10
1993    March   30  7
1993    March   31  8
1993    April   1   6
1993    April   2   7
1993    April   3   10
1993    April   4   7
1993    April   5   8
1993    April   6   5
1993    April   7   7
1993    April   8   5
1993    April   9   10
1993    April   10  7
1993    April   11  6
1993    April   12  9
1993    April   13  10
1993    April   14  10
1993    April   15  6
1993    April   16  5

有一个线程显示了实现此目的所需的代码(如何使用 R 创建时间螺旋图);但是,我很难理解代码并修改它以适合我的目的。我希望有人可以指出我正确的方向或帮助我自定义代码。

谢谢!!

乔恩·斯普林

正如@42 所说,听起来您还有其他一些预处理工作要做,以使您的数据准备好满足您的需求。

在 ggplot 中,这是我将采用的方法。首先将您的数据打印为条形图。然后添加一个上升的基线。最后,使用 coord_polar 将其围绕一个年轮。

sample <- data.frame(date = seq.Date(from = as.Date("1993-01-01"), to = as.Date("1996-12-31"), by = 1),
                     day_num = 1:1461,
                     temp = rnorm(1461, 10, 2))

# as normal bar
ggplot(sample, aes(date, temp, fill = temp)) + 
  geom_col() +
  scale_fill_viridis_c() + theme_minimal()
  # or use the fill pattern below to replicate OP picture:
  # scale_fill_gradient2(low="green", mid="yellow", high="red", midpoint=10)

在此处输入图片说明

# as ascending bar
ggplot(sample, aes(date, 0.01*day_num + temp/2, 
                   height = temp, fill = temp)) + 
  geom_tile() +
  scale_fill_viridis_c() + theme_minimal()

在此处输入图片说明

# as spiral
ggplot(sample, aes(day_num %% 365, 
               0.05*day_num + temp/2, height = temp, fill = temp)) + 
  geom_tile() + 
  scale_y_continuous(limits = c(-20, NA)) +
  scale_x_continuous(breaks = 30*0:11, minor_breaks = NULL, labels = month.abb) +
  coord_polar() + 
  scale_fill_viridis_c() + theme_minimal()

在此处输入图片说明

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在R中以水平堆积条形图的样式创建时间序列图

来自分类Dev

使用R构造时间序列的特定图

来自分类Dev

使用R或Python可视化螺旋形的时间序列?

来自分类Dev

如何使用 xts R 包创建领先的滞后时间序列

来自分类Dev

如何用R创建Phyllotaxis螺旋

来自分类Dev

如何使用时间序列图在r中绘制垂直虚线

来自分类Dev

如何使用ggplot2按时间段为R中的时间序列图聚合变量

来自分类Dev

如何从经济分析数据局的 R 中创建时间序列?

来自分类Dev

R和lubridate:使用条件在时间序列中创建间隔

来自分类Dev

如何使用时间序列和汇总值创建堆叠的条形图

来自分类Dev

如何在R中制作渐变颜色填充的时间序列图

来自分类Dev

如何在R中为时间序列光谱数据绘制漂亮的3D图

来自分类Dev

如何在R中以日期格式绘制数据的时间序列图

来自分类Dev

如何展开螺旋图?

来自分类Dev

使用给定的时间戳和值在R中创建时间序列

来自分类Dev

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

来自分类Dev

R面板时间序列均值图

来自分类Dev

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

来自分类Dev

R中的堆栈时间序列图

来自分类Dev

R 中的多个带时间序列的图

来自分类Dev

如何使用R从MATLAB序列号中提取时间?

来自分类Dev

如何不使用R绘制时间序列中的差距

来自分类Dev

R,如何在时间序列图上使用pch

来自分类Dev

如何基于时间序列数据在R中创建网络列表

来自分类Dev

使用数据库信息创建bokeh时间序列图

来自分类Dev

在Python中使用时间序列数据创建水平条形图

来自分类Dev

在R中作图:如何在时间序列数据中绘制堆叠的条形图以显示百分比构成?

来自分类Dev

如何在R中的时间序列中创建指示开始和结束时间段的变量

来自分类Dev

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

Related 相关文章

  1. 1

    如何在R中以水平堆积条形图的样式创建时间序列图

  2. 2

    使用R构造时间序列的特定图

  3. 3

    使用R或Python可视化螺旋形的时间序列?

  4. 4

    如何使用 xts R 包创建领先的滞后时间序列

  5. 5

    如何用R创建Phyllotaxis螺旋

  6. 6

    如何使用时间序列图在r中绘制垂直虚线

  7. 7

    如何使用ggplot2按时间段为R中的时间序列图聚合变量

  8. 8

    如何从经济分析数据局的 R 中创建时间序列?

  9. 9

    R和lubridate:使用条件在时间序列中创建间隔

  10. 10

    如何使用时间序列和汇总值创建堆叠的条形图

  11. 11

    如何在R中制作渐变颜色填充的时间序列图

  12. 12

    如何在R中为时间序列光谱数据绘制漂亮的3D图

  13. 13

    如何在R中以日期格式绘制数据的时间序列图

  14. 14

    如何展开螺旋图?

  15. 15

    使用给定的时间戳和值在R中创建时间序列

  16. 16

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

  17. 17

    R面板时间序列均值图

  18. 18

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

  19. 19

    R中的堆栈时间序列图

  20. 20

    R 中的多个带时间序列的图

  21. 21

    如何使用R从MATLAB序列号中提取时间?

  22. 22

    如何不使用R绘制时间序列中的差距

  23. 23

    R,如何在时间序列图上使用pch

  24. 24

    如何基于时间序列数据在R中创建网络列表

  25. 25

    使用数据库信息创建bokeh时间序列图

  26. 26

    在Python中使用时间序列数据创建水平条形图

  27. 27

    在R中作图:如何在时间序列数据中绘制堆叠的条形图以显示百分比构成?

  28. 28

    如何在R中的时间序列中创建指示开始和结束时间段的变量

  29. 29

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

热门标签

归档