R 在一个绘图中绘制两个数据帧时的图例

R 在一个绘图中绘制两个数据帧时的图例,r,plot,ggplot2,R,Plot,Ggplot2,我已经计划好了,完全按照我的意愿,包括传说。我现在把这些放在一个绘图中,以创建一个绘图(我没有足够的点链接到此图像)。我对此非常满意——除了传说。图例按字母顺序排序,这不是我的首选顺序(与颜色层从上到下的顺序相同)。我尝试了不同的方法手动设置图例,但到目前为止,我所发现的所有方法都适用于绘制单个数据帧,而不是像我这样绘制两个数据帧 似乎使用比例\颜色\手册不会影响这种类型的绘图,是否有其他方法可以做到这一点 下面是一个非常简单的工作示例,也给出了上述相同的行为 data1 = data.fram

我已经计划好了,完全按照我的意愿,包括传说。我现在把这些放在一个绘图中,以创建一个绘图(我没有足够的点链接到此图像)。我对此非常满意——除了传说。图例按字母顺序排序,这不是我的首选顺序(与颜色层从上到下的顺序相同)。我尝试了不同的方法手动设置图例,但到目前为止,我所发现的所有方法都适用于绘制单个数据帧,而不是像我这样绘制两个数据帧

似乎使用比例\颜色\手册不会影响这种类型的绘图,是否有其他方法可以做到这一点

下面是一个非常简单的工作示例,也给出了上述相同的行为

data1 = data.frame(x = seq(0,20), y =    c(1,4,-5,-9,-4,0,3,6,-4,3,-2,-5,8,2,1,6,7,-9,8,-4,0))
data2 = data.frame(x = seq(0,20), y = seq(0,20))

q = ggplot(NULL, aes(x = x, y = y))
q = q + geom_line(data = data1)
q = q + geom_line(data = data2)
谢谢, 简


谢谢你的答复,但我仍然没有得到我想要的图表。这里有一个到目前为止我所看到的最近的链接。对于该图,我使用了两个单独的数据框,因为我使用了不同的
geom_区域
geom_线
位置;对于我正在使用的绘图的积极部分:

geom_area(data = prod.data, position = "identity", alpha = 0.8)
geom_line(data = prod.data, position = "identity")
geom_area(data = cons.data, position = "stack", alpha = 0.8)
geom_line(data = cons.data, position = "stack")
对于我正在使用的绘图的负部分:

geom_area(data = prod.data, position = "identity", alpha = 0.8)
geom_line(data = prod.data, position = "identity")
geom_area(data = cons.data, position = "stack", alpha = 0.8)
geom_line(data = cons.data, position = "stack")
然而,正如在原始问题中所讨论的,我似乎无法控制传说的顺序。我尝试组合数据帧并设置因子的顺序,这里我使用:

geom_area(position = "stack", alpha = 0.8)
geom_line(position = "stack")
我可以控制图例顺序,但实际的情节不是我想要的。这是图表


我有量子力学倒叙:-)所以非常感谢任何进一步的帮助。

通常,
ggplot
在将数据合并到一个数据帧时效果最好。您提供的示例有点混乱——正如所写的那样,没有图例,也不清楚您希望图例是什么。我将采用的方法是组合数据帧:

data1$group <- 1
data2$group <- 2
data3 <- rbind(data1, data2)
data3$group  <- factor(data3$group)
q <- ggplot(data3, aes(x = x, y = y, group = group, color = group))
    + geom_line()

或者使用
reorder
和一个函数(如
sort()
,或者
rev(sort())
,如果您想要反向alpha顺序)。例如,如果要按
mean
max
y值对因子进行排序,也可以使用不同列的函数对
reorder
进行排序。

尝试设置
Reaction
列的级别,如
data$Reaction=factor(data$Reaction,levels=c(“c”,“a”,“B”,“D”),ordered=T)
其中
c,a,B,D
是图例中所需的顺序…顺便说一句,您显示的虚拟数据的此绘图不会生成任何图例。(+1)编辑得很好。我会删除我的。这是多余的。