0

私はggplotを使って図を作成しています。この図には、表示したいが強調したくない 27 本の線と、強調したい平均と加重平均の 2 本の線があります。この最後の 2 行だけをプロットの凡例に表示したいと思います。これが私のコードです:

p_plot <- ggplot(data = dta, aes(x = date, y = premium, colour = State)) + 
          geom_line(, show_guide=FALSE)  + 
          scale_color_manual(values=c(rep("gray60", 27))) 

p_plot <- p_plot + geom_line(aes(y = premium.m), colour = "blue", size = 1.25, 
          show_guide=TRUE) + geom_line(aes(y = premium.m.w), colour = "red", 
          size = 1.25, show_guide=c(TRUE)) + ylab("Pe/pg") 

p_plot

最初のshow_guide = FALSEステートメントはgeom_line、他のステートメントによって上書きされるようshow_guide=TRUEです。図の凡例のエントリ数を "premium.m" と "premium.mw" の行に制限するにはどうすればよいですか? ありがとうございました。

4

1 に答える 1

1

これはあなたの質問に答えるはずだと思います:(コードは少し変更されていますが、概念は同じです)

dta <- data.frame(date    = rep(seq.Date(as.Date("2010-01-01"), as.Date("2010-12-01"), "months"), 26),
                  premium = rnorm(12*26),
                  State   = rep(letters, each = 12))

library(ggplot2)


p_plot <- ggplot(data = dta) + 
  geom_line(aes(x = date, y = premium, group = State), colour = "grey60")

p_plot + geom_line(aes(x = unique(date), y = as.numeric(tapply(premium, date, mean)), colour = "mean"),
                   size = 1.25) +
  geom_line(aes(x = unique(date), y = as.numeric(tapply(premium, date, median)), colour = "median"),
            size = 1.25) + ylab("Pe/pg") +  scale_color_discrete("stats")

p_plot

ここに画像の説明を入力

ただし、これは単なる (醜い) 回避策であり、データ視覚化のベスト プラクティスとはほど遠いものです (特に ggplot が実装されている目的では)。とにかく、質問を編集して詳細を追加すれば、よりエレガントなソリューションを提供できます。

于 2013-04-22T21:44:01.753 に答える