ggplot条形图和错误消息

时间:2018-05-19 03:03:07

标签: r ggplot2

下面的数据集需要两张图表。

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“

谢谢。

2 个答案:

答案 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。