如何在R中使用ggplot2在条形图中的条形图中添加标签?

时间:2019-05-29 09:56:11

标签: r ggplot2

我不能将标签放在垃圾箱内,而只能放在顶部:(。我如何将它们放在垃圾箱内?我也想有一张白色的图表,但是垃圾箱后面的图表是灰色的,我该如何将其更改为白色?

ggplot(region,
       aes(x=reorder(Field_Partner_Name,-amount), y=amount, fill=Field_Partner_Name)) +
  geom_bar(stat="identity")+
  ggtitle("Partners that invest more money") +
  labs(x="Partners",y="Amount")+
  geom_text(aes(label = Field_Partner_Name, hjust=0),
            position = position_dodge(width = 0.9), angle = 90) +
  scale_y_continuous(expand = c(0.15, 0))+
  theme(axis.text.x=element_blank(),
        legend.position = "none") +
  ylim(0,90000000)

1 个答案:

答案 0 :(得分:1)

请下次provide some data。由于我没有数据,因此我将使用this链接中的数据和示例。

library(ggplot2)

df <- data.frame(dose=c("D0.5", "D1", "D2"),
                len=c(4.2, 10, 29.5))

ggplot(data=df, aes(x=dose, y=len)) +
  geom_bar(stat="identity", fill="steelblue")+
  geom_text(aes(label=len), vjust=1.6, color="white", size=3.5)+
  theme_minimal()

plot

在geom_text()内部可以设置文本的高度。这有点奇怪,因为正值表示文本较低,而负值表示文本较高。看到这里:

ggplot(data=df, aes(x=dose, y=len)) +
  geom_bar(stat="identity", fill="steelblue")+
  geom_text(aes(label=len), vjust=-1.5, color="black", size=3.5)+
  theme_minimal()

plot2

geom_text内部用于标签的变量不必是包含y轴值的变量。请参见以下示例:

df <- data.frame(dose=c("D0.5", "D1", "D2"),
                len=c(4.2, 10, 29.5),
                label= c("a", "b", "a"))

ggplot(data=df, aes(x=dose, y=len)) +
  geom_bar(stat="identity", fill="steelblue")+
  geom_text(aes(label=label), vjust=1.6, color="white", size=3.5)+
 theme_minimal()