7

最終投票に出馬する前に、この質問は主観的なものであり、期待される答えは「場合による」で始まる可能性があることを理解していることを伝えさせてください. それにもかかわらず、私はますます多くのグラフを作成しており、それらを使用する正確な方法を必ずしも知っているわけではないか、最終的なものをテストする時間がないため、これは私が遭遇する実際に関連する問題です.すぐにケースを使用してください。

だから私はSO Rユーザーの経験を活用して、jpg()、bmp()、png()、tiff()、pdf()、そしておそらくどのオプションを使用して、どちらかを選択する正当な理由を得ています。私には R の経験がなく、さまざまな形式を賢く選択するための知識もありません。

考えられる使用例:

  • アルゴリズムの実行中または実行中のクイック ルック
  • プレゼンテーション (主に .ppt)
  • レポート (ワードまたはラテックス)
  • 出版物(インターネット)
  • ストレージ(あまり損失がなく、後で特定の用途に変換するため)
  • 関連するものは何でも忘れました

ありがとう!質問を明確にしていただければ幸いです。

4

3 に答える 3

11

私のコメントを少し拡大すると、本当に簡単な答えはありませんが、私の提案は次のとおりです。

  1. 私の最初の完全に柔軟な選択は、プロットで使用される最終的な生データと、プロットを生成するための少しの R コードを単純に保存することです。そうすれば、特定の目的に合ったデバイスに出力を簡単に送信できます。png()/に基づいてpdf()呼び出すことができるいくつかの基本的なテンプレートを自分でセットアップするのは、それほど難しい作業ではありません。

  2. デバイスを使用しsvg()ます。@gung が指摘したように、pdf()svg()cairo_ps()またはを使用して出力を保存することはcairo_pdf()、スケーラブルなベクター画像を保持するための唯一の実際のオプションです。私は、Inkscape のようなプログラムを使用すると、より多くの編集オプションを利用できるとsvg()いうよりも、こちらに傾倒する傾向があります。pdf()また、インターネット公開用に非常に広くサポートされている形式になりつつあります ( http://caniuse.com/svgを参照) 。

  3. 一方、あなたがラテックスユーザーである場合、ほとんどの頭痛は直行することで解決されるようですpdf()-通常、シフトをフォーマットする必要がある場合は、InkscapeまたはImagemagickなどのコマンドラインユーティリティを使用してpdfファイルをインポートおよび変換できます.

  4. Word/Powerpoint の相互作用については、Windows で R を実行している場合は、Word または Powerpoint に直接インポートできるwin.metafile()スケーラブルなコンポーネントイメージを使用して直接エクスポートすることもできます。Wine を介して R を実行したり、Linux で中間ステップを使用して、後で使用するために emf ファイルを取得したりするemf人の話を聞いたことがあります。Mac の場合は、回り道もあります

というわけで、好きな順にまとめます。

  1. 画像をまったく保存せず、コードを保存して画像を生成する
  2. svg/pdf を使用し、必要に応じて形式を変換します。
  3. Word/Powerpoint を使用して逃げることができず、主に Windows システムに基づいている場合には、バックアップの win.metafile エクスポートを直接使用してください。
于 2013-09-06T04:23:45.013 に答える
5

これまでのところ、この質問に対する回答はすべて、ベクターベースの形式でプロットを出力することを推奨しています。これにより、最適な出力が得られ、画像の最終的な媒体 (Web ページ、ドキュメント、プレゼンテーションなど) に合わせて必要に応じて画像のサイズを変更できますが、これには計算コストがかかります。

私自身の作業では、プロットを十分な解像度のラスター形式で保存する方がはるかに便利であることがよくあります。データのプロットにかなりの時間がかかる場合は、おそらくこれを行う必要があります。

ラスター形式の方が便利だと思う場所の例をいくつか示します。

  1. マンハッタン プロット:ゲノム全体の何億もの DNA マーカーの p 値の有意性を示すプロット。
  2. 大規模なヒートマップ: 2 つのグループ (1 つは病気にかかっており、もう 1 つは健康なグループ) の間で発現差のある上位 5000 の遺伝子をクラスター化します。
  3. ネットワーク レンダリング:エッジで相互に接続された多数のノードを描画する場合、エッジを (ベクトルとして) 再描画すると、コンピューターの速度が低下する可能性があります。

最終的には、自分の正気とのトレードオフになります。何があなたをもっと悩ませますか?画像を再描画しようとしてコンピューターが停止しましたか? または、画像をラスター形式でレンダリングするための正確な寸法を見つけて、最終的な出版媒体で見栄えが悪くならないようにする必要がありますか?

于 2013-09-06T06:15:29.113 に答える
1

ここで覚えておくべき最も基本的な違いは、ラスター グラフィックスベクター グラフィックスです。一般に、ベクター グラフィックスではオプションが保持されます。リストしたオプションのうち、jpegbmptiff、およびpngはラスター形式です。pdfベクトルグラフィックスのみを提供します。したがって、これはおそらくリストされたオプションの最適なデフォルトです。

于 2013-09-06T03:04:19.910 に答える