2012-08-15 45 views
1

添加对geom_line一键图例我有一个数据帧,其中,我在一个坝(水单元是kcfs-1000每秒-如果有人有兴趣立方英尺)从geom_area

谈论的水不同的流

说它df4plot

date   kcfs Flowtype 
    10/1/2010  50  Power 
    10/1/2010  10  Spill_Overgen 
    10/1/2010   8   Spill_Force 
    10/2/2010  52  Power 
    10/2/2010   7  Spill_Overgen 
    10/2/2010  10  Spill_Force  

(有数据帧3x365行)

所以我想要做的是使聚集的区域图,显示这些流动

p <- ggplot(data = df4plot, aes(date,kcfs)) + 
geom_area(aes(colour = Flowtype, fill=Flowtype), position = “stack”) 

我想控制中使用的颜色,所以我增加

plot_colors_aggregate <- c("forestgreen","lightsalmon","dodgerblue") 
p <- p + 
scale_color_manual(values = plot_colors_aggregate) + 
scale_fill_manual(values = plot_colors_aggregate) 

现在我要添加的虚线,表示功率的最大涡轮能力的流限制代 - 即按月份改变。我对此有一个单独的数据帧(365行长),df4FGline

Date FGlimit 
    10/1/2010 52 
    10/2/2010 52 
    … 
    11/1/2010 60 
    11/2/2010 60 
    ... 
    Etc 

所以现在我有

p <- p + 
geom_line(data = df4FGline, aes(x=date,y=FGlimit), colour = “darkblue”, linetype = “dashed”) 

p 

传说是当前只是用于三种流动型的三个街区。我想将流门限制的虚线添加到底部,但是我无法将其显示在那里。

这可能与我的AES的不完全理解(帮助(AES)是令人惊讶的是无用的)。

我试过类似于this和类似于this的东西,但是因为我只是想将1行添加到预先存在的图例中,可能是?,这对我来说不起作用。

我尝试在geom_line的圆括号内添加“legend = TRUE”,但它在图例中的每个颜色框内放置了一条虚线,并且为图例创建了第4个条目,但是偏离了图例的其余部分(下面和右边)... ARG!

我发誓,我有本子上顺序...您可以共享,所以任何帮助,我明白这种审美的东西,它与传说更好一点,我会非常感激。

编辑的错字

+2

这里有一个提示:如果你_map_美学(的'AES()'内部)ggplot会自动创建一个传说,但不如果你设定一个审美。 – joran 2012-08-15 22:33:52

+0

但是,我的geoms不是使用aes()做这个映射的东西吗?你能指点我到哪里我可以阅读_mapping_和_setting_之间的这种差异,我会很感激。 – user1156870 2012-08-15 23:29:39

+0

线型在geom_line中设置在aes()之外。 – joran 2012-08-16 01:02:24

回答

1

这应有助于:

df <- data.frame(x = 1:10,y = 1:10) 
ggplot(df,aes(x = x,y = y)) + 
    geom_line(aes(linetype = "dashed")) + 
    scale_linetype_manual(name = "Linetype",values = "dashed") 
+0

@ user156870就这么你知道,我没有把更多时间放在你的问题上的原因是你的示例代码不是非常可重复的。请注意,我上面的示例代码可以简单地复制+粘贴并在R会话中运行。与您的代码不同,这通常会使帮助变得更加困难。 – joran 2012-08-17 14:44:46