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
中需要它?@ArunX,Y
是从1到5000
但是绘制的是(例如对于X
:X/Z)
Z
与df中的总数相同