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

use*_*700 2 r colors ggplot2

我有这个数据框称为数据:

头(数据)

     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
Run Code Online (Sandbox Code Playgroud)

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

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

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

谢谢

ris*_*han 11

您可以使用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")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述