【问题标题】:How to change fontsize in direct.label?如何更改 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))

【问题讨论】:

    标签: r ggplot2 font-size


    【解决方案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))
    

    那会给你,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-17
      • 2016-09-01
      • 2011-11-03
      • 2010-12-13
      • 2013-08-03
      • 2013-09-28
      • 2012-07-22
      • 1970-01-01
      相关资源
      最近更新 更多