2015-10-28 174 views
5

これは自分のggplotのコードです。凡例のタイトルを簡単に変更するにはどうすればよいですか? gg_group変数をmy_title <- c(rep("train",10), rep("validation", 10))に変更することができます。しかし、私は単にタイトルを "whatever I want"に変更して、変数を変更する必要はありません。ggplotの凡例のタイトルを変更する

library(ggplot2) 
y <- c(rnorm(10,1), rnorm(10,3)) 
x <- rep(seq(1,10,1),2) 
gg_group <- c(rep("train",10), rep("validation", 10)) 

gg_data <- data.frame(y=y, x=x, gg_group=gg_group) 

p <- ggplot(gg_data, aes(x=x, y=y, group=gg_group)) 
p + geom_line(aes(colour=gg_group)) 

は、私はまた、このコードを試してみました:

p + geom_line(aes(colour=gg_group)) + scale_shape_discrete(name="Dataset",labels=c("Train", "Validation"))

しかし、これは動作しません。 *編集、JaapとJasonAizkalnsからの素晴らしいスナックをチェックしてください。

+2

'scale_color_discrete' – Jaap

答えて

1

あなたggplotコードでshapeを使用していなかったので、それが機能していない理由がある:それは間の相違を検討しています。代わりにscale_color_discreteを次のように使用する必要があります。

scale_color_discrete("Dataset") 
5

@Jaapは正しいです。 scale_color_discreteを使用する場合は、凡例の名前を名前で変更することができ、labelsに引数を渡す必要はありません。colourで定義されている名前と見なされるためです。

p + geom_line(aes(colour = gg_group)) + 
    scale_color_discrete(name = "Dataset") 

p + geom_line(aes(colour = gg_group)) + 
    scale_color_discrete(name = "Dataset", 
         labels = c("New Label 01", "New Label 02")) 
関連する問題