Q: как я могу получить ESS (R) для вывода непосредственно в буфер Emacs?
При взаимодействии с R через ESS R по умолчанию порождает отдельное графическое окно вне Emacs, чтобы рисовать его графики. (Можно, конечно, выбрать другие графические устройства, как мы рисуем в PDF и т. Д.) Две проблемы: во-первых, новое окно украдет фокус из Emacs, и, во-вторых, было бы неплохо, чтобы все было красиво и аккуратно. в экосистеме Emacs.
Итак: есть ли способ построить «прямо» (или даже косвенно) в буфере Emacs и, что более важно, сделать это без большого ручного вмешательства пользователя?
В этом старом потоке переполнения стека было некоторое предварительное обсуждение , но предложенные частичные решения не идеальны В основном они включают изменение устройства построения графиков в R (скажем, PNG), создание графиков во временный файл и последующее ручное посещение этого файла в буфере Emacs. Все это кажется мне очень неуклюжим, особенно если цель состоит в том, чтобы использовать окно / буфер графика в интерактивном режиме и рисовать много графиков в сеансе (или добавлять слои к ним на лету).
Я размышляю здесь, но меня поражает, что, поскольку R и Emacs поддерживают SVG, это может быть полезным форматом для использования. Тем не менее, мне не ясно, если / как можно подключиться к процессу R, чтобы общаться на лету. Есть ли способ поместить R-код SVG прямо в буфер Emacs, или ему нужно пройти через промежуточный файл? Как можно убедить Emacs автоматически открыть новый временный файл, когда его создает R, или обновить такой буфер графика, когда временный файл обновляется / перезаписывается новым графиком?
create-image
. Я не могу помочь вам с тем, чтобы R и Emacs общались друг с другом для достижения этой цели.