一、項(xiàng)目簡介
以前一般的文件預(yù)覽都是借助微軟的在線訪問方法,國內(nèi)也就永中了吧!今天說的這個(gè)軟件是一款基于springboot的文件文檔在線預(yù)覽項(xiàng)目解決方案。
支持 office、pdf、 cad
支持 txt、 xml、md、java、 php, py、js、css
支持jar、tar、 zip、 rar、 gzip
支持 jpg、jpeg、png、 gif、tif、 tiff
支持圖片預(yù)覽(翻轉(zhuǎn)、縮放、鏡像)
支持二次開發(fā)
springboot
html
css
js
私信回復(fù):在線文檔
能轉(zhuǎn)換:R圖和統(tǒng)計(jì)表轉(zhuǎn)成發(fā)表級的Word、PPT、Excel、HTML、Latex、矢量圖等
R包export可以輕松的將R繪制的圖和統(tǒng)計(jì)表輸出到 Microsoft Office (Word、PowerPoint和Excel)、HTML和Latex中,其質(zhì)量可以直接用于發(fā)表。
export包可以在Windows、Ubuntu和Mac上跨平臺(tái)運(yùn)行。不過有些Mac發(fā)行版默認(rèn)情況下沒有安裝cairo設(shè)備,需要自行安裝。如果Mac用戶已安裝XQuartz,這個(gè)問題就解決了,它可以從https://www.xquartz.org/免費(fèi)獲得。
install.packages("export")
install.packages("officer")
install.packages("rvg")
install.packages("openxlsx")
install.packages("ggplot2")
install.packages("flextable")
install.packages("xtable")
install.packages("rgl")
install.packages("stargazer")
install.packages("tikzDevice")
install.packages("xml2")
install.packages("broom")
install.packages("devtools")
devtools::install_github("tomwenseleers/export")
該包主要包括以下幾種轉(zhuǎn)換
使用幫助信息如下:
graph2bitmap(x=NULL, file="Rplot", fun=NULL, type=c("PNG","JPG", "TIF"),
aspectr=NULL, width=NULL, height=NULL, dpi=300,scaling=100,
font=ifelse(Sys.info()["sysname"]=="Windows", "Arial",
"Helvetica")[[1]], bg="white", cairo=TRUE,
tiffcompression=c("lzw", "rle", "jpeg", "zip", "lzw+p", "zip+p"),
jpegquality=99, ...)
安裝完 export包后,先調(diào)用該包
library(export)
library(ggplot2)
library(datasets)
x=qplot(Sepal.Length, Petal.Length, data=iris,
color=Species, size=Petal.Width, alpha=I(0.7))
qplot()的意思是快速作圖,利用它可以很方便的創(chuàng)建各種復(fù)雜的圖形,其他系統(tǒng)需要好幾行代碼才能解決的問題,用qplot只需要一行就能完成。
使用半透明的顏色可以有效減少圖形元素重疊的現(xiàn)象,要?jiǎng)?chuàng)建半透明的顏色,可以使用alpha圖形屬性,其值從0(完全透明)到1(完全不透明)。更多ggplot2繪圖見ggplot2高效實(shí)用指南 (可視化腳本、工具、套路、配色) (往期教程更有很多生物信息相關(guān)的例子)。
鳶尾花(iris)是數(shù)據(jù)挖掘常用到的一個(gè)數(shù)據(jù)集,包含150個(gè)鳶尾花的信息,每50個(gè)取自三個(gè)鳶尾花種之一(setosa,versicolour或virginica)。每個(gè)花的特征用下面的5種屬性描述萼片長度(Sepal.Length)、萼片寬度(Sepal.Width)、花瓣長度(Petal.Length)、花瓣寬度(Petal.Width)、類(Species)。
在console里展示數(shù)據(jù)圖 (長寬比自己調(diào)節(jié)):
# 需運(yùn)行上面的ggplot2繪圖
# Create a file name
# 程序會(huì)自動(dòng)加后綴
filen <- "output_filename" # or
# filen <- paste("YOUR_DIR/ggplot")
# There are 3 ways to use graph2bitmap():
### 1. Pass the plot as an object
graph2png(x=x, file=filen, dpi=400, height=5, aspectr=4)
graph2tif(x=x, file=filen, dpi=400, height=5, aspectr=4)
graph2jpg(x=x, file=filen, dpi=400, height=5, aspectr=4)
### 2. Get the plot from current screen device
# 注意這個(gè)x,是運(yùn)行命令,展示圖像
x
graph2png(file=filen, dpi=400, height=5, aspectr=4)
graph2tif(file=filen, dpi=400, height=5, aspectr=4)
graph2jpg(file=filen, dpi=400, height=5, aspectr=4)
### 3. Pass the plot as a functio
plot.fun <- function(){
print(qplot(Sepal.Length, Petal.Length, data=iris,
color=Species, size=Petal.Width, alpha=0.7))
}
graph2png(file=filen, fun=plot.fun, dpi=400, height=5, aspectr=4)
graph2tif(file=filen, fun=plot.fun, dpi=400, height=5, aspectr=4)
graph2jpg(file=filen, fun=plot.fun, dpi=400, height=5, aspectr=4)
轉(zhuǎn)換后的圖形:
大部分圖的細(xì)節(jié)修改都是用代碼完成的,不需要后續(xù)的修飾;但如果某一些修改比較特異,不具有程序的通用性特征,或?qū)崿F(xiàn)起來比較困難,就可以考慮后期修改。比如用AI文章用圖的修改和排版。熟悉PPT的,也可以用PPT,這時(shí)R的圖導(dǎo)出PPT,就要用到graph2office系列函數(shù)了。
graph2ppt: 將當(dāng)前R圖保存到Microsoft Office PowerPoint/LibreOffice Impress演示文稿中。
graph2doc:將當(dāng)前的R圖保存到Microsoft Office Word/LibreOffice Writer文檔中。
函數(shù)參數(shù)展示和解釋
graph2office(x=NULL, file="Rplot", fun=NULL, type=c("PPT", "DOC"),
append=FALSE, aspectr=NULL, width=NULL, height=NULL,scaling=100,
paper="auto", orient=ifelse(type[1]=="PPT","landscape", "auto"),
margins=c(top=0.5, right=0.5, bottom=0.5, left=0.5),
center=TRUE, offx=1, offy=1, upscale=FALSE, vector.graphic=TRUE, ...)
# 需運(yùn)行上面的ggplot2繪圖
# Create a file name
filen <- "output_filename" # or
# filen <- paste("YOUR_DIR/ggplot")
# There are 3 ways to use graph2office():
### 1. Pass the plot as an object
# 導(dǎo)出圖形對象
graph2ppt(x=x, file=filen)
graph2doc(x=x, file=filen, aspectr=0.5)
### 2. Get the plot from current screen device
# 導(dǎo)出當(dāng)前預(yù)覽窗口呈現(xiàn)的圖
x
graph2ppt(file=filen, width=9, aspectr=2, append=TRUE)
graph2doc(file=filen, aspectr=1.7, append=TRUE)
### 3. Pass the plot as a function
# 導(dǎo)出自定義函數(shù)輸出的一系列圖
graph2ppt(fun=plot.fun, file=filen, aspectr=0.5, append=TRUE)
graph2doc(fun=plot.fun, file=filen, aspectr=0.5, append=TRUE)
導(dǎo)出到office(ppt和word)中的圖形,是可編輯的:
其它導(dǎo)出到ppt的例子(設(shè)置長寬比)
graph2ppt(file="ggplot2_plot.pptx", aspectr=1.7)
增加第二張同樣的圖,9英寸寬和A4長寬比的幻燈片 (append=T,追加)
graph2ppt(file="ggplot2_plot.pptx", width=9, aspectr=sqrt(2), append=TRUE)
添加相同圖形的第三張幻燈片,寬度和高度固定
graph2ppt(file="ggplot2_plot.pptx", width=6, height=5, append=TRUE)
禁用矢量化圖像導(dǎo)出
graph2ppt(x=x, file=filen, vector.graphic=FALSE, width=9, aspectr=sqrt(2), append=TRUE)
用圖填滿幻燈片
graph2ppt(x=x, file=filen, margins=0, upscale=TRUE, append=TRUE)
函數(shù)參數(shù)解釋
graph2vector(x=NULL, file="Rplot", fun=NULL, type="SVG",aspectr=NULL,
width=NULL, height=NULL, scaling=100,
font=ifelse(Sys.info()["sysname"]=="Windows",
"Arial","Helvetica")[[1]], bg="white", colormodel="rgb",
cairo=TRUE,fallback_resolution=600, ...)
#需運(yùn)行上面的ggplot2繪圖
# Create a file name
filen <- "output_filename" # or
# filen <- paste("YOUR_DIR/ggplot")
# There are 3 ways to use graph2vector():
### 1. Pass the plot as an object
# 導(dǎo)出圖形對象
graph2svg(x=x, file=filen, aspectr=2, font="Times New Roman",
height=5, bg="white")
graph2pdf(x=x, file=filen, aspectr=2, font="Arial",
height=5, bg="transparent")
graph2eps(x=x, file=filen, aspectr=2, font="Arial",
height=5, bg="transparent")
# 導(dǎo)出當(dāng)前預(yù)覽窗口呈現(xiàn)的圖
### 2. Get the plot from current screen device
x
graph2svg(file=filen, aspectr=2, font="Arial",
height=5, bg="transparent")
graph2pdf(file=filen, aspectr=2, font="Times New Roman",
height=5, bg="white")
graph2eps(file=filen, aspectr=2, font="Times New Roman",
height=5, bg="white")
# 導(dǎo)出自定義函數(shù)輸出的一系列圖
### 3. Pass the plot as a function
graph2svg(file=filen, fun=plot.fun, aspectr=2, font="Arial",
height=5, bg="transparent")
graph2pdf(file=filen, fun=plot.fun, aspectr=2, font="Arial",
height=5, bg="transparent")
graph2eps(file=filen, fun=plot.fun, aspectr=2, font="Arial",
height=5, bg="transparent")
rgl2png: 將當(dāng)前的rgl 3D圖形保存為PNG格式。
rgl2bitmap(file="Rplot", type=c("PNG"))
# Create a file name
filen <- tempfile("rgl") # or
# filen <- paste("YOUR_DIR/rgl")
# Generate a 3D plot using 'rgl'
x=y=seq(-10, 10, length=20)
z=outer(x, y, function(x, y) x^2 + y^2)
rgl::persp3d(x, y, z, col='lightblue')
# Save the plot as a png
rgl2png(file=filen)
# Note that omitting 'file' will save in current directory
生成的3D圖形:
將生成的3D圖形保存為PNG格式:
table2spreadsheet(x=NULL, file="Rtable", type=c("XLS", "CSV",
"CSV2"), append=FALSE, sheetName="new sheet", digits=2,
digitspvals=2, trim.pval=TRUE, add.rownames=FALSE, ...)
# Create a file name
filen <- "table_aov" # or
# filen <- paste("YOUR_DIR/table_aov")
# Generate ANOVA output
fit=aov(yield ~ block + N * P + K, data=npk) # 'npk' dataset from base 'datasets'
x=summary(fit)
# Save ANOVA table as a CSV
### Option 1: pass output as object
# 輸出對象
table2csv(x=x,file=filen, digits=1, digitspvals=3, add.rownames=TRUE)
# 屏幕輸出導(dǎo)出到文件
### Option 2: get output from console
summary(fit)
table2csv(file=filen, digits=2, digitspvals=4, add.rownames=TRUE)
# Save ANOVA table as an Excel
# Without formatting of the worksheet
x
table2excel(file=filen, sheetName="aov_noformatting", digits=1, digitspvals=3, add.rownames=TRUE)
# 更多參數(shù)
# With formatting of the worksheet
table2excel(x=x,file=filen, sheetName="aov_formated", append=TRUE, add.rownames=TRUE, fontName="Arial", fontSize=14, fontColour=rgb(0.15,0.3,0.75), border=c("top", "bottom"), fgFill=rgb(0.9,0.9,0.9), halign="center", valign="center", textDecoration="italic")
原始數(shù)據(jù)的表格:
轉(zhuǎn)換格式之后的,在console中的數(shù)據(jù):
文件(csv和excel)中表格數(shù)據(jù):
table2ppt: 導(dǎo)出統(tǒng)計(jì)輸出到Microsoft Office PowerPoint/ LibreOffice Impress演示文稿中的表
table2doc: 將統(tǒng)計(jì)輸出導(dǎo)出到Microsoft Office Word/ LibreOffice Writer文檔中的表
table2office(x=NULL, file="Rtable", type=c("PPT", "DOC"),
append=FALSE, digits=2, digitspvals=2, trim.pval=TRUE,
width=NULL, height=NULL, offx=1, offy=1,
font=ifelse(Sys.info()["sysname"]=="Windows", "Arial",
"Helvetica")[[1]], pointsize=12, add.rownames=FALSE)
# Create a file name
filen <- "table_aov"
# filen <- paste("YOUR_DIR/table_aov")
# Generate ANOVA output
fit=aov(yield ~ block + N * P + K, data=npk) # 'npk' dataset from base 'datasets'
# Save ANOVA table as a PPT
### Option 1: pass output as object
x=summary(fit)
table2ppt(x=x,file=filen, digits=1, digitspvals=3, add.rownames=TRUE)
### Option 2: get output from console
summary(fit)
table2ppt(x=x,file=filen, width=5, font="Times New Roman", pointsize=14, digits=4, digitspvals=1, append=TRUE, add.rownames=TRUE) # append table to previous slide
# Save ANOVA table as a DOC file
table2doc(x=x,file=filen, digits=1, digitspvals=3, add.rownames=TRUE)
summary(fit)
table2doc(file=filen, width=3.5, font="Times New Roman", pointsize=14, digits=4, digitspvals=1, append=TRUE, add.rownames=TRUE) # append table at end of document
將表格數(shù)據(jù)導(dǎo)出到ppt和word中:
table2html: 導(dǎo)出統(tǒng)計(jì)輸出到HTML表。
table2tex(x=NULL, file="Rtable", type="TEX", digits=2,
digitspvals=2, trim.pval=TRUE, summary=FALSE, standAlone=TRUE,
add.rownames=FALSE, ...)
summary:是否匯總數(shù)據(jù)文件。
standAlone:導(dǎo)出的Latex代碼應(yīng)該是獨(dú)立可編譯的,還是應(yīng)該粘貼到另一個(gè)文檔中。
add.rownames:是否應(yīng)該將行名添加到表中(在第一列之前插入一列)。
# Create a file name
filen <- tempfile(pattern="table_aov") # or
# filen <- paste("YOUR_DIR/table_aov")
# Generate ANOVA output
fit=aov(yield ~ block + N * P + K, data=npk) # 'npk' dataset from base 'datasets'
x=summary(fit)
# Export to Latex in standAlone format
table2tex(x=x,file=filen,add.rownames=TRUE)
# Export to Latex to paste in tex document
summary(fit) # get output from the console
table2tex(file=filen, standAlone=FALSE,add.rownames=TRUE)
# Export to HTML
table2html(x=x,file=filen) # or
summary(fit) # get output from the console
table2html(file=filen,add.rownames=TRUE)
導(dǎo)出到html或tex中的表格數(shù)據(jù):
前面我們介紹使用小O地圖EXCEL插件版能夠在EXCEL中標(biāo)注地圖、繪制地圖、可視化數(shù)據(jù)等操作。如下截圖,保存地圖成果只能通過截圖方式,圖片大小限制,不能很好滿足地圖打印、出圖等應(yīng)用需求。
為此,小O對【地圖快照】功能進(jìn)行升級,支持以下特性:
圖:在地圖上標(biāo)注點(diǎn)位
圖:數(shù)據(jù)地圖可視化
通過小O地圖提供的地圖繪圖、地圖可視化功能在地圖上標(biāo)注圖形之后,接下來就可以使用【地圖快照】功能截取地圖,將地圖成果保存成大圖。
選擇右上角【新建快照】,選擇【自定義范圍】,在地圖上出現(xiàn)截取范圍的選擇框
拖拽選擇區(qū)域,確定范圍后點(diǎn)擊【相機(jī)】圖標(biāo),快照窗口中會(huì)新增快照記錄
如下圖箭頭所示
默認(rèn)下,會(huì)截取當(dāng)前地圖比例尺的地圖作為全圖記錄。
用戶可以修改快照名稱,以方便記憶,也可以全圖界面中,使用鼠標(biāo)滾輪縮放圖片,也可復(fù)制圖片至剪貼板,復(fù)制到Word、PPT等軟件中使用。
接下來,切換到“大圖”,可以對該范圍進(jìn)行多地圖比例尺、多尺寸圖片的截取工作。
如需對截取地圖成果增加個(gè)性標(biāo)志,可設(shè)置水印,在截取圖片上增加水印文字。
如下圖示,進(jìn)入【下載進(jìn)度】頁面,點(diǎn)擊【水印】按鈕,在界面中設(shè)置水印,支持預(yù)覽。
在大圖界面中,選擇需要截取的層級
選中每個(gè)層級記錄,會(huì)在下方顯示層級的尺寸像素、尺寸毫米、預(yù)計(jì)耗時(shí)等信息,用戶可以根據(jù)需要自行選擇。
在【下載進(jìn)度】頁面中,顯示當(dāng)前層級網(wǎng)格,表示該層級需要下載的網(wǎng)格數(shù)及網(wǎng)格構(gòu)成。即該層級會(huì)下載多個(gè)網(wǎng)格,輸出時(shí)會(huì)將網(wǎng)格拼接起來成大圖。
如果需要重新下載圖塊,可以點(diǎn)擊【重置所有】按鈕,將清空所有層級已下載的數(shù)據(jù),并將記錄恢復(fù)到待下載狀態(tài)。
選中層級后,在【下載進(jìn)度】頁面中,點(diǎn)擊【啟動(dòng)】按鈕開始下載至結(jié)束。下載過程請勿移動(dòng)地圖及窗口。
如下圖所示。
數(shù)據(jù)下載完,切換至【預(yù)覽】頁面,點(diǎn)擊【刷新】可以查看下載數(shù)據(jù)的效果。
所示的數(shù)據(jù)為下載地圖層級的比例尺,整個(gè)圖片為當(dāng)前層級拼接后的大小。
點(diǎn)擊【導(dǎo)出】按鈕,在彈窗中選擇導(dǎo)出類型,點(diǎn)擊確定即可。
導(dǎo)出彈窗選擇類型,目前支持TIFF大圖、PNG、HTML網(wǎng)頁三種格式,后續(xù)將繼續(xù)新增PDF格式輸出。
通過上述設(shè)置,使用小O地圖截取的大圖如下圖示。
點(diǎn)擊可看大圖,下圖是3768x3168像素尺寸的圖片。
本文內(nèi)容介紹完畢!
希望對您地圖可視化應(yīng)用所有幫助!
PowerBI、EXCEL自帶地圖功能都不支持哦!
*請認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。