我完全按照我的意愿制作了positive values和negative values,包括传奇。我现在将这些放在一个绘图中以创建单个绘图(我没有足够的点来链接到此图像)。我很满意这个 - 除了传说。图例按字母顺序排序,这不是我的首选顺序(与从上到下的颜色图层的顺序相同)。我尝试了不同的尝试手动设置图例的方法,但到目前为止我找到的所有方法都可以在绘制单个数据框时起作用,而不是像我一样。
似乎使用scale_colour_manual不会影响这种类型的情节,还有另一种方法吗?
下面是一个非常简单的工作示例,它也提供了与上述相同的行为。
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)
谢谢, 简
感谢您的回复,但我仍然没有得到我想要的图表。这是我到目前为止最近的一个链接positive and negative values - legend not as required。对于这个图,我使用了两个独立的数据框,因为我使用了不同的geom_area
和geom_line
位置;对于我正在使用的情节的积极部分:
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")
我可以控制传奇顺序,但实际的情节不是我想要的。这是图positive and negative values - graph not as required。
我正在进行量子力学闪回:-)所以我们非常感谢任何进一步的帮助。
答案 0 :(得分:1)
通常,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()
然后,您可以使用任何标准方式订购图例。不太自动,但通常优于普通图例,您可以使用新的data.frame
和geom_text
来手动标记每一行。
默认情况下,图例将按因子的顺序排序,因此要重新排序图例,您应该使用factor
手动订购因子
data3$group <- reorder(data3$group, levels = c(2, 1), ordered = TRUE)
或使用reorder
和函数(例如sort()
或rev(sort())
,如果您想要反向alpha顺序)。如果您想要按reorder
或mean
y值排序因子,也可以将max
与不同列的函数一起使用。