0

我正在创建一个并排显示两个箱形图的图表,并且我正在尝试缩放图中的文本,这给我带来了问题。我已经解决了问题,所以我想现在我只是想了解后台发生了什么。

数据可以在这里下载。(42 MB)

一个非常基本的情节:

ggplot(perdiffm, aes(variable, value)) + stat_boxplot(geom = 'errorbar') + geom_boxplot()

在此处输入图像描述

现在是一个带有适当标签和文本大小的图:

ggplot(perdiffm, aes(variable, value)) + stat_boxplot(geom = 'errorbar') + geom_boxplot() + scale_x_discrete(labels = c('% Difference A', '% Difference B')) + labs(title = "Percent difference between meters", y = '% Difference') + theme(text = element_text(size = rel(5)), axis.title.x = element_blank(), panel.grid.major.x = element_blank())

在此处输入图像描述

注意剧情标题!!我不明白为什么会这样,但这是我的解决方案:

ggplot(perdiffm, aes(variable, value)) + stat_boxplot(geom = 'errorbar') + geom_boxplot() + scale_x_discrete(labels = c('% Difference A', '% Difference B')) + labs(title = "Percent difference between meters", y = '% Difference') + theme(text = element_text(size = 20), axis.title.x = element_blank(), panel.grid.major.x = element_blank())

基本上只是更改text_element(size = rel(5))text_element(size = 20)(如 Roland 建议的那样)

在此处输入图像描述

所以我的问题是:为什么我必须明确编码标题的文本大小???为什么不适text = element_text(size = rel(5))用于标题?(我猜是两个问题,但他们几乎问同样的事情)

如果我做错了什么(很可能)以及将来如何避免它,请告诉我。

谢谢!

4

1 回答 1

1

根据文档plot.title继承自title哪个继承自text。所以这似乎是一个错误。

增加所有文本大小的规范方法是在主题中设置基本大小。这会保留所有元素的相对文本大小。

一个情节(无需下载与您的问题无关的大数据集):

p <- ggplot(mtcars, aes(factor(cyl), mpg))

p + 
  geom_boxplot() + 
  ggtitle("Boxplot")

在此处输入图像描述

增加基础尺寸:

p + 
  geom_boxplot() + 
  ggtitle("Boxplot") +
  theme_grey(base_size = 20) #default is 12

在此处输入图像描述

于 2013-07-26T08:00:22.883 回答