Улучшение качества сюжета с выбранным постскриптумом
Я до сих пор учусь Sweave
а также R
, У меня есть ниже пример кода, который читает в файле данных и строит его. Я выбираю 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}
Некоторые вещи, которые я хотел бы узнать больше об улучшении:
У меня есть коробочная рамка вокруг сюжета. Как контролировать ширину линии?
я использую
cex.axis=1.5
для размера аннотации оси. если я изменю это, чтобы сказатьcex.axis=3
затем значения на оси X становятся большими, и они пересекаются с отметками. Есть ли способ разместить значения по оси X немного ниже от графика?Y-метка
Hello
усечена в верхней частиH
Письмо в сюжете. Как это исправить?Как переместить либо X-метку
Wonderful
или у-меткаHello
дальше от участка?Если мы посмотрим на построенную кривую, оси не начинаются с (0,0), хотя начальные значения (0,0) для набора данных. Как управлять осями, чтобы они начинались с (0,0)?
Большое спасибо...
1 ответ
"У меня есть рамочная рамка вокруг сюжета. Как контролировать ширину линии?"
box(lwd=3)
"Я использую cex.axis=1.5 для размера аннотации оси. Если я изменю его на cex.axis=3, то значения на оси 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-label Wonderful или y-label 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 на рисунке ниже:
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).