R 在ggplot2中添加自定义图例

R 在ggplot2中添加自定义图例,r,ggplot2,R,Ggplot2,我正在使用ggplot2生成一些geom_line绘图,这些绘图是我已经从另一个数据生成的。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 56

我正在使用
ggplot2
生成一些
geom_line
绘图,这些绘图是我已经从另一个
数据生成的。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
我想做的是创建
自定义图例
,当
id
变量相同时,该图例为特定id显示
X
Y
geom\u行
上的百分比。因此,基本上对于每个
geom_线
,例如(
id=1
,在
geom_线
图中绘制该
id
的百分比)

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

如何做到这一点

编辑

olddf
dataframe是这样的:

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)
}
for(i在df$id中)
{
测试=子集(olddf,id==i)
mdata答案(如聊天中所述)非常简单:


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

您应该发布到目前为止遇到的geom_text问题的代码,并粘贴代码生成的图形,以使您的帖子更具信息性。(+1)感谢您的精彩更新。不过,您能否提供
olddf
的数据?我想给您一个答案,但我需要数据来处理。@Arun谢谢您,olddf数据框非常大,可以在这里显示……但基本上
id、pos、X、Y和Z
的值与df中的值类似,因此您可以创建具有相似值的随机
df
。两个问题:1)X,Y,Z
的范围是多少,因为您的绘图显示的值介于0和1之间,而
df
的值为数千。2)
Z
没有显示在
df
中。为什么在
olddf
中需要它?@Arun
X,Y
是从
1到5000
但是绘制的是(例如对于
X
X/Z)
Z
df中的总数相同