1

ダムでのさまざまな水の流れについて話しているデータ フレームがあります (水の単位は kcfs (1 秒あたり 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

凡例は現在、3 つのタイプの Flowtype の 3 つのブロックのみです。フロー ゲート リミットの破線を下部に追加したいのですが、そこに表示されません。

おそらく、私の aes の理解が不十分であることに関連しています (help(aes) は驚くほど役に立ちません)。

これに似たものとこれに似たものを試しましが、既存の凡例に1行だけ追加しようとしているので、多分?、これはうまくいきません。

geom_line の括弧内に「legend = TRUE」を追加しようとしましたが、凡例の各カラー ボックス内に破線を配置し、凡例の 4 番目のエントリを作成しましたが、凡例の残りの部分からオフセットしました (以下と右)...ARG!

私は本を​​注文していることを誓います... この美学とそれが伝説とどのように関係しているかを理解するために、あなたが共有できる助けがあれば、私は非常に感謝しています.

タイプミスのため編集

4

1 に答える 1

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")
于 2012-08-17T14:43:51.080 に答える