2013-07-01 2 views
17

私はRの使い方をノートブックに統合して、両者のベストを得ました(Pythonでのデータ管理はRの比較分析/ )。残念ながら、ggplot2グラフィックスのプロットサイズを調整して、一見簡単な要素に悩まされています。プロットサイズを調整するのはパンダでは簡単ですが、Rスタジオなどの純粋なR環境では、dev.new()やPNG()などでプロットを調整することができます。 (私はASUS U46EでUbuntu 13.04を実行しています)。さらに、これは非常に重要です。私はスクリプトをインラインで保ち、スクリプト全体を同僚に渡すことができます。プロットサイズ - IPythonでggplot2を使用ノートブック(rmagic経由)

dev.new()を試してみると、コンピュータがロックされ、再起動するために別の仮想端末に切り替える必要がありました。私はx11()オプションを調整しようとしましたが、ブラウザが一時的に応答しなくなり、グラフィックスは少しばかげてしまいました。最終的に、私はもう一度コントロールを与えられましたが、なぜこれが起こったのかわかりません。

これはなぜ起こったのでしょうか?さらに、誰かがIPythonノートブックからレンダリングされたggplot2オブジェクトのプロットサイズを調整する方法を知っていますか?私はデータを共有することはできないのではないかと思いますが、私は3つの数値変数をファンド・センター(カテゴリー変数)によってプロットしようとしていたことを伝えています。これらのプロットは、サイズを調整しようとするまで、書かれたとおりに実行されました。ここに私のコード例があります:

%%R 
#x11(width=500,height=300) << didn't work 
#dev.new() << tried before setting size parameters, and it locked up my laptop 
#Plot total expenses by unit 
print('*****Expenses by Unit*****') 
print(smu) 
print(ggplot(smu,aes(x=fy,y=as.numeric(as.character(totexp)),group=fund,colour=fund))+geom_line(size=2)+ 
     ggtitle('Total Expenses')) 
#Plot expense components 
print(ggplot(smu,aes(fy))+ 
     geom_line(aes(y=as.numeric(as.character(fixed)),colour='fixed',group=fund,colour=fund))+ 
     geom_line(aes(y=as.numeric(as.character(var)),colour='variable',group=fund,colour=fund))+ 
     geom_bar(aes(y=as.numeric(as.character(incadj)),group=1),stat='identity')+ 
     facet_grid(.~fund)+ 
     ggtitle('Components of Expenditure')) 

答えて

26

rmagicコマンドには、プロットのサイズを指定するオプションの引数があります。デフォルトは480ピクセルの幅と高さです。このように、以下のコードは、デフォルトの設定を複製:

%%R -w 480 -h 480 -u px 
library(ggplot2) 
dat <- data.frame(x = rnorm(10), y = rnorm(10), 
        lab = sample(c('A', 'B'), 10, replace = TRUE)) 
x <- ggplot(dat, aes(x = x, y = y, color = lab)) + geom_point() 
print(x) 

以下、このコードは50cmの幅25センチ、高さとのプロットを作成します。

%%R -w 50 -h 25 -u cm 
library(ggplot2) 
dat <- data.frame(x = rnorm(10), y = rnorm(10), 
        lab = sample(c('A', 'B'), 10, replace = TRUE)) 
x <- ggplot(dat, aes(x = x, y = y, color = lab)) + geom_point() 
print(x) 

ます。また、サイズを指定することができますインチまたはミリメートルで表します。

+0

非常に高く評価されたジョン!例外なくユニットを指定することはできませんでしたが、これはうまくいきます。それにもかかわらず、ピクセルの距離を変更すると、間違いなくジョブが完了します。 –

関連する問題