【发布时间】:2015-11-09 16:19:47
【问题描述】:
我有一个数据集,显示了两家公司在 4 年内的销售收入。
year <- c(2009, 2011, 2012, 2009,2010, 2012)
name <- c('A', 'A', 'A', 'B', 'B', 'B')
sales <- c(500, 1000, 2000, 1500, 1000, 500)
df.t <- data.frame(year, name, sales)
输出:
> year name sales
> 2009 A 500
> 2011 A 1000
> 2012 A 2000
> 2009 B 1500
> 2010 B 1000
> 2012 B 500
请注意,对于 A 公司,没有 2010 年的销售数字(该年没有销售),而对于 B 公司,在 2011 年没有销售数字。
我想创建一个漂亮的条形图来显示这些数字。
ggplot(data=df.t, aes(x=year, y=sales, fill=name)) + geom_bar(stat="identity", position="dodge")
但是,这会创建一个条形图,其中 2010 年和 2011 年的条形与其他年份的条形宽度不同。
即使是没有销售的年份,我也想要一个条形图。该条形图的高度为 0。
如何在不更改数据和添加零的情况下做到这一点?
【问题讨论】:
-
如果您解决了这个问题,那就太好了,这样您的数据框创建中的名称(
y,n,z)与向量的名称(year)匹配namesales)并匹配图中的列名(包括return)。 -
感谢您的评论。我已经修好了。数据框中的名称现在应该与向量的名称匹配