R 调整标签在绘图中的位置

R 调整标签在绘图中的位置,r,ggplot2,R,Ggplot2,抱歉,如果这个问题很琐碎,我已经创建了一个侧面geom_barplot,我只是想知道如何调整百分比标签的位置。我希望每个标签要么在每个侧边栏外面,要么就在里面(但不要像下图那样内外重叠) 这是我的数据集bar structure(list(date = structure(c(18577, 18577, 18577, 18577, 18577, 18577, 18577, 18577, 18577, 18577), class = "Date"), Ticker = c(&

抱歉,如果这个问题很琐碎,我已经创建了一个侧面
geom_bar
plot,我只是想知道如何调整百分比标签的位置。我希望每个标签要么在每个侧边栏外面,要么就在里面(但不要像下图那样内外重叠)

这是我的数据集
bar

structure(list(date = structure(c(18577, 18577, 18577, 18577, 
18577, 18577, 18577, 18577, 18577, 18577), class = "Date"), Ticker = c("ARS", 
"BRL", "IDR", "INR", "MXN", "NGN", "RUB", "THB", "TRY", "ZAR"
), Return = c(-7.1, 2.1, 3.5, -0.8, 7.3, 1.3, -3.3, 2.5, -10.5, 
8)), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"
))

下面是我的代码

p1 <- ggplot(bars, aes(Ticker,Return,fill=Ticker)) +
  geom_bar(stat='identity') +
  coord_flip() +
  theme(legend.position = 'bottom') +
  labs(title = '% Change in EM Currencies vs USD since September 1',
       subtitle = 'Performance of EM Currencies has diverged recently',
       y = '% Change since September 1', x = '') +
  geom_hline(yintercept = 0,linetype = 'dashed',
             col = 'black',size = 1) +
  geom_text(aes(label=paste0(Return,"%")))


p1


p1您可以在
geom_text

geom_text(aes(label=paste0(Return,"%"), hjust="left"))

我的方法比另一个答案效率稍低,但仍能完成任务。我创建了两个有条件的
geom_text
调用,并调整了hjust以获得条外的值。为了给最高的酒吧上的标签腾出空间,我们还必须稍微扩大限制

库(tidyverse)
条,这是一个非常类似的问题,它主要可以在
geom_text
函数中控制