如何在R的ggplot2中將圖例顯示在頂部?


為了在R的ggplot2中將圖例顯示在頂部,我們可以使用theme函式和legend.justification引數設定為頂部。

例如,如果我們有一個名為df的資料框,其中包含三列,例如X、Y和F,其中X和Y是數值型,F是類別型,那麼我們可以使用下面給出的命令建立X和Y之間的散點圖,並根據F中的值對點進行著色:

ggplot(df,aes(X,Y))+geom_point(aes(colour=factor(F)))+theme(legend.justification="top")

示例

以下程式碼片段建立了一個示例資料框:

x<-rnorm(20)
y<-rnorm(20)
Grp<-sample(LETTERS[1:3],20,replace=TRUE)
df<-data.frame(x,y,Grp)
df

建立了以下資料框:

           x             y  Grp
 1 -1.066129589  0.828709138 C
 2 -1.222825364 -0.306424935 C
 3  0.429354500 -1.446665340 B
 4 -0.609955977 -0.288351976 A
 5  1.200129675  0.716336213 C
 6  0.800850596 -1.095220235 C
 7  0.517368694  1.561305370 C
 8 -0.006456066 -0.002988512 B
 9  0.555280469 -1.241763197 C
10 -2.043538292 -1.734706075 C
11 -1.151771052 -0.878394321 B
12  0.845068460 -1.139618835 C
13  2.071684310  0.825474682 B
14 -0.250229200 -0.120597321 B
15 -1.280790787 -0.461785183 A
16 -0.028062183 -0.154095381 B
17 -0.620917924  0.398107075 A
18  0.302128850  0.497374731 C
19  0.719935519 -1.230463223 A
20 -0.862276767  0.518153886 A

要在上面建立的資料框上建立基於Grp值著色的x和y之間的散點圖,請將以下程式碼新增到上面的程式碼片段中:

x<-rnorm(20)
y<-rnorm(20)
Grp<-sample(LETTERS[1:3],20,replace=TRUE)
df<-data.frame(x,y,Grp)
library(ggplot2)
ggplot(df,aes(x,y))+geom_point(aes(colour=factor(Grp)))

輸出

如果您將上面給出的所有程式碼片段作為一個程式執行,它將生成以下輸出:

要在上面建立的資料框上建立基於Grp值著色的x和y之間的散點圖,並在頂部顯示圖例,請將以下程式碼新增到上面的程式碼片段中:

x<-rnorm(20)
y<-rnorm(20)
Grp<-sample(LETTERS[1:3],20,replace=TRUE)
df<-data.frame(x,y,Grp)
library(ggplot2)
ggplot(df,aes(x,y))+geom_point(aes(colour=factor(Grp)))+theme(legend.justification="top")

輸出

如果您將上面給出的所有程式碼片段作為一個程式執行,它將生成以下輸出:

更新於:2021年11月9日

瀏覽量:121

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.