首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:使用-loop和png绘制4x4图,为什么会得到1x1图而不是4x4图?

R:使用-loop和png绘制4x4图,为什么会得到1x1图而不是4x4图?
EN

Stack Overflow用户
提问于 2011-12-02 14:27:58
回答 1查看 1.1K关注 0票数 0

当我在命令行上尝试4x4绘图时,我可以让它工作,但不能在下面的代码中使用-loop和png元素。我很沮丧到底是什么问题,我已经试着理解这几个小时了,不能前进。

在将以下代码复制到paper.Rnw -file之后,只需使用$ R CMD Sweave paper.Rnw$ pdflatex paper.tex$ evince paper.pdf --您将得到一个1x1的图,而不是4x4的图。为什么?

代码语言:javascript
复制
$ mkdir Pictures
$ mkdir Data
$ cd Data
$ wget https://noppa.aalto.fi/noppa/kurssi/mat-2.3128/harjoitustyot/Mat-2_3128_data_2.xls
$ cd ..
$ cat paper.Rnw

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{graphicx}

\begin{document}

<<echo=FALSE>>=
library(gdata)
f<-read.xls('./Data/Mat-2_3128_data_2.xls')


for(i in 1:ncol(f))
{
    png(paste('./Pictures/CO',i,'.png',sep =''))
    par(mfrow=c(2,2))
    plot(pacf(na.omit(f[,i])), main=paste('Pacf', i))
    plot(acf(na.omit(f[,i])), main=paste('Acf', i))
    plot(na.omit(f[,i]), main=paste('Data', i), type='l')
}
@

\subsection{Time-serie C1}
\includegraphics{./Pictures/CO1.png}
\subsection{Time-serie C2}
\includegraphics{./Pictures/CO2.png}
\subsection{Time-serie C3}
\includegraphics{./Pictures/CO3.png}
\subsection{Time-serie C4}
\includegraphics{./Pictures/CO4.png}
\subsection{Time-serie C5}
\includegraphics{./Pictures/CO5.png}

\end{document}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-02 14:44:26

函数acfpacf有一个参数plot,该参数默认为TRUE。因此,不需要使用plot语句(否则,您将获得两个用于acf的绘图和两个用于pacf的绘图)。注意,我还添加了一条dev.off()语句。

这应该是可行的:

代码语言:javascript
复制
for(i in 1:ncol(f))
{
    png(paste('./Pictures/CO',i,'.png',sep =''))
    par(mfrow=c(2,2))
    pacf(na.omit(f[,i]), main=paste('Pacf', i))
    acf(na.omit(f[,i]), main=paste('Acf', i))
    plot(na.omit(f[,i]), main=paste('Data', i), type='l')
    dev.off()
}
@
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8352557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档