ggplot 使用多年数据在 x 轴上定义每月增量

樱桃树

您好,我想在 x 轴上创建一个带有缩写月份标签的图。

这是我的数据:

df <- structure(list(site = structure(c(33L, 34L, 35L, 36L, 37L, 38L,  39L, 40L, 41L, 42L, 33L, 34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L,  42L, 33L, 34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 33L, 34L,  35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 33L, 34L, 35L, 36L, 37L,  38L, 39L, 40L, 41L, 42L), .Label = c("INDU01", "INDU02", "INDU03",  "INDU04", "INDU05", "INDU06", "INDU07", "INDU08", "INDU09", "INDU10",  "MISS01", "MISS02", "MISS03", "PIRO01", "PIRO02", "PIRO03", "PIRO04",  "PIRO05", "PIRO06", "PIRO07", "PIRO08", "PIRO09", "PIRO10", "SLBE03",  "SLBE04", "SLBE08", "SLBE09", "SLBE11", "V1DA1", "V3DA2", "V8DC2",  "VNPBP70", "APIS01", "APIS02", "APIS03", "APIS04", "APIS05",  "APIS06", "APIS07", "APIS08", "APIS10", "APIS11", "MISS04", "MISS08",  "MISS09", "SLBE01", "SLBE02", "SLBE05", "SLBE06", "SLBE07", "V12DA2",  "V4DC1", "V9DB1", "V9DC2", "VNPBP29", "VNPBP42", "GRPO02", "GRPO03",  "GRPO04", "GRPO05", "GRPO06", "GRPO07", "ISRO01", "ISRO02", "ISRO03",  "ISRO04", "ISRO05", "ISRO06", "ISRO07", "ISRO08", "ISRO09", "ISRO10",  "MISS05", "MISS06", "MISS07", "MISS10", "V10DA4", "V11DB4", "V12DC3",  "V5DA1", "V7DE2", "V7DF2", "GRPO01"), class = "factor"), log.start = structure(c(16218,  16218, 16218, 16218, 16218, 16218, 16218, 16218, 16218, 16218,  16540, 16541, 16550, 16553, 16542, 16543, 16542, 16553, 16553,  16552, 16905, 16905, 16905, 16906, 16905, 16905, 16905, 16905, 16905, 16905, 17270, 17270, 17290, 17290, 17289, 17289, 17291,  17288, 17290, 17290, 17622, 17622, 17655, 17655, 17655, 17655,  17655, 17655, 17655, 17655), class = "Date"), log.end = structure(c(16278,  16271, 16317, 16317, 16271, 16280, 16317, 16317, 16277, 16317,  16664, 16694, 16666, 16667, 16671, 16658, 16647, 16660, 16670,  16667, 17048, 17046, 17010, 17124, 17108, 17098, 17124, 17145,  17008, 17000, 17274, 17379, 17382, 17389, 17459, 17406, 17389,  17459, 17389, 17378, 17780, 17756, 17785, 17784, 17784, 17784,  17756, 17784, 17785, 17713), class = "Date"), year = c("2014",  "2014", "2014", "2014", "2014", "2014", "2014", "2014", "2014",  "2014", "2015", "2015", "2015", "2015", "2015", "2015", "2015",  "2015", "2015", "2015", "2016", "2016", "2016", "2016", "2016",  "2016", "2016", "2016", "2016", "2016", "2017", "2017", "2017",  "2017", "2017", "2017", "2017", "2017", "2017", "2017", "2018",  "2018", "2018", "2018", "2018", "2018", "2018", "2018", "2018",  "2018"), start.month.day = c("05-28", "05-28", "05-28", "05-28",  "05-28", "05-28", "05-28", "05-28", "05-28", "05-28", "04-15",  "04-16", "04-25", "04-28", "04-17", "04-18", "04-17", "04-28",  "04-28", "04-27", "04-14", "04-14", "04-14", "04-15", "04-14",  "04-14", "04-14", "04-14", "04-14", "04-14", "04-14", "04-14",  "05-04", "05-04", "05-03", "05-03", "05-05", "05-02", "05-04",  "05-04", "04-01", "04-01", "05-04", "05-04", "05-04", "05-04",  "05-04", "05-04", "05-04", "05-04"), end.month.day = c("07-27",  "07-20", "09-04", "09-04", "07-20", "07-29", "09-04", "09-04",  "07-26", "09-04", "08-17", "09-16", "08-19", "08-20", "08-24",  "08-11", "07-31", "08-13", "08-23", "08-20", "09-04", "09-02",  "07-28", "11-19", "11-03", "10-24", "11-19", "12-10", "07-26",  "07-18", "04-18", "08-01", "08-04", "08-11", "10-20", "08-28",  "08-11", "10-20", "08-11", "07-31", "09-06", "08-13", "09-11",  "09-10", "09-10", "09-10", "08-13", "09-10", "09-11", "07-01" )), row.names = c(NA, -50L), class = "data.frame")

当我使用 ggplot 时...

library (ggplot2)
p <- ggplot(df, aes(y=year))
p <- p + geom_segment(aes(x=start.month.day,xend=end.month.day,y=year,yend=year),size=2)
p <- p + facet_wrap(~site,ncol=2)

我收到以下情节...

在此处输入图片说明

我想在 x 轴上使用缩写的月度标签,例如“Apr”“Mar”“Jun”等。

谢谢

米--

首先,您希望您的段代表您的时间段的实际长度,因此您需要将它们作为实际日期。否则,段不是句点的正确表示。

其次,您需要将它们作为日期才能将它们格式化为日期。

如果您将唯一的月-日字符串转换为日期,它会默认添加年份(当前年份),但您仍然拥有year处理 y 轴的变量。

所有这些都说,下面的代码适合你:

df[,5] <- as.Date(df[,5], format='%m-%d')
df[,6] <- as.Date(df[,6], format='%m-%d')

ggplot(df, aes(y=year)) + 
 geom_segment(aes(x= start.month.day,xend=end.month.day,
                  y=year,yend=year),size=2) + 
 facet_wrap(~site,ncol=2) 

ggplot 将很好地格式化 x 轴本身。

在此处输入图片说明

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ggplot:按月汇总多年数据,美学长度误差

来自分类Dev

在单个绘图python上比较多年数据

来自分类Dev

在单个绘图python上比较多年数据

来自分类Dev

GGPLOT 与 x 轴数据上的因子线不起作用

来自分类Dev

ggplot上的附加x轴

来自分类Dev

如何使用ggplot在密度图的x轴上添加红点

来自分类Dev

使用ggplot在x轴上以对数刻度绘制功能

来自分类Dev

如何使用ggplot仅在x轴上显示年份

来自分类Dev

使用ggplot在分类X轴上连接不同组的点

来自分类Dev

如何使用ggplot在x轴上放置日期?

来自分类Dev

使用ggplot在x轴上以对数刻度绘制功能

来自分类Dev

使用ggplot在ecdf图中反转x轴

来自分类Dev

R如何使用ggplot强调x轴?

来自分类Dev

如何使用ggplot更改x轴

来自分类Dev

ggplot在x轴上绘制int的问题

来自分类Dev

从ggplot2中的ggplot x轴上删除NA

来自分类Dev

如何为两组数据对ggplot2上的x轴进行数字排序?

来自分类Dev

ggplot自定义x轴(月)已压缩/未使用整个范围

来自分类Dev

使用ggplot2的多个样条线+不同的颜色+线宽+自定义X轴标记

来自分类Dev

初学者尝试使用分类 X 轴制作线条 ggplot 并自定义颜色设置

来自分类Dev

R Studio中ggplot()的x轴大数据

来自分类Dev

R-使用ggplot2在x轴上绘制朱利安日

来自分类Dev

如何在ggplot2的x轴上使用月份的名称

来自分类Dev

使用ggplot在x轴上显示有限的时间范围

来自分类Dev

如何使用ggplot2在一个散点图的x轴上绘制多列?

来自分类Dev

R如何使用ggplot在x轴上绘制一周的第一天

来自分类Dev

使用ggplot根据x轴上的特定位置突出显示该值

来自分类Dev

使用x轴上的最后一个值的GGplot订单图例

来自分类Dev

使用ggplot在x轴上绘制多条线,按其组着色,但保持分开

Related 相关文章

  1. 1

    ggplot:按月汇总多年数据,美学长度误差

  2. 2

    在单个绘图python上比较多年数据

  3. 3

    在单个绘图python上比较多年数据

  4. 4

    GGPLOT 与 x 轴数据上的因子线不起作用

  5. 5

    ggplot上的附加x轴

  6. 6

    如何使用ggplot在密度图的x轴上添加红点

  7. 7

    使用ggplot在x轴上以对数刻度绘制功能

  8. 8

    如何使用ggplot仅在x轴上显示年份

  9. 9

    使用ggplot在分类X轴上连接不同组的点

  10. 10

    如何使用ggplot在x轴上放置日期?

  11. 11

    使用ggplot在x轴上以对数刻度绘制功能

  12. 12

    使用ggplot在ecdf图中反转x轴

  13. 13

    R如何使用ggplot强调x轴?

  14. 14

    如何使用ggplot更改x轴

  15. 15

    ggplot在x轴上绘制int的问题

  16. 16

    从ggplot2中的ggplot x轴上删除NA

  17. 17

    如何为两组数据对ggplot2上的x轴进行数字排序?

  18. 18

    ggplot自定义x轴(月)已压缩/未使用整个范围

  19. 19

    使用ggplot2的多个样条线+不同的颜色+线宽+自定义X轴标记

  20. 20

    初学者尝试使用分类 X 轴制作线条 ggplot 并自定义颜色设置

  21. 21

    R Studio中ggplot()的x轴大数据

  22. 22

    R-使用ggplot2在x轴上绘制朱利安日

  23. 23

    如何在ggplot2的x轴上使用月份的名称

  24. 24

    使用ggplot在x轴上显示有限的时间范围

  25. 25

    如何使用ggplot2在一个散点图的x轴上绘制多列?

  26. 26

    R如何使用ggplot在x轴上绘制一周的第一天

  27. 27

    使用ggplot根据x轴上的特定位置突出显示该值

  28. 28

    使用x轴上的最后一个值的GGplot订单图例

  29. 29

    使用ggplot在x轴上绘制多条线,按其组着色,但保持分开

热门标签

归档