Rのggplotで両対数プロット 軸の目盛文字の大きさ 、10のべき乗の軸数字表示などのまとめ

以下の方法が楽かも

q<-qplot((vs+vf)/2,sd2009_2010)+scale_x_log10(labels=trans_format("log10",math_format(10^.x)))+scale_y_log10(labels=trans_format("log10",math_format(10^.x)))+theme_bw(base_size=27)
q<-q+xlab("Counts 2009")+ylab("S.D of ratio between 2010 and 2009")
#d<-data.frame(x=exp(seq(log(1),log(10^7),length.out=300)))
q<-q+geom_line(data=data.frame(x=exp(seq(log(1),log(10^7),length.out=300) )),aes(x,x^-0.3),colour=2,linetype=2,size=I(2))
print(q)

追記2017.05.26 軸の定義域、範囲を指定 ylim xlim

    scale_y_log10(limits = c(1,1e8))

https://stackoverflow.com/questions/9231885/how-can-i-set-axis-ranges-in-ggplot2-when-using-a-log-scale

追記2017.12.05 軸の定義域、範囲を指定(線形) ylim xlim

    xlim(c(1,100))

ポイント
参考:
http://d.hatena.ne.jp/triadsou/20100528/1275042816
http://docs.ggplot2.org/0.9.2.1/theme.html

  • x軸の横の文字の大きさの調整

theme(axis.title.x = element_text(size=25))

  • x軸の横の数字の大きさの調整

theme(axis.text.x = element_text(size=25))

ylab=expression("Standard Deviation "~sqrt("V["~F[j]~"]")) )

もしくは

ylab(expression("Standard Deviation "~sqrt("V["~F[j]~"]")) ))

  • 軸の横の数字の10のべき乗の表示

scale_y_log10(labels=trans_format("log10",math_format(10^.x)))

  • 背景を白く

theme_bw(base_size=26)

など

例:

q0<-qplot(mean1_r,sd1_r,size=I(1),log="xy",xlab=expression("Mean E["~F[j]~"]"),ylab=expression(paste("Standard Deviation  ",sqrt("V["~F[j]~"]")) ))
q0<-q0+theme_bw(base_size=26)
#q0<-q0 + scale_x_continuous(trans = log10_trans(), breaks = trans_breaks("log10", function(x) 10^x),labels = trans_format("log10", math_format(10^.x)))
#q0<-q0 + scale_y_continuous(trans = log10_trans(), breaks = trans_breaks("log10", function(x) 10^x),labels = trans_format("log10", math_format(10^.x)))
#q0<-q0 + scale_x_log10(trans = log10_trans(), breaks = trans_breaks("log10", function(x) 10^x),labels = trans_format("log10", math_format(10^.x)))
#q0<-q0 + scale_y_log10(trans = log10_trans(), breaks = trans_breaks("log10", function(x) 10^x),labels = trans_format("log10", math_format(10^.x)))
q0<-q0 + scale_x_log10(labels=trans_format("log10",math_format(10^.x)))
q0<-q0 + scale_y_log10(labels=trans_format("log10",math_format(10^.x)))


q0= q0 + theme(axis.title.x = element_text(size=25),axis.title.y = element_text(size=25),axis.text.x = element_text(size=30),axis.text.y = element_text(size=30)) 

#q0= q0 + theme(axis.title.x = element_text(size=40),axis.title.y = element_text(size=20),legend.title = element_text(size=15),legend.text = element_text(size=15)) 

q0<-q0+geom_line(d=data.frame(x=exp(seq(log(10^-3.5),log(10^6),length.out=300))),aes(x=x,y=sqrt(x+(var(medi1)+mean(medi1^2)*delta_1^2)*x^2)),colour=2,size=2,linetype=2)
q0<-q0+geom_text(aes(x=10^(-3.0),y=10^5),label="(a)",size=14)


#q0<-q0+coord_trans(xtrans="log10", ytrans="log10")
print(q0)