我正在尝试为数据集显示成组的条形图,但是,由于某些月份没有数据(没有收入),列宽显示为不相等,并且我希望列宽相同,无论是否一些州没有收入。注意一月份的条形图是如何分组的,尽管其他州没有收入,但整个月都进行了类似的分组(如果某些州没有收入,我希望将它们隔开)。任何帮助将不胜感激,谢谢。
library(ggplot2)
plot = ggplot(Checkouts, aes(fill=Checkouts$State, x=Checkouts$Month, y=Checkouts$Income)) +
geom_bar(colour = "black", stat = "identity")
答案 0 :(得分:1)
可以通过两种方式完成此操作。
checkboxGroupInput
中有一个名为preserve
的参数,该参数保留垂直位置并仅调整水平位置。这是它的代码。代码:
position_dodge
import(ggplot2)
plot = ggplot(Checkouts, aes(fill=Checkouts$State, x=Checkouts$Month, y=Checkouts$Income)) +
geom_bar(colour = "black", stat = "identity", position = position_dodge(preserve = 'single'))
是最好的解决方案。答案 1 :(得分:0)
您正在寻找position_dodge2(preserve =“ single”)(https://ggplot2.tidyverse.org/reference/position_dodge.html)。
library(ggplot2)
plot = ggplot(Checkouts, aes(fill = State, x = Month, y= Income)) +
geom_bar(colour = "black", stat = "identity",
position = position_dodge2(preserve = "single"))
此外,您无需在ggplot()中使用$指定数据框的列。例如,Checkouts $ State可以替换为State。