0

现在我用 ggplot2 绘制情节。

我想在我的情节中画圈。

所以我搜索它并找到了解决方案。

用ggplot2画一个圆

但是我不能使用这个解决方案,因为我的绘图的 x 轴是日期格式。

my_plot <- qplot(Day, value, data = target_data_melt, shape = variable, colour = variable, geom="line")
my_plot <- my_plot + scale_x_date(labels = date_format("%Y-%m"))

如何在我的情节中画一个圆圈?

有没有办法在日期轴上画一个圆圈?


target_data_melt 看起来像这样。

      Day  variable       value

1 2010-10-01 231 0.007009346

2 2010-10-03 231 0.005204835

3 2010-10-05 231 0.006214004

4

1 回答 1

1

您可以调整您提供的链接中的代码以将 x 坐标格式化为日期:

require("date")

circle <- function(center_Date = as.Date("2012-11-24"), 
                   center_y = 0, 
                   r.x = 100,
                   r.y = 100,
                   npoints = 100) {
  cycle <- seq(0,2*pi,length.out = npoints)
  xx <- center_Date + r.x * cos(cycle)
  yy <- center_y + r.y * sin(cycle)
  return(data.frame(x = xx, y = yy))
}

和一个演示:

df <- circle()
plot <- ggplot(df, aes(x, y)) + geom_path()
plot(plot)

示例图像(带有调整的日期和 y 中心)在这里

您必须正确设置 rx 和 ry 以获得完美的圆形(而不是椭圆形)。这些应该是什么取决于您在绘图中使用的比例。

于 2012-11-24T15:19:29.783 回答