hi, I m said to display graph in browser using Rook. So i found a code i.e library(Rook) # for web functionality library(ggplot2) # for graphing library(tseries) # used to grab time series from yahoo for stock symbols library(plyr) # data tweaks PIC.DIR = paste(getwd(), 'pic', sep='/') # define the web page form newapp = function(env) { req = Rook::Request$new(env) res = Rook::Response$new() if (!is.null(req$POST())) { stock.symbol <- req$POST()[["stock.symbol"]] day.window <- req$POST()[["day.window"]] } else { stock.symbol <- 'AAPL' day.window <- 60 } res$write('What stock ticker would you like to see:\n') res$write('<BR/>') res$write('Stock Symbol:\n') res$write('<form method="POST">\n') stock.input <- paste('<input type="text" name="stock.symbol" value="', stock.symbol, '">\n', sep='') res$write( stock.input ) res$write('<form method="POST">\n') res$write('<input type="radio" name="day.window" value="30">30 Days \n') res$write('<input type="radio" name="day.window" value="60" checked>60 Days \n') res$write('<input type="radio" name="day.window" value="90">90 Days \n') res$write('<input type="submit" name="Go!">\n</form>\n<br>') myNormalize = function (target) { return((target - min(target))/(max(target) - min(target))) } if (!is.null(req$POST())) { # get the stock data as a data frame df <- as.data.frame(get.hist.quote(stock.symbol,start=as.character(Sys.Date() - as.numeric(day.window)),quote=c("Open", "High", "Low", "Close"))) # add an average and the top/bottom for the candle df <- mutate(df, Average =(High + Low + Close)/3, Bottom = pmin(Open, Close), Top = pmax(Open, Close), Open.to.Close = ifelse(sign(Open - Close) == 1,'Increase','Decrease'), Date = row.names(df), Date.Label = ifelse(weekdays(as.Date(row.names(df))) == 'Friday',row.names(df),'')) # this gets the date from row.names into a column # create a box plot my.plot <- ggplot(data=df, aes(x=Date, lower=Bottom, upper=Top, middle=Average, ymin=Low, ymax=High, color=Open.to.Close, fill=Open.to.Close), xlab='Date', ylab='Price') + geom_boxplot(stat='identity') + # add the line for average price from HCL geom_line(data=df, aes(x=Date,y=Average, group=0), color='black') + # tweak the labeling opts(axis.text.x = theme_text(angle=270), legend.position = 'top', legend.direction='horizontal') + scale_x_discrete(labels=df$Date.Label) ggsave(plot=my.plot, paste(PIC.DIR, "/pic", stock.symbol, day.window, ".png", sep = "")) res$write(paste(day.window,' days stock price trend for ',stock.symbol,'<BR/>', sep='')) res$write(paste(" <", s$full_url("pic"), > ", sep = "")) } res$finish() } s = Rhttpd$new() s$add(app = newapp, name = "visbin") s$add(app = File$new(PIC.DIR), name = "pic") s$start() s$browse("visbin")
but when i execute this code i get an error saying Error in grDevices::png(..., width = width, height = height, res = dpi, : unable to start png() device Or Is there any other code which can help me in displaying graph in Rook using ggplot2 ----- Thank you, with regards, Punitha -- View this message in context: http://r.789695.n4.nabble.com/creating-graphs-using-Rook-tp4643458.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.