我有一个R每日波动率的图表
日期范围从“2009-04-01”到“2010-07-01”,并以R格式保存。 当我绘制它时,
情节(d,vol1,type =“l”)
我只在x轴上获得年份'标签'。但是,拥有月份“标签”也会有所帮助。任何人都可以帮我这个吗?
答案 0 :(得分:1)
您可以使用tidyverse
工具轻松完成此操作,尤其是scale_x_date
选项date_breaks
。如果您想进行其他自定义,您还可以在此处查看其他答案或网络资源。
library(tidyverse)
library(lubridate)
df = tibble(
days = seq.Date(from = ymd("2009-04-01"), to = ymd("2010-07-01"), by = "day"),
value = rnorm(457)
)
ggplot(data = df) +
geom_line(aes(x = days, y = value)) +
scale_x_date(date_breaks = "1 month", date_labels = "%m-%y")
答案 1 :(得分:0)
使用axis
命令手动绘制。
# test data
d <- seq(as.Date("2009-04-01"), as.Date("2010-07-01"), "day")
v <- seq_along(d)
plot(v ~ d, xaxt = "n")
# draw X axis
months <- seq(min(d), max(d), "month")
axis(1, months, format(months, "%Y\n%b"))
,并提供:
# test data
d <- seq(as.Date("2009-04-01"), as.Date("2010-07-01"), "day")
v <- seq_along(d)
plot(v ~ d, xaxt = "n")
# draw X axis
months <- seq(min(d), max(d), "month")
lab <- format(months, "%b")
lab[lab == "Jan"] <- format(months, "%Y")[lab == "Jan"]
axis(1, months, lab)
,并提供: