user3589052
user3589052

Reputation: 91

Error in grDevices::png

quick.hist<-ggplot(ufo.us, aes(X=DateOccured))+geom_histogram()+scale_x_date()
ggsave(plot=quick.hist,filename= "../images/hist.png",height=6, width=8)

file format is simple:

it contains 2 dates,city,state,duration

I am getting error during plot:that is during ggsave()

Error in grDevices::png(..., width = width, height = height, res = dpi,  
  unable to start png() device

In addition: Warning messages:

 In grDevices::png(..., width = width, height = height, res = dpi,  
  unable to open file '../images/hist.png' for writing

 In grDevices::png(..., width = width, height = height, res = dpi,  
  opening device failed

I am very new to R and getting error. I have just started copying the book code for histogram chart, first chapter from book machine learning hacker perspective.

Upvotes: 9

Views: 11374

Answers (3)

DirtStats
DirtStats

Reputation: 599

I had this same problem as the OP. It appeared to be an error from ggsave() but I traced it back to a ggarrange() call. I was hitting my limit of open devices (~64) and needed to call dev.off() following each ggarrange() call. This post was helpful: Too many open devices r

Upvotes: 0

User981636
User981636

Reputation: 3631

I had the same issue. In my case, my working directory (check getwd) was not the right one so the filepath didn't make sense.

Upvotes: 2

theGreatWhiteShark
theGreatWhiteShark

Reputation: 31

I had the same problem recently. It occurs when compiling R from source without having the appropriate libraries installed. So R does not know how to talk to the png device at all.

In order to fix this problem just install the following packages (e.g. using Ubuntu16.04)

sudo apt install libcairo2-dev libjpeg9-dev

and run the ./configure again.

If those libraries were sufficient both PNG and cairo should be listed as Additional capabilities at the end of the configuration. So if none of them shows up using

cat config.log | grep skipped

you are good to go.

Upvotes: 3

Related Questions