Carlos Ortega
2006-Mar-01 15:02 UTC
[R] Problems to get a ctree plot (library party) in a file via jpeg/png
Hello All, I am using library "party" and I have found a curious/strange behaviour when trying to save the output of a ctree in a file via jpeg/png command. If you use: ################ library(party) airq <- subset(airquality, !is.na(Ozone)) airct <- ctree(Ozone ~ ., data = airq) plot(airct, terminal_panel = node_boxplot, drop_terminal = FALSE) ############### you get a perfect and nice graph, but when you try the equivalent but trying to put the output in a file: ################# library(party) airq <- subset(airquality, !is.na(Ozone)) airct <- ctree(Ozone ~ ., data = airq) jpeg(filename = "Rplot%03d.jpg", width = 1400, height = 800, pointsize = 12, quality = 75, bg = "white", res = NA) plot(airct, terminal_panel = node_boxplot, drop_terminal = FALSE) dev.off() ################ you will see that the boxplots at the terminal nodes do not appear... On the other hand, when you try a similar approach with ################## plot(airct, terminal_panel = node_boxplot, drop_terminal = FALSE) savePlot(file=paste(directorio,"PartyTree",sep=""),type="jpeg", devicedev.cur()) dev.off() ################# you get everything perfectly fine, although with a lower resolution. I am using the latest version available of your library (0.8-1) in a Windows box. Do you know if this is the expected behaviour or there is something abnormal ? ########### platform i386-pc-mingw32 arch i386 os mingw32 system i386, mingw32 status major 2 minor 2.1 year 2005 month 12 day 20 svn rev 36812 language R ########### Package *party* version 0.8-1 I checked this problem directly with the package creators/maintainers and they recommended to post it here. They have also provided very kindly a workaround while it is finally corrected. Thanks, Carlos Ortega. [[alternative HTML version deleted]]
Achim Zeileis
2006-Mar-02 09:12 UTC
[R] Problems to get a ctree plot (library party) in a file via jpeg/png
Carlos:> I am using library "party" and I have found a curious/strange behaviour when > trying to save the output of a ctree in a file via jpeg/png command.thanks for reporting this. We've seen this problem before with the vcd package. The reason is that the default background is usually "transparent" whereas for jpeg() and png() devices it is "white". That has the effect that the grid.rect() command at the end of node_boxplot() not only draws the bounding rectangle but also fills it with "white", thus hiding the actual boxplots. The fix is to use grid.rect(gp = gpar(fill = "transparent")) instead. We'll commit a fixed party to CRAN asap. Best wishes, Z