## ----setup, include = FALSE--------------------------------------------------- library(openxlsx2) options(rmarkdown.html_vignette.check_title = FALSE) knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----package------------------------------------------------------------------ library(openxlsx2) # openxlsx2 >= 0.4 for mschart and rvg support ## create a workbook wb <- wb_workbook() ## ----plot--------------------------------------------------------------------- myplot <- tempfile(fileext = ".jpg") jpeg(myplot) print(plot(AirPassengers)) dev.off() # Add basic plots to the workbook wb$add_worksheet("add_image")$add_image(file = myplot) ## ----mschart------------------------------------------------------------------ if (requireNamespace("mschart")) { library(mschart) # mschart >= 0.4 for openxlsx2 support ## create chart from mschart object (this creates new input data) mylc <- ms_linechart( data = browser_ts, x = "date", y = "freq", group = "browser" ) wb$add_worksheet("add_mschart")$add_mschart(dims = "A10:G25", graph = mylc) ## create chart referencing worksheet cells as input # write data starting at B2 wb$add_worksheet("add_mschart - wb_data")$ add_data(x = mtcars, dims = "B2")$ add_data(x = data.frame(name = rownames(mtcars)), dims = "A2") # create wb_data object this will tell this mschart # from this PR to create a file corresponding to openxlsx2 dat <- wb_data(wb, dims = "A2:G10") # create a few mscharts scatter_plot <- ms_scatterchart( data = dat, x = "mpg", y = c("disp", "hp") ) bar_plot <- ms_barchart( data = dat, x = "name", y = c("disp", "hp") ) area_plot <- ms_areachart( data = dat, x = "name", y = c("disp", "hp") ) line_plot <- ms_linechart( data = dat, x = "name", y = c("disp", "hp"), labels = c("disp", "hp") ) # add the charts to the data wb <- wb %>% wb_add_mschart(dims = "F4:L20", graph = scatter_plot) %>% wb_add_mschart(dims = "F21:L37", graph = bar_plot) %>% wb_add_mschart(dims = "M4:S20", graph = area_plot) %>% wb_add_mschart(dims = "M21:S37", graph = line_plot) # add chartsheet wb <- wb %>% wb_add_chartsheet() %>% wb_add_mschart(graph = scatter_plot) }