Modifying Plot in ggplot2 using as.yearmon from zoo

安稳与你 提交于 2019-12-18 05:11:03

问题


I have created a graph in ggplot2 using zoo to create month bins. However, I want to be able to modify the graph so it looks like a standard ggplot graph. This means that the bins that aren't used are dropped and the bins that are populate the entire bin space. Here is my code:

library(data.table)
library(ggplot2)
library(scales)
library(zoo)

testset <- data.table(Date=as.Date(c("2013-07-02","2013-08-03","2013-09-04","2013-10-05","2013-11-06","2013-07-03","2013-08-04","2013-09-05","2013-10-06","2013-11-07")), 
           Action = c("A","B","C","D","E","B","A","B","C","A","B","E","E","C","A"), 
           rating = runif(30))

The ggplot call is:

ggplot(testset, aes(as.yearmon(Date), fill=Action)) + 
           geom_bar(position = "dodge") + 
           scale_x_yearmon()

I'm not sure what I'm missing, but I'd like to find out! Thanks in advance!


回答1:


To get a "standard-looking" plot, convert the data to a "standard" data type, which is a factor:

ggplot(testset, aes(as.factor(as.yearmon(Date)), fill=Action)) + 
    geom_bar(position='dodge') 



来源:https://stackoverflow.com/questions/22968702/modifying-plot-in-ggplot2-using-as-yearmon-from-zoo

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!