数据是:

df <- structure(list(country = c("Italy", "Switzerland", "Sweden", 
                       "Netherlands", "England", "Poland", "Russia", "Czech", "Hungary", 
                       "Turkey"), `0.025quant` = c(-2.98, 2.02, 1.02, 0.02, 3.02, -2.98, 
                                                   -0.98, -1.98, -1.98, -0.98), mean = c(-2, 3, 2, 1, 4, -2, 0, 
                                                                                         -1, -1, 0), `0.975quant` = c(-1.02, 3.98, 2.98, 1.98, 4.98, -1.02, 
                                                                                                                      0.98, -0.02, -0.02, 0.98)), class = c("tbl_df", "tbl", "data.frame"
                                                                                                                      ), row.names = c(NA, -10L))

我将其绘制为:

plot <- ggplot(data = df, aes(x = mean, y = country)) + 
   geom_point() + 
   geom_errorbarh(aes(xmin = `0.025quant`, xmax = `0.975quant`), height = .1) + 
   geom_vline(xintercept = 0, linetype = 2) + 
   scale_x_continuous(breaks = seq(-3, 5, 1))

我试图在图内移动y轴上的标签(国家名称,在下图中用蓝色标记圈起来),这样它就会位于其原始默认位置的右侧上方,略高于白线.在下面的图片中,我用红色标记写下了想要的结果,指示所有国家的名字必须go 哪里.

enter image description here

伙计们,你们能帮我一下吗?

推荐答案

您可以使用geom_text或我更喜欢的geom_label来伪造您想要的内部轴文本,然后使用element_blank()删除轴文本:

library(ggplot2)

ggplot(data = df, aes(x = mean, y = country)) + 
  geom_point() + 
  geom_errorbarh(aes(xmin = `0.025quant`, xmax = `0.975quant`), height = .1) + 
  geom_vline(xintercept = 0, linetype = 2) + 
  geom_label(
    data = ~ dplyr::distinct(.x, country),
    aes(x = -3.5, label = country),
    hjust = 0,
    vjust = 0,
    fill = NA,
    label.size = 0
  ) +
  scale_x_continuous(breaks = seq(-3, 5, 1), expand = c(0, 0, .05, 0)) +
  theme(axis.text.y = element_blank()) +
  coord_cartesian(clip = "off")

R相关问答推荐

R:如何在没有for循环的情况下替换多边形几何中的值?

收件箱摘要表布局在第一列上显示子类别

feature_weights参数没有影响Xgboost

以R表示的gglikert地块调整总数

如何使用shinyChatR包配置聊天机器人

R等效于LABpascal(n,1)不同的列符号

根据R中的另一个日期从多列中 Select 最近的日期和相应的结果

使用gggrassure减少地块之间的空间

删除具有相同标题的tabPanel(shinly)

传递ggplot2的变量作为函数参数—没有映射级别以正确填充美学

如何使用ggplot对堆叠条形图进行嵌套排序?

无法正确设置动态创建的Quarto标注的格式

根据约束随机填充向量的元素

通过初始的shiny 应用更新部署的shiny 应用的数据和参数,其中部署的应用程序显示为URL

在ggplot2上从多个数据框创建复杂的自定义图形

如何提取R中其他字符串和数字之间的字符串?

计算Mean by分组和绑定到R中的数据集

如何在条形图中的x和填充变量中包含多个响应变量?

如何在GALT包的函数&geom_x样条线中调整线宽

R-如何在ggplot2中显示具有不同x轴值(日期)的多行?