1. ホーム
  2. r

[解決済み] Rでプロットの外側に凡例をプロットする

2022-02-14 12:44:44

質問

凡例をプロットの外側に配置するために xpd=TRUE が、凡例はプロット内にプロットされ続けています。どうしたら直せますか?

x = c(0,0,1,1,1)
y = c(0.4991,1.1423,1.2258,1.158,0.5148)
dat<-cbind(x,y)
point_shape = c(10,15,10,15,1)
dat<-data.frame(x,y,point_shape)

myTicks<-c(0,1)
plot(dat[,1],dat[,2], yaxt="n", xaxt="n", xlab="", ylab="",pch = dat$point_shape)
abline(0.4991,0.7267)
abline(1.1423,0.0157)
abline(0.4991,0.0157,lty=2)
axis(side = 1, at = myTicks)
axis(side = 2, at = myTicks)


legend("bottomleft", legend = c("apple", "orange", "tree"),
       bty = "n", xpd=FALSE, mar(c(7,7,7,7)), cex = 1, pch = c(10, 15, 1))

解決方法は?

のヘルプをご覧ください。 legend :

x に1つのキーワードを設定することで、場所を指定することもできます。 のリストから、 "bottomright", "bottom", "bottomleft", "left" を選択します。 "topleft", "top", "toppright", "right" および "center" の中から選択します。これにより 凡例は、プロットフレームの内側の指定された場所にあります。

ですから、手動で座標を与えることによって、プロット領域の外側に凡例を配置することができます。

legend(-0.2, 0.3, legend = c("apple", "orange", "tree"),
       bty = "n", xpd=TRUE, mar=c(7,7,7,7), cex = 1, pch = c(10, 15, 1))