2017-07-12 27 views
-1

ggplotを使って2つの変数を持つグラフを作成しましたが、セカンダリのy軸を追加して、 ")。セカンダリ軸を追加するggplot - 2つの変数を持つ折れ線グラフ - 1つのデータフレーム

また、y軸の主軸の場合と同様に、2次y軸の範囲(上下限)とブレークを指定したいと思います。

私の2つの変数は "Sr"と "volt"です。

私は別のデータフレームを使用してグラフをマージしたくありません。

あなたはどのようにそれを行う方法を知っていますか? ああ、私は絶対初心者だと付け加えなければならない!

おかげで、 ペドロ

ggplot(data = k, aes(x = Dist)) + 
geom_line(aes(y = Sr), colour="blue") + 
geom_line(aes(y = volt), colour = "grey") + 
xlab(bquote('Distance-um')) + 
ylab(bquote('Sr87Sr86')) + 
geom_point(aes(y = Sr), colour="black", size=2) + 
geom_point(aes(y = volt), colour="grey", size=2) + 
theme(axis.title.x = element_text(colour="black",size=10,face="bold"), 
    axis.title.y = element_text(colour="black",size=10,face="bold"), 
    axis.text.x = element_text(colour="black",size=8, face="plain"), 
    axis.text.y = element_text(colour="black",size=8, face="plain")) + 
theme(panel.background = element_rect(fill = "white")) + 
theme(panel.grid.major = element_blank(), 
    panel.grid.minor = element_blank(), 
    strip.background = element_blank(), 
    panel.border = element_rect(colour = "black", fill="transparent")) + 
theme(plot.title = element_text(lineheight=.8, size=10, face="bold")) + 
geom_hline(aes(yintercept=0.7061), colour="black", linetype="dotted") + 
geom_hline(aes(yintercept=0.7078), colour="black", linetype="dotted") + 
geom_hline(aes(yintercept=0.70467), colour="black", linetype="dotted") + 
scale_x_continuous(limits=c(-0.01, 1000), breaks=c(0, 250, 500, 750, 1000))+ 
scale_y_continuous(limits=c(0.7039, 0.7101), breaks=c(0.7040, 0.7050, 
0.7060, 0.7070, 0.7080, 0.7090)) + 
theme(plot.margin = unit(c(.25,.25,.0,.0), "cm")) 
+1

[ggplot2:1つの変数の右側に2番目のy軸を作成する](https://stackoverflow.com/questions/44911768/ggplot2-create-右側の2番目のy軸) –

+0

申し訳ありませんが、以前の質問と回答を使って質問に答える方法がわかりませんでした。 –

+0

プロットを再現するためのデータはありますか?あなたのデータをコピーするには 'dput()'を使ってください。 [すばらしいRの再現可能な例を作る方法](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) –

答えて

0

まず、私はtwo axis is not the best ideaことに言及したいと思います。 それでも、2軸が必要な場合は、変数(この場合はvolt)の1つをスケールする必要があります。

Dist<-seq(1,10) 
Sr<-c(0.704, 0.705, 0.706, 0.707, 0.708, 0.704, 0.705, 0.706, 0.707, 0.708) 
volt<-c(3,5,10,8,12,4,11,3,14,22) 
k<-data.frame(Dist,Sr,volt) 
k$volt<-k$volt/10 

さて、データを固定するだけでmeltあなたの変数

library(reshape) 

k_melt<-melt(k,id="Dist") 

とプロット、プロットする事が容易になります。 sec_axisを使用すると、第2の軸を作成して、再び値

ggplot(k_melt, aes(x=Dist, y=value, fill=variable, colour=variable))+ 
geom_line(stat='identity', size=0.5)+ 
geom_point(stat='identity', size=2)+scale_color_manual(values=c("blue", "grey")) + 
scale_y_continuous("SR", sec.axis = sec_axis(~ . *10, name = "Volt"))` 

NOTEの大きさを変更することができます:あなたは、このコードにあなたのthemegeom_hlineを追加することができます。それらは私が作成したシミュレートされたデータに対しては機能しません

関連する問題