"I also don't understand why it would be set to X11 in a plain-old R session" R is an open source derivative of S and S-PLUS--"S" was the "Statistics Language" MIT X Consortium's "X Motif" is the default output of R from its inception R, S, S-PLUS have always made such output as its default Suggest you just "get with the program"--thousands of R libraries are ready for you to use, extend and create your own libraries if you like--all leveraging the power of X11R6 --i.e. the XWindows system: https://en.wikipedia.org/wiki/X_Window_System By the way Micro$oft Windows is based on MIT's W--W stood for Windows--yet another thing MicroSoft swiped and monopolized and then sued others about whenever possible--rather than join the open source & free software movement X11 is free & open source--all the best software is free & open source--like Emacs Org-Mode On Mon, Apr 6, 2020 at 9:27 PM Matt Price wrote: > > > On Sun, Apr 5, 2020 at 1:19 PM Berry, Charles > wrote: > >> >> >> > On Apr 4, 2020, at 4:27 PM, Matt Price wrote: >> > >> > Does anyone know much about the difference between an R session opened >> by typing M-x R, and the R session opened by org-babel? >> >> >> Short answer: almost none. >> >> Long answer: what `org-babel-R-initite-session' and friends do. >> > :-) thanks, I should have been looking for that > >> >> > >> > I'm just learning R and my usual method for learning a language is to >> keep a kind of notebook in org with code snippets they I can execute and >> iterate on rapidly as I learn. This works great in R when I'm just doing >> math. When I am working on plots, it would be nice to have them open up >> quickly either in emacs or in the standard x11 window that R session opened >> switch M-x R opens up. >> > >> > I know I can set the src block headers to produ e a file, but when I'm >> just iterating rapidly I often switch back and forth between a data output >> and a graphical output, and typing/erasing those headers is clunky and >> slow. It would be easier to just paste the plot command into the console >> and have it pop open the window... But that doesn't seem to work. Anyone >> know if I can tweak something to make that possible? >> > >> >> >> I sam really puzzled by this. Do you have an ECM that illustrates this? >> >> Working interactively on my Mac (Quartz - X11 is the device), I routinely >> do what you describe - usually working from the src edit buffer - and the >> plots are displayed (and older plots are available via clover-left or some >> such). >> >> If I had to guess, I'd say that you are opening an R session, but not >> using it. If you execute a src block, but it does not have a `:session' >> header, a new instance of R will create a plot file and then exit. If you >> look in the default directory, you would see `Rplots.pdf' or some such. >> >> The only other thing that comes to mind is that you opened a device that >> is holding on to all your plots. Try `dev.cur()' in R immediately before >> and after you create a plot and see what the result is. >> >> This was the problem. I don't see that I'm calling dev.set() anywhere but > when the session initiates dev.cur() returns > > null > 1 > > calling dev.set(1) or dev.set(2) launches an R_x11 window and future plots > are displayed there. As I say, I'm just learning R, and I don't really > understand how the device is set up. I also don't understand why it would > be set to X11 in a plain-old R session, but not in an org-babel R session. > Most references to "device" in ~ob-R.el~ seem to be managing file outputs, > and "X11". For now I don't think I'll explore a proper solution as I'm > already pretty far down a rabit hole just learning R at all! But thanks > very much for this workaround. > > Matt > >> HTH, >> >> Chuck >> >> >>