【发布时间】:2012-08-15 22:24:48
【问题描述】:
我有一个数据框,我在其中讨论大坝的不同水流(水单位为 kcfs——每秒 1000 立方英尺——如果有人感兴趣的话)
称之为 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
图例目前只是三种Flowtype的三个块。我想将流门限制的虚线添加到底部,但我无法让它显示在那里。
这可能与我对 aes 的不完全理解有关(help(aes) 非常无用)。
我尝试过类似于this 和类似于this 的东西,但由于我只是想在预先存在的图例中添加 1 行,可能吗?这对我不起作用。
我尝试在 geom_line 的括号内添加“legend = TRUE”,但它在图例的每个颜色框内放置了一条虚线,并为图例创建了第 4 个条目,但与图例的其余部分偏移(下方和右侧)... ARG!
我发誓我已经订购了这本书...您可以分享任何帮助,以便我更好地理解这个美学以及它与传奇的关系,我将非常感激。
编辑错别字
【问题讨论】:
-
这里有一个提示:如果你 map 一个美学(在
aes()内部),ggplot 会自动创建一个图例,但如果你 set 则不会审美。 -
但是我的两个geom不是都在做这个映射的事情,使用aes()吗?你能指出我能读到 mapping 和 setting 之间差异的任何地方吗?我将不胜感激。
-
Linetype 设置在 geom_line 中的 aes() 之外。
-
非常感谢您在这方面的帮助,非常感谢。所以 set 在 aes() 之外但在 geom_line(); map 在 aes() 内部。当我将“linetype = 'dashed'”移动到 aes() 中时——当我 map 它时——我的线不再是虚线,但现在我有了一个图例条目。如果我在两个位置都有 linetype = "dashed",它会回到我的第一个版本,没有图例条目。有没有办法让 both 图例条目 和 虚线?