如何更改 direct.label 中的字体大小?
Posted
技术标签:
【中文标题】如何更改 direct.label 中的字体大小?【英文标题】:How to change fontsize in direct.label? 【发布时间】:2012-04-17 12:31:06 【问题描述】:我无法更改 direct.label(来自 directlabels 包)ggplot2 图中的字体大小。请参阅下面的可重现示例 - 将标签旋转 45 度,使其粗体、衬线和 50% 透明(下面代码末尾列表中的所有其他参数)没有问题 - 但我无法控制字体大小。 (我真的不希望他们 25 岁,这只是为了测试......)
是我遗漏了什么,还是这是一个错误?
library(ggplot2)
library(scales)
library(directlabels)
df <- data.frame(x = rnorm(26), y=rnorm(26), let=letters)
p <- ggplot(df, aes(x, y, color=let)) + geom_point()
direct.label(p,
list("top.points", rot=45, fontsize=25,
fontface="bold", fontfamily="serif", alpha=0.5))
【问题讨论】:
【参考方案1】:这是一种不同的路线,但你会考虑在 ggplot2 中完成所有这些吗?
ggplot(df, aes(x, y, color=let)) +
geom_point() +
geom_text(df, mapping=aes(x, y, label=let, colour=let),
size=5, vjust=-.55, hjust=.55, angle = 45, fontface="bold",
family ="serif", alpha=0.5) + opts(legend.position = "none")
这会给你这个,你可以使用size
调整字体大小
【讨论】:
谢谢,这个数据还不错,我可能会使用 +1,但我想要 direct.labels 功能,因此标签不会在彼此靠近的点上相互重叠(我的真实数据有更长的标签)。【参考方案2】:我想通了,你用cex
来改变字体大小。
df <- data.frame(x = rnorm(26), y=rnorm(26), let=letters)
p <- ggplot(df, aes(x, y, color=let)) + geom_point()
direct.label(p,
list("top.points", rot=45, cex=6,
fontface="bold", fontfamily="serif", alpha=0.5))
那会给你,
【讨论】:
以上是关于如何更改 direct.label 中的字体大小?的主要内容,如果未能解决你的问题,请参考以下文章