【问题标题】:Is it possible to set geom_text size via theme?是否可以通过主题设置 geom_text 大小?
【发布时间】:2018-09-16 21:18:27
【问题描述】:

我想更改所有geom_text 元素的基本字体。

library(ggplot2)

df <- data.frame(
  x = c(1, 2, 3), y = c(1, 2, 3), label = c("a", "b", "c")
)

ggplot(df, aes(x, y, label = label)) + geom_text()

我尝试设置theme 文本,但它似乎不影响geom_text 元素。

ggplot(df, aes(x, y, label = label)) + 
  geom_text() + 
  theme(text = element_text(size = 42))

我看到一些较早的帖子建议使用 base_size,但它似乎不再受支持。

【问题讨论】:

  • 我不认为这是可能的,有充分的理由(但也许我会更正):不同之处在于(1)主题元素的字体大小是固定的,可以全局更改通过例如themetheme_set(theme_grey(base_size = 42))(仍受支持),以及 (2) geom_text 中的 sizegeom_* 美学,可以动态映射到变量。虽然您可以在geom_text 中修复size,但您可以通过在geom_text 中设置size = 42 来查看映射的不同之处,从而提供与size = 42element_text 中的size = 42 不同的(更大的)字体大小。

标签: r ggplot2


【解决方案1】:

您可以在geom_text() 函数中使用它来控制大小。

library(ggplot2)


df <- data.frame(
  x = c(1, 2, 3), y = c(1, 2, 3), label = c("a", "b", "c")
)

# use 'size' in geom_text function
ggplot(df, aes(x, y, label = label)) + 
  geom_text(size = 10)

【讨论】:

  • 有时,您无权访问 geom_text。例如,使用 package factoextra。那有解决办法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-21
  • 2010-12-26
  • 2011-10-07
  • 1970-01-01
相关资源
最近更新 更多