ggplot2中的文字大小;主题()的问题

时间:2016-07-25 05:53:07

标签: r plot ggplot2

我在ggplot2中使用theme()时遇到问题。

这是情节:

ggplot(data=graph.data, aes(Tree, Proportion)) 
+ geom_bar(stat="identity", fill="black") 
+ geom_errorbar(data=graph.data, mapping=aes(x=Tree, ymin=Proportion-SE, ymax=Proportion+SE), width=0.255) 
+ labs(title="Corrected mean LdNPV mortality", x="Tree line", y="Percent mortality") 
+ geom_text(aes(x=Tree, y=Proportion+SE+0.05, label=Letters)) 
+ theme(text=element_text(color="blue", size=12))

将颜色设置为蓝色适用于绘图标题和轴标题,但不适用于轴文本。此外,绘图标题的大小仍然大于轴标题的大小,该大小比轴文本大。将其增加到size = 20会增加绘图标题,轴标题和轴文本,但同样不会增加统一尺寸。有什么想法正在发生什么?

可重复的例子:

cities <- c("New York", "Tokyo", "London")
number <- c(20, 50, 35)
letter <- c("a", "b", "ab")
dummy.data <- data.frame(cities, number, letter)
ggplot(data=dummy.data, aes(cities, number)) +
  geom_bar(stat="identity", fill="black") +
  labs(title="Plot title", x="X axis title", y="Y axis title") +
  geom_text(aes(x=cities, y=number+5, label=letter)) + 
  theme(text=element_text(color="blue", size=12))

1 个答案:

答案 0 :(得分:1)

你可以从主题中单独指定所有这些,不知道它为什么不从主题标题继承颜色,也许你可以将它作为一个bug提交给Hadley?

我更喜欢单独设置事物的大小以及相对于基本绘图大小,例如,轴文本和标题将是常规文本大小的两倍。您可以选择其他乘数。您还可以查看?grid::unit

library(ggplot2)

cities <- c("New York", "Tokyo", "London")
number <- c(20, 50, 35)
letter <- c("a", "b", "ab")
dummy.data <- data.frame(cities, number, letter)
ggplot(data=dummy.data, aes(cities, number)) +
  geom_bar(stat="identity", fill="black") +
  labs(title="Plot title", x="X axis title", y="Y axis title") +
  geom_text(aes(x=cities, y=number+5, label=letter)) + 
  theme(axis.text = element_text(colour = "blue", size = rel(2)),
        title = element_text(color = "red", size = rel(2)))