r - 扩展ggplot2中日期的轴范围

标签 r ggplot2

我正在绘制许多时间序列图,并且需要具有一致的x值范围(日期)以进行图的比较。我尝试使用expand_limits,但是没有用。修复它的最佳方法是什么?我应该使用 continuous_scale 吗?

这会产生不同的范围:

library(ggplot2)

#Example Data
ID <- c(rep(1, 3), rep(2, 3))
date1 <- as.Date(c("2015-02-01", "2015-03-01", "2015-04-01", 
    "2015-03-01", "2015-03-15", "2015-03-31"), "%Y-%m-%d")
v1 <- rep(1:3, 2)
df <- data.frame(ID, date1, v1)
df

p1 <- ggplot(df[df$ID == 1,], aes(x = date1, y = v1)) +
    geom_point(size = 3, colour = "#0000FF")

p2 <- ggplot(df[df$ID == 2,], aes(x = date1, y = v1)) +
    geom_point(size = 3, colour = "#0000FF") 

plot(p1)
plot(p2)

这就是我要解决的方法:
p2 <- ggplot(df[df$ID == 2,], aes(x = date1, y = v1)) +
        geom_point(size = 3, colour = "#0000FF") +
        expand_limits(x = c("2015-02-01", "2015-04-01"))

plot(p2)

这是错误:Error: Invalid input: date_trans works with objects of class Date only
谢谢!

最佳答案

尝试在as.Date中添加expand_limits:

p2 <- ggplot(df[df$ID == 2,], aes(x = date1, y = v1)) +
      geom_point(size = 3, colour = "#0000FF") +
      expand_limits(x = as.Date(c("2015-02-01", "2015-04-01")))
print(p2)

关于r - 扩展ggplot2中日期的轴范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29425525/

相关文章:

r - full_join 通过变量作为列名

r - ggplot2 - 用点躲避水平误差线

R将树状图切割成最小尺寸的组

r - ggplot + geom_point + 基于大小和颜色的图例

r - 调整 geom_tile 大小以消除边距效应

r - 在 R 中指定网格箭头的 gpar 设置

r - ggplot geom_bar 按月分组并显示计数

r - 使用为多个图缩放的边距文本绘制?

r - ggplot2:stat_summary 在尝试将函数参数作为参数传递时抛出错误,而不是硬编码

r - 如何强制多个 r 图具有相同长度的 x 刻度?