ggplot2 日期对象在水平轴上四舍五入

ggplot2 date objects rounded on horizontal axis

当我在 ggplot2 中绘制时间序列对象时,其中横轴是日期对象(月底日期),我发现日期以某种方式 "rounded-up" 到下个月的月初。例如,"January 31, 2014" 将显示为 "February 1, 2014"。下面提供了一个例子。我怎样才能解决这个问题?谢谢!

fruits.sold <- data.frame(Date=c("1/31/2014", "1/31/2014", "2/28/2014", "2/28/2014", "3/31/2014", "3/31/2014"), 
                   Fruit=c("Apple", "Banana", "Apple", "Banana", "Apple", "Banana"), 
                   Sold=c(200, 300, 250, 350, 300, 400))

fruits.sold$Date <- as.Date(fruits.sold$Date, "%m/%d/%Y")

qplot(Date, Sold, colour=Fruit, data=fruits.sold)

您可以直接用 scale_x_date 指定:

p <- qplot(Date, Sold, colour=Fruit, data=fruits.sold)
p + scale_x_date(breaks=fruits.sold$Date,
            labels=format(fruits.sold$Date,
                      format="%B %d %Y"))