我正在使用R包cooccur,无法弄清楚如何更改相关图形中的字体大小。 par()方法似乎不起作用。
以下是该软件包给出的示例:
data(finches)
cooccur.finches <- cooccur(mat=finches,
type="spp_site",
thresh=TRUE,
spp_names=TRUE)
plot(cooccur.finches)
我正在尝试更改物种的字体大小,标题和图例,但在生成的热图上无济于事。任何帮助将非常感激。谢谢!
答案 0 :(得分:1)
这是一个ggplot2情节而不是基础情节。所以par
将不起作用。
p <- plot(cooccur.finches)
p + theme(text = element_text(size = 10)) ## change text font size
或
p + theme_grey(base_size = 18) ## chnage all font size.
答案 1 :(得分:1)
不幸的是,作者没有在函数中使用已定义的主题,所以如果你不想搞乱其他自定义,这应该有效:
p <- plot(cooccur.finches)
p + theme_bw(base_size = 28) +
theme(axis.text = element_blank(),
axis.ticks = element_blank(),
plot.title = element_text(vjust = -4, face = "bold"),
panel.background = element_rect(fill = "white", colour = "white"),
panel.grid = element_blank()
legend.position = c(0.9, 0.5))
您也可以使用此代码单独设置图例或标题的大小,例如
p + theme(plot.title = element_text(vjust = -4, face = "bold", size = 36))
最不幸的是,这不会改变物种标签的大小,因为它们设置为geom_text()
。要改变它们,你必须自己破解这个功能cooccur:::plot.cooccur
。您只需要修改最后一行:
p + geom_text(data = dfids, aes(label = X1), hjust = 1, vjust = 0,
angle = -22.5)
# change to
p + geom_text(data = dfids, aes(label = X1), hjust = 1, vjust = 0,
angle = -22.5, size = 24)
答案 2 :(得分:0)
Cooccur的作者在这里。很抱歉,文字大小很难调整。当我有机会时,我会处理这个问题。
不是永久性的解决方案,但每次更改物种标签的功能都比在ggplot对象中直接重新分配值更容易:
p$layers[[2]]$geom_params$size <- 10
希望有所帮助。我可能会有点迟到......