如何使用ggplot2在条形图中显示0值

时间:2014-05-31 10:48:44

标签: r colors ggplot2

我有一个名为data的数据框:

  

头(数据)

     date         total_sold purchasability visibility
81 2014-05-01          3              3          3
82 2014-05-02          2              2          3
83 2014-05-03          1              2          3
84 2014-05-04          1              3          3
85 2014-05-05          3              2          3
86 2014-05-06          0              0          3

我想用x = date和y = total_sold做一个条形图,颜色取决于可购买性。我这个ggplot2这样做:

bar <- ggplot(data = data, aes(x = date, fill=as.factor(purchasability),y = total_sold)) + geom_bar(stat = 'identity')

输出非常好,但问题是,在total_sold = 0的情况下,没有图表,因此无法知道可购买性。当total_sold = 0时,是否仍然可以显示一个条形(可能是0.5到-0.5)

由于

2 个答案:

答案 0 :(得分:10)

您可以使用geom bar,请查看此代码

df <- data.frame(time = factor(c("Lunch","Dinner","breakfast","test"), levels=c("Lunch","Dinner","breakfast","test")),
                  total_bill = c(14.89, 0,0.5,-0.5))
# Add a black outline
ggplot(data=df, aes(x=time, y=total_bill, fill=time)) + geom_bar(colour="black", stat="identity")

enter image description here

答案 1 :(得分:0)

我不确定是否有从0.5到-0.5的简单方法,但您可以通过修改{{1}中的值轻松地将0值显示为分数(例如-0.1)行到:

bar=

这会产生: enter image description here

将0显示为0以外的其他内容有点误导,但我希望这可以解决您的问题。