2013-05-09 8 views
6

私はggplot2ライブラリを更新しましたが、ggsaveを呼び出した後グラフィックスデバイスがプロットを表示しなくなるという問題が発生しました。私は必要に応じてプロットをエクスポートできないという意味で問題を解決できません。助けてください。ggplot2 ggsave関数はグラフィックスデバイスにプロットを表示させません

ウェブを検索すると、dpiのミスマッチに問題があることが明らかになりましたが、dpiを設定または変更することは効果がないようです。この問題は、ggplot2ライブラリの更新後に始まったようです。

次のコードは、問題を再現:実行後

library(ggplot2); 
df <- read.table(textConnection('value,value1 
1,1 
2,2 
3,3 '),header=TRUE,sep=','); 

ggplot(df,aes(x=value,y=value1)) + geom_point(); 

setwd('c:/temp'); 
ggsave('test.png'); 

を、出力が空白でなく、グラフィックス・デバイスは、もは​​やプロットを表示します。後続のプロットは、グラフィックデバイスには表示されません。

dev.off()を実行した後、ggsaveが再び呼び出されるまで、新しいプロットが表示されます。問題は、2.15.0及びRの2.15.3で発生

R version 3.0.0 (2013-04-03) 
Platform: i386-w64-mingw32/i386 (32-bit) 

locale: 
[1] LC_COLLATE=English_New Zealand.1252 LC_CTYPE=English_New Zealand.1252 
[3] LC_MONETARY=English_New Zealand.1252 LC_NUMERIC=C       
[5] LC_TIME=English_New Zealand.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] plyr_1.8  ggplot2_0.9.3.1 RODBC_1.3-6  

loaded via a namespace (and not attached): 
[1] colorspace_1.2-2 dichromat_2.0-0 digest_0.6.3  grid_3.0.0   gtable_0.1.2  
[6] labeling_0.1  MASS_7.3-26  munsell_0.4  proto_0.3-10  RColorBrewer_1.0-5 
[11] reshape2_1.2.2  scales_0.2.3  stringr_0.6.2  tools_3.0.0 

:として

のSessionInfo()はRおよびライブラリのバージョンを報告します。

EDIT:データ09月=「」なく空白

添加を用いてロードするようにコードを変更された:さらなる試験は、これが実際にRStudioとどのようにggsave後にグラフィックス・デバイスを表示しているのバグであってもよいことがわかります、Rそのものではなく。 RGuiで上記のスクリプトを実行しても、RStudio V0.97.336 + V0.97.449でのみ問題は再現されません。

+5

:-(セミコロン – Dason

+0

Rでセミコロンが正しくないのはなぜですか? – Jayden

+0

別々の行にコマンドを入力すると完全に不要になります – Dason

答えて

5

RStudioに問題があるようです。問題はherehereと記載されています。

回避策は、RStudio V0.97.311をインストールするか、ggplotとggsave行を別々に実行することです(つまり、control + enterを使用してブロック内で選択して実行しないでください)。

+0

このバグは決まりましたRStudio v0.98.123現在ved – Jayden

関連する問題