Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't display png

Tags:

r

x11

xserver

shiny

I'm running R-shiny (R version 3.0.1 (2013-05-16)) on a VM (Red Hat Enterprise Linux Server release 6.4). Everything works, i.e., server starts up, and application runs etc... as long as I don't try to plot a graph

renderPlot

I then see on the main panel a message [error : unable to start device png]. I would post my whole code but this problem I think has to do with rendering plots as when I use renderText and spit out some data it works just fine.

Actually when I just type in png() in R I get this error [ Error in .External2(C_X11, paste("png::", filename, sep = ""), g$width, : unable to start device PNG In addition: Warning message: In png() : unable to open connection to X11 display '' ] of course if I forward via ssh -X to my mac, I can type in png() no problem and plot data etc...

-A few more things to note, when I type in capabilties() I find the only things that are false are jpeg, tiff, X11, aqua, and profmem (so png and cairo are True)

-I've installed libpng, cairo, and libX11, libX11-devel, libXt, libXt-devel before building R from source

I'm guessing my problem is that I need to have X server running. In addition the DISPLAY variable is null.

So, I guess when it boils down to it my question is ... assuming my logic is correct.

1) Do I need to run / start X server [ currently it terminates after starting for some reason] or can I just set the DISPLAY variable?

2) If I can just set my DISPLAY variable what should I set it to (localhost:0.0 hasn't worked)

Obviously if there is something I'm missing these questions may be irrelevant.

Thanks in advance and sorry for rambling, wanted to be thorough.

PJ

like image 745
user2510097 Avatar asked Jun 21 '13 20:06

user2510097


People also ask

Why can't I view PNG images?

png files: "windows photo viewer can't open this picture because either photo viewer doesn't support this file format or you don't have the latest updates to photo viewer" Thumbnails for certain PNG files do not appear, all PNG files can not be viewed in Photo Viewer.

How do I view a PNG image?

All the major web browsers can also open PNGs, including Chrome, Edge and Safari. To view it, just drag and drop a PNG file from your desktop to your browser.

How do I open a PNG file that won't open?

Open MS Paint and Select File You can open the MS Paint by searching "paint" in the search box on the taskbar. After launching the MS Paint, press "CTRL + O" to select and open the png file you want to change the format.

How do I enable PNG?

Converting an Image With WindowsOpen the image you want to convert into PNG by clicking File > Open. Navigate to your image and then click “Open.” Once the file is open, click File > Save As. In the next window make sure you have PNG selected from the drop-down list of formats, and then click “Save.”


1 Answers

Does it help if you set option(bitmapType = 'cairo')? I have been skeptical about how R chooses the bitmap device type using .Call(C_cairoProps, 2L) in grDevices:::.onLoad() (this might be a bug, but I cannot say it for sure).

The option bitmapType falls back to Xlib if the test of cairo fails, thus giving you a cryptic error message about X11. Note the type argument in png():

> args(png)
function (filename = "Rplot%03d.png", width = 480, height = 480, 
    units = "px", pointsize = 12, bg = "white", res = NA, ..., 
    type = c("cairo", "cairo-png", "Xlib", "quartz"), antialias) 

The default value of this argument is getOption('bitmapType'), and in your case it is Xlib due to the test in grDevices:::.onLoad(). If you are 100% sure that cairo works, you can change this option, say, in your ~/.Rprofile.

like image 186
Yihui Xie Avatar answered Oct 06 '22 21:10

Yihui Xie