私はRで2つのy軸を使って何年ものデータをプロットしようとしています。しかし、凡例を含めると、凡例が私のプロットを支配します。 keyword
やcex
のような別の場所で提案されている解決策を使用すると、別の投稿hereで提案されている解決策が読めなくなるか、大きすぎます。私は、コードを使用してプロットすると、私は第2のY軸、年 R Plotで凡例のサイズを小さくする方法はありますか?
df$diff <- abs(df$mean1 - df$mean2)
上の2つの手段の差をつけたい
#Create years
year.df <- seq(1974, 2014, 1)
# Create y-axis data
set.seed(75)
mean1 <- rnorm(length(year.df), 52.49, 0.87)
mean2 <- rnorm(length(year.df), 52.47, 0.96)
#Create dataframe
df <- data.frame(cbind(year.df, mean1, mean2))
:ここ
はランダムに生成されたデータと私の例であります以下の2つのy軸を作成します。par(mfrow=c(1,1), mar=c(5.1,4.1,4.1,5.1))
with(df, plot(year.df, mean1, type = "l", lwd=4, xlab="Year", ylab="Mean", ylim=c(48,58)))
with(df, lines(year.df, mean2, type = "l", col="green", lwd=4))
par(new=TRUE)
with(df, plot(year.df, diff, type="l", axes=FALSE, xlab=NA, ylab=NA, col="red", lty=5, ylim=c(0,10)))
axis(side = 4)
mtext(side = 4, line = 3, "Annual Difference")
legend("topleft",
legend=c("Calculated", "MST", "Diff"),
lty=c(1,1,5), col=c("black", "green", "red"))
私が取得: 私はlegend()
でcex=0.5
引数を使用すると
は明確な、読み取り可能に私の伝説をフォーマットする方法はありますか?私が持っているものよりも良い?
(a)プロットを保存する場合、テキストのサイズは保存するファイルのサイズによって異なります。 (b)他の 'cex'値を試しましたか? 'cex = 0.5'が小さすぎると、おそらく' cex = 0.65'が正しいでしょうか? (c)あなたの伝説はかなりのプロット空間を占めています。 'text()'で直接行にラベルを付け、y軸を55と7にして、データがプロット空間の多くを占めるようにする方がよいかもしれません。 – Gregor
私はあなたのプロットを再現することができません:私のプロットの凡例は、短い行と判読可能なテキストで左上隅にあります。しかし、サイドノート。あなたは 'cex'を使っていますが、' ctx'の代わりに、または 'ctx'に加えて' pt.cex'はもっと良いものを作っていますか? (つまり、 'cex'を1に近づけて、' pt.cex'を縮小します)。 – r2evans