【问题标题】:Graphic not appearing in R: null device?图形未出现在 R:空设备中?
【发布时间】:2015-05-05 00:38:10
【问题描述】:

我正在尝试使用我的数据框 dagg 使用 rworldmap 生成图形。 预计到达时间:data。 这是我目前所拥有的。

library(rworldmap)
data(dagg)
sPDF <- joinCountryData2Map(dagg, joinCode='ISO2',
nameJoinColumn='country', verbose='TRUE')

mapDevice()

mapCountryData(sPDF, nameColumnToPlot='avoidance', 
numCats=10, mapTitle="Avoidance", addLegend=TRUE)
dev.off()

但是当我跑步时,什么也没有出现。控制台显示“空设备 1”。它刚刚工作,我不确定是什么可以改变它......

也许我没有使用正确的device

ETA:Here's 我正在阅读的 rworldmap 上的概要。

【问题讨论】:

    标签: r graphics device rworldmap


    【解决方案1】:

    dev.off() 关闭当前活动的图形设备,因此如果您同时运行所有这些代码,地图将被绘制然后几乎立即消失,并带有典型输出:

    ## null device 
    ##           1 
    

    运行以下(不包括dev.off())应该会生成您期望的地图。

    library(rworldmap)
    dagg <- read.csv(
      'http://raw.githubusercontent.com/pourque/country-data/master/data/dagg.csv')
    sPDF <- joinCountryData2Map(dagg, joinCode='ISO2',
                                nameJoinColumn='country', verbose='TRUE')
    
    mapDevice()   
    mapCountryData(sPDF, nameColumnToPlot='avoidance', 
                   numCats=10, mapTitle="Avoidance", addLegend=TRUE)
    

    【讨论】:

    • 谢谢!因此,如果我希望地图保留在我的最终编译输出上,我应该完全省略 dev.off() 吗?还是应该在绘制完所有地图后清除设备?
    • @Anshu:怎么编译的?在 knitr 文档中?当您将绘图写入 png/tiff/etc 时,通常只需要使用 dev.off()。文件,在这种情况下,dev.off() 指示 R 停止向该文件发送绘图命令并关闭连接。
    猜你喜欢
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    • 2017-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多