2016-08-24 276 views
2

私はRで2つのy軸を使って何年ものデータをプロットしようとしています。しかし、凡例を含めると、凡例が私のプロットを支配します。 keywordcexのような別の場所で提案されている解決策を使用すると、別の投稿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引数を使用すると

、それが読めなくなり始める: enter image description here

は明確な、読み取り可能に私の伝説をフォーマットする方法はありますか?私が持っているものよりも良い?

+0

(a)プロットを保存する場合、テキストのサイズは保存するファイルのサイズによって異なります。 (b)他の 'cex'値を試しましたか? 'cex = 0.5'が小さすぎると、おそらく' cex = 0.65'が正しいでしょうか? (c)あなたの伝説はかなりのプロット空間を占めています。 'text()'で直接行にラベルを付け、y軸を55と7にして、データがプロット空間の多くを占めるようにする方がよいかもしれません。 – Gregor

+0

私はあなたのプロットを再現することができません:私のプロットの凡例は、短い行と判読可能なテキストで左上隅にあります。しかし、サイドノート。あなたは 'cex'を使っていますが、' ctx'の代わりに、または 'ctx'に加えて' pt.cex'はもっと良いものを作っていますか? (つまり、 'cex'を1に近づけて、' pt.cex'を縮小します)。 – r2evans

答えて

1

明らかに、私はトラブルシューティングの最初のステップを忘れていました。私は今朝起きてスクリプトをやり直した。 cex = 0.5でさえ、それはうまくなりました。私はcex = 0.75を使いました。私はまだそれがなぜそうであるかの助けに感謝します。私の凡例を修正しようと昨日、多くの時間を過ごし、同じコードは、本製品(cex=0.75)を動作し、受け取ります enter image description here

1

伝説の白いスペースは手動であなたのプロットウィンドウを拡大していることを私に伝えます。マニュアルのサイズ変更については、伝説のスケールはうまくいかない。

解決策は、プロットする前に必要な正確なサイズのプロットを開きます。 Windowsでは、これはwindows(width=10, height=8)で行われます。単位はインチです。 以下に見られるように、凡例は隅にしっかりと座っています。 enter image description here

関連する問題