【发布时间】:2018-11-23 08:46:57
【问题描述】:
我正在使用 R 中的 ggplot 中的 geom_label 绘制一些文本,但我不知道如何根据变量改变文本的大小。请注意,“大小”不是指文本的宽度,而是它的长度。考虑以下虚拟数据及其生成的图形:
x.cord <- c(4,5,1,6)
duration <- c(0.4, 0.7, 0.2, 0.3)
text <- c("know", "boy", "man", "gift")
df <- data.frame(cbind(x.cord, duration, text))
p <- ggplot(df, aes(x.cord, rownames(df), label = text))
p + geom_label(aes(fill=text))
在上面的图中,我可以绘制位于 x.cord(即 x 坐标)的文本,但我也希望文本的长度等于持续时间变量。
如果我使用size参数如下:
p + geom_label(aes(fill=text, size=duration))
我可以根据上图所示的持续时间变量来控制文本的“宽度”,但我似乎找不到任何可以帮助我控制文本框“长度”的参数.有什么建议我该怎么做?
【问题讨论】:
-
先尝试绘制宽度为
duration的条形图,然后在顶部添加第二层标签。 -
@EcologyTom:我不确定我是否理解。能否请您使用演示代码进行解释。