2017-11-08 13 views
1

これはcairoDeviceパッケージのバグです。私はこのパッケージを使用して、美しい目的のためにアンチエイリアスプロットを生成しています。cairoDeviceはforループで使用すると黒い画像を生成します

forループとして実行するときに簡略化されたコードが機能しない次

for (j in 1:4) { 

    Cairo(
    width = 12, 
    height = 4, 
    file = paste0("Test", j, ".png"), 
    surface = "png" 
) 

    qplot(1:j) 

    dev.off() 
} 

上記のコードの結果は、12x4の寸法を有する4枚の真っ黒.pngの画像です。

しかし、単にループの内容を選択するだけで動作します。うまく動作します(コンソールでjを1ずつ増やして手動で反復する必要があります)。

Cairo()は単にforループを好まないようです。 Sys.sleep(2)を使ってカイロを実行する余分な時間を与えようとしましたが、動作しません。

答えて

0

なぜ動作しないのかわかりませんが、なぜカイロを使ってpngファイルを作成するのですか? Rには既にpng()のデバイスがあります。

+0

こんにちは。私が理解するように、カイロは審美的に満足なプロットを生成するアンチエイリアシングを提供しています。また、これはWindows R上ではまだネイティブではないことも理解しています。私は理解していますか? –

関連する問題