将x轴标签放置在旋转图形ggplot2 r的内侧

将x轴标签放置在旋转图形ggplot2 r的内侧,r,plot,ggplot2,R,Plot,Ggplot2,我已经在ggplot2中创建了一个绘图,我想知道是否有任何方法可以将x轴标签放置在绘图的内部,因为这会使绘图变得更整洁,我无法确定该命令的位置。下面的代码和情节,非常感谢任何帮助!谢谢 ggplot(gen, aes(Genera, y = Depth.occurred)) + geom_boxplot() + scale_x_discrete(position = "top") + labs(x = "Genera", y = "Depth (m)") + scale_y_re

我已经在ggplot2中创建了一个绘图,我想知道是否有任何方法可以将x轴标签放置在绘图的内部,因为这会使绘图变得更整洁,我无法确定该命令的位置。下面的代码和情节,非常感谢任何帮助!谢谢

ggplot(gen, aes(Genera, y = Depth.occurred)) +
  geom_boxplot() +
  scale_x_discrete(position = "top") +
  labs(x = "Genera", y = "Depth (m)") +
  scale_y_reverse(breaks = seq(0, 90, by = 10)) +
  theme_bw() +
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
  theme(axis.title.y = element_text(face="bold", size = 12)) +
  theme(axis.title.x = element_text(face="bold", size = 12)) +
  geom_hline(yintercept=30, linetype="dashed", color = "red") +
  theme(axis.ticks.x=element_blank()) +
  stat_n_text(size = 3, y.pos = 1, fontface = "italic") +
  theme(panel.border = element_blank()) +
  theme(axis.line = element_line(colour = "black")) +
  theme(axis.text.x = element_text(size = 9, vjust = 1)) 
此处创建的绘图:


使用下面的第一种方法(y位置编辑)更新了绘图,但在某些标签上使用了奇怪的字体

我不知道如何在常规ggplot表达式中设置轴标签,因为我看不到主题上的选项,但您可以仅抑制x轴文本标签,并将x轴标签作为几何图形文本添加到绘图中

# what you have so far minus theme(axis.text.x), and combining theme elements

gg <- ggplot(gen, aes(Genera, y = Depth.occurred)) +
  geom_boxplot() +
  geom_hline(yintercept=30, linetype="dashed", color = "red") +
  stat_n_text(size = 3, y.pos = 1, fontface = "italic") +
  labs(x = "Genera", y = "Depth (m)") +
  scale_x_discrete(position = "top") +
  scale_y_reverse(breaks = seq(0, 90, by = 10)) +
  theme_bw() +
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        panel.border = element_blank(),
        axis.title.y = element_text(face="bold", size = 12), 
        axis.title.x = element_text(face="bold", size = 12),
        axis.ticks.x=element_blank(),
        axis.line = element_line(colour = "black"))

gg + theme(axis.text.x = element_blank()) +
  geom_text(aes(x=Genera, y=2, label=Genera))
#到目前为止,除了主题(axis.text.x)和组合主题元素,您拥有什么

非常感谢,第一个非常好用(我刚刚调整了n和文本的位置)。你知道为什么一些geom_文本标签的字体看起来有点奇怪吗?你能上传新的绘图吗?我不知道你指的是什么实例。我只在mtcars上试过,可能是特定于文本标签的长度(?)。编辑,在描述中打印,再次感谢您的帮助。当标签被加粗的时候,它不是那么明显,只是看起来有点奇怪啊,我明白你的意思,但我真的不知道是什么原因造成的。这是图像文件的渲染问题吗?如果您将其打印到窗口并上下调整窗口大小,仍然可以看到它?如果更改geom_文本大小,是否总是相同的标签很奇怪?也许让标签加粗是一个很好的折衷方案
# y-range
gg_yrange <- ggplot_build(gg)$layout$panel_ranges[[1]]$y.range

gg + theme(axis.text.x = element_blank()) +
  geom_text(aes(x=Genera, y=p_yrange[1]-2, label=Genera))