我有一个非常,非常坚韧的时间,让x轴看起来正确的我的图表。
以下是我的数据:
df <- data.frame(
Month = factor(c(
"2011-07-31", "2011-08-31", "2011-09-30", "2011-10-31", "2011-11-30",
"2011-12-31", "2012-01-31", "2012-02-29", "2012-03-31", "2012-04-30",
"2012-05-31", "2012-06-30"
)),
AvgVisits = c(
6.98655104580674, 7.66045407330464, 7.69761337479304, 7.54387561322994,
7.24483848458728, 6.32001400498928, 6.66794871794872, 7.207780853854,
7.60281201431308, 6.70113837397123, 6.57634103019538, 6.75321935568936
)
)
以下是我试图绘制的图表:
ggplot(df, aes(x = Month, y = AvgVisits)) +
geom_bar() +
theme_bw() +
labs(x = "Month", y = "Average Visits per User")
该图表工作正常-但是,如果我想调整日期的格式,我相信我应该添加以下内容:scale_x_date(labels = date_format("%m-%Y"))
我试着把日期标成“MMM-YYYY”
ggplot(df, aes(x = Month, y = AvgVisits)) +
geom_bar() +
theme_bw() +
labs(x = "Month", y = "Average Visits per User") +
scale_x_date(labels = date_format("%m-%Y"))
当我绘制它时,我继续得到这个错误:stat_bin: binwidth defaulted to range/30. Use 'binwidth = x' to adjust this.
尽管我花了几个小时研究geom_line
和geom_bar
的格式,但我无法修复它。有人能解释一下我做错了什么吗?
编辑:作为后续思考:可以使用date作为因子吗?还是应该在date列上使用as.Date
?
2条答案
按热度按时间mrwjdhj31#
要显示月份,如Jan 2017 Feb 2017等:
如果日期占用太多空间,请调整日期的Angular :
3df52oht2#
你能把日期作为一个因素吗?
是的,但你可能不应该。
...还是应该在日期列上使用
as.Date
?是的。
这就引出了这个问题:
我已经将
stat = "identity"
添加到了geom_bar
调用中。此外,关于binwidth的消息不是错误。一个错误实际上会说“错误”,同样,一个警告也会说“警告”。否则这只是一个信息。