将 huxtable 数据和 ggplot 导出到一个 excel 文件中
export a huxtable data and a ggplot into one excel file
我想问我是否可以从 R 中导出一个 huxtable 数据集 sheet 和另一个 sheet 中 ggplot2 的绘图以及同一个 excel 文件?
wb <- createWorkbook()
addWorksheet(wb, sheetName = "Frequencies")
addWorksheet(wb, sheetName = "Plot")
writeDataTable(wb, sheet = "Frequencies", x = huxtable, row.names=F)
plot(p)
insertPlot(wb,"Plot")
saveWorkbook(wb=wb, file="path_file/name_file.xlsx", overwrite=TRUE)
我尝试使用上面的代码,huxtable
是格式化的数据集(数据集的行是彩色的),p
是我使用函数 [=16= 生成的图],但我没有得到所需的输出,因为我丢失了 huxtable
.
的格式
我试过这段代码,但它只导出带格式的 huxtable 而不是绘图:
file<- as_Workbook(huxtable,sheet="Frequencies")
showGridLines(file, sheet="Frequencies", showGridLines = FALSE)
openxlsx::saveWorkbook(file,"file_path/file_name.xlsx", overwrite = TRUE)
这里是绘图和 huxtable 的示例:
p <-
ggplot(mtcars)+
geom_histogram(aes(x = mpg))
p
huxtable<-as_hxtable(mtcars[1:10,])
for (i in 1:length(huxtable) ) {
if (i == 1){
huxtable<-set_background_color(huxtable,row=i , everywhere, "yellow")
}
else{
huxtable<-set_background_color(huxtable,row=i , everywhere, "red")
}
}
huxtable
我想将彩色数据集 + 绘图导出到同一个 excel 文件而不丢失数据集的格式
这是一个可以调整的潜在工作流程。查看包文档中的选项,因为下面的答案只使用了最少的参数,而且所有使用的包都提供了很多选项。
在 OP 包含格式化的 huxtable 后更新。
library(openxlsx)
library(huxtable)
library(ggplot2)
# create workbook
wb <- createWorkbook()
#create sheet for plot
addWorksheet(wb, sheetName = "plot")
# create plot
p <-
ggplot(mtcars)+
geom_histogram(aes(x = mpg))
p
# insert plot inserts the current plot into the worksheet
insertPlot(wb, sheet = "plot")
# create huxtable with formatting
hx <- as_huxtable(mtcars[1:10,])
for (i in 1:length(hx) ) {
if (i == 1){
hx<-set_background_color(hx, row = i, everywhere, "yellow")
}
else{
hx<-set_background_color(hx, row = i, everywhere, "red")
}
}
hx
# use huxtable::as_Workbook function to convert table for export into excel workbook
as_Workbook(hx, Workbook = wb, sheet = "table")
## Save workbook
saveWorkbook(wb, "eg_table_plot.xlsx", overwrite = TRUE)
由 reprex package (v2.0.1)
创建于 2021-12-02
我想问我是否可以从 R 中导出一个 huxtable 数据集 sheet 和另一个 sheet 中 ggplot2 的绘图以及同一个 excel 文件?
wb <- createWorkbook()
addWorksheet(wb, sheetName = "Frequencies")
addWorksheet(wb, sheetName = "Plot")
writeDataTable(wb, sheet = "Frequencies", x = huxtable, row.names=F)
plot(p)
insertPlot(wb,"Plot")
saveWorkbook(wb=wb, file="path_file/name_file.xlsx", overwrite=TRUE)
我尝试使用上面的代码,huxtable
是格式化的数据集(数据集的行是彩色的),p
是我使用函数 [=16= 生成的图],但我没有得到所需的输出,因为我丢失了 huxtable
.
我试过这段代码,但它只导出带格式的 huxtable 而不是绘图:
file<- as_Workbook(huxtable,sheet="Frequencies")
showGridLines(file, sheet="Frequencies", showGridLines = FALSE)
openxlsx::saveWorkbook(file,"file_path/file_name.xlsx", overwrite = TRUE)
这里是绘图和 huxtable 的示例:
p <-
ggplot(mtcars)+
geom_histogram(aes(x = mpg))
p
huxtable<-as_hxtable(mtcars[1:10,])
for (i in 1:length(huxtable) ) {
if (i == 1){
huxtable<-set_background_color(huxtable,row=i , everywhere, "yellow")
}
else{
huxtable<-set_background_color(huxtable,row=i , everywhere, "red")
}
}
huxtable
我想将彩色数据集 + 绘图导出到同一个 excel 文件而不丢失数据集的格式
这是一个可以调整的潜在工作流程。查看包文档中的选项,因为下面的答案只使用了最少的参数,而且所有使用的包都提供了很多选项。
在 OP 包含格式化的 huxtable 后更新。
library(openxlsx)
library(huxtable)
library(ggplot2)
# create workbook
wb <- createWorkbook()
#create sheet for plot
addWorksheet(wb, sheetName = "plot")
# create plot
p <-
ggplot(mtcars)+
geom_histogram(aes(x = mpg))
p
# insert plot inserts the current plot into the worksheet
insertPlot(wb, sheet = "plot")
# create huxtable with formatting
hx <- as_huxtable(mtcars[1:10,])
for (i in 1:length(hx) ) {
if (i == 1){
hx<-set_background_color(hx, row = i, everywhere, "yellow")
}
else{
hx<-set_background_color(hx, row = i, everywhere, "red")
}
}
hx
# use huxtable::as_Workbook function to convert table for export into excel workbook
as_Workbook(hx, Workbook = wb, sheet = "table")
## Save workbook
saveWorkbook(wb, "eg_table_plot.xlsx", overwrite = TRUE)
由 reprex package (v2.0.1)
创建于 2021-12-02