2017-09-20 11 views
0

グラフ上でggplot2を使っていくつかの線をグラフ化し、凡例をグラフに追加したい。私は多くのウェブサイトが表示され、人々がこのサイトで提案したのと同じ一般的な手順に従ったが、伝説だけは現れていないようだ!RStudio ggplot2グラフに伝説が表示されない

凡例をこのグラフに表示する方法を教えてもらえますか?

次は私がグラフを作り、凡例を追加しようとするために使用されるコードです:

e<-ggplot(dataset,aes(y=Index_SE)) 
e1<-e+geom_smooth(aes(x=Professionals),model=lm,colour="black",show.legend=TRUE) 
e2<-e1+geom_smooth(aes(x=Health_Social),model=lm,colour="blue",show.legend=TRUE) 
e3<-e2+geom_smooth(aes(Manufacturing),model=lm,colour="green",show.legend=TRUE) 
e4<-e3+geom_smooth(aes(Machniery_Operators),model=lm,colour="red",show.legend=TRUE) 
e5<-e4+ggtitle("Types of Employment vs Index of Socioeconomic Advantage and Disadvantage") 
e6<-e5+xlab("Profession Prevelance in LGA(%)")+ylab("Index of Socioeconomic Advantage and Disadvantage") 
final<-e6+theme(legend.position=c(35,850),legend.justification=c(35,850))+scale_colour_manual(name="Legend",values=c("Professionals"="black","Health and Social"="blue","Manufacturing"="green","Machinery Operators"="red")) 

Graph outputted from code

+0

最小限の例(stackoverflow.com/help/mcve)を作成する方法のガイドを読んで、理想的には 'dput'の出力を使って質問を編集してください。 あなたの問題は、あなたのデータがワイドフォームであることです。それは長い間形を変える必要があり、 'group ='引数を持つ 'geom_smooth'を1回だけ呼び出すことになります。あなたがあなたのデータを投稿できるなら、私たちはこれを手伝うことができます。このようにすると、凡例が自動的に生成されます –

答えて

0

コナーニールソンは長いフォームに広いから、あなたの形式を変換することは、あなたを得るでしょう、コメントしたよう1行にgeom_smoothという凡例があります。

しかし、何らかの理由で実際にワイドフォーマットを保持する必要がある場合は、hereの例にしたがって、凡例を手動で指定することができます。その色が内の各aes()コールすること、およびscale_colour_manualの値ベクトルの名前と一致する必要があります注意:

ggplot(dataset, aes(y = Index_SE)) + 
    geom_smooth(aes(x = Professionals, colour = "Professionals"), model=lm) + 
    geom_smooth(aes(x = Health_Social, colour = "Health and Social"), model=lm) + 
    geom_smooth(aes(x = Manufacturing, colour = "Manufacturing"), model=lm) + 
    geom_smooth(aes(x = Machniery_Operators, colour = "Machinery Operators"), model=lm) + 
    ggtitle("Types of Employment vs Index of Socioeconomic Advantage and Disadvantage") + 
    xlab("Profession Prevelance in LGA (%)") + 
    ylab("Index of Socioeconomic Advantage and Disadvantage") + 
    theme(legend.position = c(35, 850), 
     legend.justification = c(35, 850)) + 
    scale_colour_manual(name = "Legend", 
         values = c("Professionals" = "black", 
           "Health and Social" = "blue", 
           "Manufacturing" = "green", 
           "Machinery Operators" = "red")) 

デフォルトでは、伝説のようにそこに限り表示されますので、私もshow.legend = TRUEを削除しました美学にマッピングされています。

関連する問題