在R ggplot中,我需要制作一个条形图,其中基于称为“模式”的因素将条形组在一起。每组钢筋之间应有间距。
我在SO中看到以前曾出现过此问题的不同版本,但提供的答案似乎不适用于我的情况。
这是我的data.frame:
$timeout_in_sec
这是我的代码,在这里我尝试实现给出here和here给出的答案。
> df_mainContributors
Top_contributor Eigvec_value Mode
1 Indonesia Cassava dried 0.3489285 2
2 China, mainland Sweet potatoes -0.3280290 2
3 China, mainland Maize -0.2848236 2
4 Indonesia Potatoes -0.2749160 2
5 Thailand Cottonseed -0.3844600 3
6 Thailand Soybeans 0.3531400 3
7 Indonesia Maize 0.3308546 3
8 China, mainland Millet -0.2620598 3
9 China, mainland Potatoes -0.3883072 4
10 Thailand Rice 0.3108829 4
11 China, mainland Oil, soybean 0.2783780 4
12 Thailand Sweet potatoes 0.2754683 4
这是导致组之间没有空格的图形:
答案 0 :(得分:0)
尝试一下(我在您的ggplot中添加了scale_x_discrete的内容,不想弄乱数据框本身的内容)
ggplot(df_plot, aes(x = Top_contributor, y = Eigvec_value, fill = Mode)) +
geom_bar(color = "black", stat = "identity", position = dodge, width = 0.9) +
scale_x_discrete(limits = c(levels(df_plot$Top_contributor)[1:4],
"ABC",
levels(df_plot$Top_contributor)[5:8],
"DEF",
levels(df_plot$Top_contributor)[9:12]),
labels = c("ABC" = "",
"DEF" = "")) +
theme(axis.text.x = element_text(angle = 60, hjust = 1))