如何使用ggplot向点添加数据标签?
我有一个称为"堆叠"的堆叠数据框:
> head(stacked)
time value variable
1 100 152.2211 gg
2 110 146.3304 gg
3 115 143.5831 gg
4 120 140.9527 gg
5 125 138.4297 gg
6 130 136.0057 gg
> tail(stacked)
time value variable
755 1975 56.02922 t
756 1980 56.14049 t
757 1985 56.25148 t
758 1990 56.36219 t
759 1995 56.47262 t
760 2000 56.58277 t
Run Code Online (Sandbox Code Playgroud)
现在假设我要显示数据标签,显示时间字段等于100的"值"字段.这是我的内容:
g<- ggplot(stacked, aes( x = time, y=value, colour=variable, group= variable) ) + geom_line() +
geom_text(data = stacked[stacked$time == 100,], aes(label = stacked$value))
print(g)
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Error: Aesthetics must either be length one, or the same length as the dataProblems:time, value, variable, variable
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢.
seb*_*opf 10
问题是,在你的aes(...)呼唤中geom_text你正在设置label = stacked$value.您已经指定了数据子集(data = stacked[stacked$time == 100,]),因此您需要在此处完成所有操作,aes(label = value)以便使用该value列.
我没有您的测试数据,但请看一下这个例子,我只在数据点上添加标签,速度是10的倍数.
ggplot(cars, aes(x = speed, y = dist)) +
geom_point() +
geom_text(data = subset(cars, speed %% 5 == 0), aes(label = dist))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12095 次 |
| 最近记录: |