回复 第7楼 的 tanchun:
1. 那个 Graphic Device 窗口对应的图形设备是 X11() 或者 windows() 或者 quartz(), 这三种设备里边的数据都是在 R 内部传的, 只能在 Rsession 中显示, 不能在浏览器里显示.
还是简单说下流程吧, 比如我们想在浏览器里显示一张 png 图, 可以用
<br />
png('xxx.png')<br />
plot(xxx)<br />
dev.off()<br />
</p>
在硬盘上生成一张 png 图 (暗含了开启 png 设备, 向设备上画图, 关闭设备的过程), 然后把这个文件的路径传给浏览器就行了 (需要怎样写你应当已经有所了解). 当然也可以读出文件内容以 base64 编码, 再在浏览器里显示. 还可以直接用数据流来传递, 避免向硬盘写文件的过程, 不过比较麻烦. 可以参考:
http://stackoverflow.com/questions/7171523/in-r-how-to-plot-into-a-memory-buffer-instead-of-a-file
不需要什么接口, 都是很原始的直接读写数据.
2. 图形设备的实现细节可以参考 R Internals 的 Graphic Device 部分
http://cran.r-project.org/doc/manuals/R-ints.html#Graphics-Devices
不过我觉得你应该不需要了解这个 ..