0

私はまだ学んSweaveRいます。以下に、データファイルを読み込んでプロットするサンプルコードを示します。私はファイルpostscriptで終わるのが好きなので、オプションを選択していEPSます。プロットで改善したいことがいくつかあります。これが私自身の学習のための私自身のコメントを含む私のコードです:

\documentclass[a4paper,12pt]{article}
\usepackage{Sweave}  %%%%%%
\SweaveOpts{eps=TRUE}

\begin{document}

<<echo=FALSE, results=hide>>=
test.frame<-data.frame(ratio= c(0.0, 144.321, 159.407, 178.413, 202.557), value= c(0, 0.84, 0.8925, 0.945, 0.9975))
@


<<echo=FALSE,results=hide,eval=TRUE>>=
postscript('doudou.eps',
               width=7, height=6,
               colormodel="cmyk",
               family = "ComputerModern",
               horizontal = FALSE,
               onefile=FALSE,
               paper = "special",
               encoding = "TeXtext.enc",
               pagecentre=FALSE)

with(test.frame,plot(ratio, value, ylab= "Hello",
                                   xlab="Wonderful",
                                   type="o",        # line and markers
                                   bty="o",         # box around graph
                                   lty="solid",     # solid line or put 1
                                   lwd=3,            # line width
                                   pch=1,            # or enclose symbol in quotes
                                   cex=3,             # size of markers
                                   cex.lab=2,        # label size
                                   cex.axis=1.5,    # axis annot size problem if big
                                   cex.main=2,          # main title size
                                   xaxp=c(0, 200, 4),  #c(x1, x2, n)
                                   col=2,              # plotting color
                                   xlim=c(0,200),
                                   yaxt = "n",         #suppresses axis
                                   main=" My curve"))

axis(2,seq(0,1, by=0.5), las=2,cex=3,cex.lab=2,cex.axis=1.5,cex.main=2)

dev.off()
@

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=0.8\textwidth]{doudou.eps}
\end{center}
\end{figure}


\end{document}

改善についてもっと知りたいことがいくつかあります。

  1. プロットの周りにボックスフレームがあります。その線幅を制御する方法は?

  2. cex.axis=1.5軸注釈サイズに使用しています。言うように変更するとcex.axis=3、x軸の値が大きくなり、目盛りと重なります。次に、x軸の値をプロットから少し低くする方法はありますか?

  3. yラベルは、プロットの文字Helloの上部で切り捨てられます。Hこれを修正する方法は?

  4. WonderfulxラベルまたはyラベルHelloをプロットから遠ざけるにはどうすればよいですか?

  5. プロットされた曲線を見ると、データセットの初期値は(0,0)ですが、軸は(0,0)から始まりません。(0,0)から始まるように軸を制御するにはどうすればよいですか?

どうもありがとう...

4

1 に答える 1

4

「プロットの周りにボックス フレームがあります。その線幅を制御するにはどうすればよいですか?」

 box(lwd=3)

「軸の注釈サイズに cex.axis=1.5 を使用しています。 cex.axis=3 に変更すると、x 軸の値が大きくなり、目盛りと重なります。その方法はありますか? x 軸の値を、プロットから少し離れた位置に配置しますか?」

par(mgp=c(3,1.5,0) )  # second element is number of lines below the box for the labels

「y ラベルの Hello が、プロットの H 文字の上部で切り捨てられています。これを修正するにはどうすればよいですか?」

# use par() to increase left margins

「x ラベル Wonderful または y ラベル Hello をプロットから遠ざけるにはどうすればよいですか?」

par( mgp=c(4,1.5,0) ) # First element in mgp vector

「プロットされた曲線を見ると、データセットの初期値は (0,0) ですが、軸は (0,0) から始まりません。軸が (0,0) から始まるように制御する方法」 ?」

 ..., xaxs="i", yaxs="i", ... # can be done in `par` or in the plot call

したがって、図の R コードは次のとおりです。 したがって、図の R コードは次のとおりです。

postscript('doudou.eps',
               width=7, height=6,
               colormodel="cmyk",
               family = "ComputerModern",
               horizontal = FALSE,
               onefile=FALSE,
               paper = "special",
               encoding = "TeXtext.enc",
               pagecentre=FALSE)
par( mgp=c(4,1.5,0), mai=c(1.5, 1.5, 1.5, .75) )  # using inches as the spacing unit
with(test.frame, plot(ratio, value, ylab= "Hello", 
                            xaxs="i", yaxs="i",
                                   xlab="Wonderful",
                                   type="o",        # line and markers
                                   bty="o",         # box around graph
                                   lty="solid",     # solid line or put 1
                                   lwd=3,            # line width
                                   pch=1,            # or enclose symbol in quotes
                                   cex=3,             # size of markers
                                   cex.lab=2,        # label size
                                   cex.axis=3,    # axis annot size problem if big
                                   cex.main=2,          # main title size
                                   xaxp=c(0, 200, 4),  #c(x1, x2, n)
                                   col=2,              # plotting color
                                   xlim=c(0,200),
                                   yaxt = "n",         #suppresses axis
                                   main=" My curve"))

axis(2,seq(0,1, by=0.5), las=2,cex=3,cex.lab=2,cex.axis=1.4, cex.main=2)
box(lwd=3)
dev.off()

きれいではありませんが、制御機能を示しています。基本的に、ヘルプ (par) ページにより多くの時間を費やす必要があります。

于 2011-12-03T21:28:31.753 に答える