为什么我的情节没有写入磁盘?

时间:2016-01-19 12:56:30

标签: r

为什么我的情节没有被写入磁盘?我根据this description保存我的情节,但它无效。每个图只是一个白色图像。为什么会这样?

这是我正在使用的完整脚本;

library(rAltmetric)
library(aRxiv)

print('Load DOIs ..')

doi_list <- list()

categ <- c(AP = 'cat:stat.AP',
           CO = "cat:stat.CO", # I'm naming these elements so
           ME = "cat:stat.ME", # that the corresponding elements
           TH = "cat:stat.TH", # in the list are named as well.
           ML = "cat:stat.ML") # Could also just set 'names(doi_list)' to 'categ'.

doi_list <- 
  lapply(categ, function(ctg)
    (doi <- arxiv_search(ctg)$doi)[nchar(doi) > 0])

print('Showing altmetrics ..')

num = 0

for(category in doi_list) {

  for(mydoi in category) {
    print(paste('Searching DOI:', mydoi))

    #acuna <- altmetrics(doi=mydoi)
    acuna <- altmetrics(doi="10.1038/489201a")

    if(is.null(acuna)) {
      next
    }

    print(acuna)

    acuna_data <- altmetric_data(acuna)
    jpeg(filename=paste(num, ".jpg", sep=""))
    plot(acuna, main=paste(num, ".jpg", sep=""))
    dev.off()
    num <- num + 1
  }
}

print('All done.')

1 个答案:

答案 0 :(得分:0)

我很确定这是R FAQ 7.22

  

7.22为什么格子/格子图形不起作用?

最可能的原因是你忘了告诉R显示图表。格子函数如xyplot()创建图形对象,但不显示它(ggplot2图形和S-PLUS中的Trellis图形也是如此)。图形对象的print()方法生成实际显示。在命令行以交互方式使用这些函数时,结果会自动打印,但在source()或您自己的函数内部,您将需要一个明确的print()语句。

使用

print(plot(acuna, main=paste(num, ".jpg", sep="")))