如何更改 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 中的字体大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 JWPlayer 中的字幕/标题字体大小?

如何更改 UIPickerView 中的字体大小? [复制]

如何更改 ttk.Button 中的字体大小?

如何更改数据表中的导出 PDF 字体大小?

如何更改 UIPickerView 中的字体大小?

如何更改 jqGrid 中的字体大小?