1

我正在ggplot2生成一些geom_line我已经从另一个data.frame不重要的地块生成的图。但它也包含与id以下数据框相同的值。

我有一个名为 df 的数据框:

id    X   Y     total
1   3214 6786   10000
2   4530 5470   10000
3   2567 7433   10000
4   1267 8733   10000
5   2456 7544   10000
6   6532 6532   10000
7   5642 4358   10000

我想要做的是创建custom legend为特定 id 呈现变量相同时每个for的百分比X和百分比。所以基本上对于每个eg( ,在图中绘制百分比)Ygeom_lineidgeom_lineid=1idgeom_line

我尝试使用geom_text,但问题是它在一行中打印所有内容,我看不到任何内容。

这怎么能做到?

编辑

olddf数据框是这样的:

id pos X Y Z
1
1.....
1
2
3
4
3 ......
.
.

这是我尝试过的代码

for(i in df$id)
{
test = subset(olddf, id==i)
mdata <- melt(test, id=c("pos","id"))
pl = ggplot() + geom_line(data=mdata, aes(x=pos, y=value, color=variable)) + geom_text(data=df, aes(x=6000, y=0.1, label=(X*total)/100), size=5)
}

在此处输入图像描述

4

1 回答 1

2

答案(如聊天中所讨论的)非常简单:

更改geom_text(data = df, ...)geom_text(data = df[df$id == i, ], ...)

于 2013-02-05T17:07:47.273 回答