自己源码安装的R3.0.1,刚开始以为是ubuntu系统没有libpng的包,安装了libpng之后R依旧不支持png。
$R # 检查R是否支持PNG等图形显示:
> capabilities()
jpeg png tiff tcltk X11 aqua http/ftp sockets
FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE
libxml fifo cledit iconv NLS profmem cairo
TRUE TRUE TRUE TRUE TRUE FALSE FALSE
参考:
首先,退出R,然后安装一堆相关的包
sudo apt-get install libpng12-dev
然后重新build R,请根据自己的包修改 R版本
先不用重新安装R,注意一定要先configure再重新安装R
$ cd R-3.0.1
$ ./configure --enable-R-shlib--with-libpng --with-jpeglib --with-libtiff --with-x
$ make clean
$ make
$ sudo make install
重新进入R,再次检查
$ R
> capabilities()
jpeg png tiff tcltk X11 aqua http/ftp sockets
TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE
libxml fifo cledit iconv NLS profmem cairo
TRUE TRUE TRUE TRUE TRUE FALSE FALSE
虽然上述问题解决了,但是生成的png图像是损坏的。
$ldconfig -p|grep png命令可以查看自己系统的png,jpeg,tiff,freetype版本,从而由此判断
sudo apt-get install 【libpng12-dev 】括号中的值
生成的png图像没有问题,把后缀改成.pdf就可以看出文件是完整的,出错的是R文件里面生成png的代码忘记改回png了。