在 ggplot2 的早期版本中,我可以使用以下两个命令之一来格式化我的 x 日期:
scale_x_date(breaks = "1 month", minor_breaks = "1 week", labels=(date_format="%B")) +
或者
scale_x_date(major="months", minor="weeks", format="%B") +
生成完整月份名称的“%B”格式。
(恐怕我再也无法区分哪个有效,因为它们都被注释掉了。)
我不记得什么时候了,但是在 ubuntu 12.04 升级中更新了 R 或 ggplot 之后,这不再对我有用。现在,同样的数据会产生错误:
Error in scale_labels.continuous(scale) :
Breaks and labels are different lengths
与第一个,和
Error in continuous_scale(aesthetics, "date", identity, breaks = breaks, :
unused argument(s) (major = "months", minor = "weeks", format = "%B")
与第二个。
如果我删除 labels= 参数,并应用
scale_x_date(breaks = "1 month", minor_breaks = "1 week") +
它会在每个月的第一天生成“YYYY-MM-DD”的日期格式。
咨询函数 ?scale_x_date 的帮助,我还尝试了以下方法:
scale_x_date(breaks = "1 month", minor_breaks = "1 week", labels=date_format("%B")) +
但这会产生此错误:
Error in structure(list(call = match.call(), aesthetics = aesthetics, :
could not find function "date_format"
如何在我的 x 轴上实现月份名称“%B”格式? (如果您对产生这些错误消息的机制有任何其他见解,我也将不胜感激。)
使用新的 ggplot2 v 2.0.0,一种方法是:
scale_x_date(date_breaks = "1 month", date_minor_breaks = "1 week",
date_labels = "%B")
没关系,答案是使用文档中的版本,
scale_x_date(breaks = "1 month", minor_breaks = "1 week", labels=date_format("%B")) +
并像 documentation 所说的那样包含 library(scales)
。
ggplot2
版本以来,可能会将参数更新为 date_break
和 date_minor_break
...