首页 > 解决方案 > 在ggplot2中换行后控制文本大小

问题描述

是否可以在 x 标签文本中在 Stackoverflow 和 Example 上给出不同的大小?

library(ggplot2)
ggplot(iris, aes(x = Sepal.Width, y = Sepal.Length)) + 
  geom_point() + labs(x = 'Stackoverflow\nexample')

标签: rggplot2

解决方案


使用draw_label()来自cowplot

library(ggplot2)
library(cowplot)

ggplot(iris, aes(x = Sepal.Width, y = Sepal.Length)) + 
  geom_point() +
  xlab("") +
  theme(axis.title.x = element_text(size = 10, # you don't need to define size actually
# margin is important to give you some space on the bottom
                                    margin = margin(t = 10, r = 0, b = 0, l = 0,
                                                    unit = "mm"))) +
  coord_cartesian(clip = "off") +
  draw_label("Stackoverflow", x = 3.25, y = 3.5, size = 15) + 
# play with x,y to center the text
  draw_label("example", x = 3.25, y = 3.25, size = 10)

在此处输入图像描述


推荐阅读