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"))
当我在 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"))