下面的数据集需要两张图表。
1)首先只有一个栏显示不同颜色的NonProm,Promo1,Promo2以比较销售
2)第二个有三个不同的酒吧,每个促销再次进行比较
data = data.frame(
Promotion =c('NonProm','Promo1','Promo2'),
Sales = c(1616408,95219,92365))
对于第二个我尝试但是我收到了错误消息
p<-ggplot(data=data, aes(x=Promotion , y=Sales)) +
geom_bar(width=1) +
scale_y_continuous(expand = c(0,0))
p
“不知道如何自动选择类型对象的比例 功能。违约持续。 (函数(...,row.names)中的错误 = NULL,check.rows = FALSE,check.names = TRUE,:参数意味着行数不同:0,5“
谢谢。
答案 0 :(得分:0)
我不确定你的意思是#1,但请试试这个。我是在R Studio中做到的。我在这里找到了示例代码:http://www.sthda.com/english/wiki/ggplot2-barplots-quick-start-guide-r-software-and-data-visualization
data = data.frame(
Promotion =c('NonProm','Promo1','Promo2'),
Sales = c(1616408,95219,92365))
data
library(ggplot2)
# Change barplot fill colors by groups
p<-ggplot(data, aes(x=Promotion, y=Sales, fill=Promotion)) +
geom_bar(stat="identity")+theme_minimal()
p
答案 1 :(得分:0)
对于问题#1,要获得堆积条形图,您需要具有相同x位置的值。在较大的数据集中,您可能拥有销售日期,销售人员等的x值。由于您的数据中没有这样的另一列,我只是在{ {1}}设置aes
。
在x
的更新版本中,ggplot2
假设您要绘制类别的计数,而不是值本身,因此要绘制实际值,您可以使用geom_bar
或{ {1}}。要叠加条形,请设置geom_bar(stat = "identity")
。
对于问题#2,我没有收到您的代码错误,而是得到了:
错误:stat_count()不得与y美学一起使用。
这是因为geom_col()
假设它将计算观察数,这与提供美学观点相冲突。
请注意,我为条形设置了填充和颜色,因为我保留了position = "stack"
。这使得几乎不可能告诉下一个吧。
geom_bar
width = 1
由reprex package(v0.2.0)创建于2018-05-20。