Q: ESS(R)を取得してEmacsバッファーに直接プロットするにはどうすればよいですか?
ESSを介してRと対話する場合、Rはデフォルトで、Emacsの外部に別のグラフィックウィンドウを作成して、プロットを描画します。(もちろん、他のグラフィカルデバイスを選択することができます。これはPDFにプロットする方法などです)2つの問題:1つは、新しいウィンドウがEmacsからフォーカスを奪い、2つ目は、すべてをきれいに整頓することですEmacsエコシステム内。
だから:Emacsバッファーに「直接」(または間接的に)プロットする方法はありますか、さらに重要なことは、ユーザーによる多くの手動の介入なしでプロットする方法ですか?
この古いStack Overflowスレッドでいくつかの事前の議論がありましたが、提案された部分的な解決策は理想的ではありません。ほとんどの場合、Rのプロットデバイスを変更し(PNGなど)、一時ファイルにプロットしてから、Emacsバッファーでそのファイルに手動でアクセスします。特に目標がインタラクティブにプロットウィンドウ/バッファを使用し、セッションで多くのプロットを描画する(またはその場でレイヤを追加する)場合は、すべてが非常に不格好だと思います。
私はここで推測していますが、RとEmacsの両方がSVGをサポートしているので、それが使用するのに便利なフォーマットであるかもしれないと思います。ただし、Rプロセスにフックしてオンザフライで通信できるかどうか/どのようにすればよいかは明確ではありません。RがSmacコードをEmacsバッファーに直接吐き出す方法はありますか、それとも一時ファイルの中間を通過する必要がありますか?Rが作成したときにEmacsに自動的に新しい一時ファイルを訪問させたり、一時ファイルが新しいプロットで更新/上書きされたときにそのようなプロットバッファーを更新したりするにはどうすればよいでしょうか?
create-image
。のdocstringを参照してください。しかし、実際にRとEmacsが相互に通信してそれを達成することはできません。