一、项目简介
以前一般的文件预览都是借助微软的在线访问方法,国内也就永中了吧!今天说的这个软件是一款基于springboot的文件文档在线预览项目解决方案。
支持 office、pdf、 cad
支持 txt、 xml、md、java、 php, py、js、css
支持jar、tar、 zip、 rar、 gzip
支持 jpg、jpeg、png、 gif、tif、 tiff
支持图片预览(翻转、缩放、镜像)
支持二次开发
springboot
html
css
js
私信回复:在线文档
能转换:R图和统计表转成发表级的Word、PPT、Excel、HTML、Latex、矢量图等
R包export可以轻松的将R绘制的图和统计表输出到 Microsoft Office (Word、PowerPoint和Excel)、HTML和Latex中,其质量可以直接用于发表。
export包可以在Windows、Ubuntu和Mac上跨平台运行。不过有些Mac发行版默认情况下没有安装cairo设备,需要自行安装。如果Mac用户已安装XQuartz,这个问题就解决了,它可以从https://www.xquartz.org/免费获得。
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")
该包主要包括以下几种转换
使用帮助信息如下:
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包后,先调用该包
library(export)
library(ggplot2)
library(datasets)
x=qplot(Sepal.Length, Petal.Length, data=iris,
color=Species, size=Petal.Width, alpha=I(0.7))
qplot()的意思是快速作图,利用它可以很方便的创建各种复杂的图形,其他系统需要好几行代码才能解决的问题,用qplot只需要一行就能完成。
使用半透明的颜色可以有效减少图形元素重叠的现象,要创建半透明的颜色,可以使用alpha图形属性,其值从0(完全透明)到1(完全不透明)。更多ggplot2绘图见ggplot2高效实用指南 (可视化脚本、工具、套路、配色) (往期教程更有很多生物信息相关的例子)。
鸢尾花(iris)是数据挖掘常用到的一个数据集,包含150个鸢尾花的信息,每50个取自三个鸢尾花种之一(setosa,versicolour或virginica)。每个花的特征用下面的5种属性描述萼片长度(Sepal.Length)、萼片宽度(Sepal.Width)、花瓣长度(Petal.Length)、花瓣宽度(Petal.Width)、类(Species)。
在console里展示数据图 (长宽比自己调节):
# 需运行上面的ggplot2绘图
# Create a file name
# 程序会自动加后缀
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
# 注意这个x,是运行命令,展示图像
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)
转换后的图形:
大部分图的细节修改都是用代码完成的,不需要后续的修饰;但如果某一些修改比较特异,不具有程序的通用性特征,或实现起来比较困难,就可以考虑后期修改。比如用AI文章用图的修改和排版。熟悉PPT的,也可以用PPT,这时R的图导出PPT,就要用到graph2office系列函数了。
graph2ppt: 将当前R图保存到Microsoft Office PowerPoint/LibreOffice Impress演示文稿中。
graph2doc:将当前的R图保存到Microsoft Office Word/LibreOffice Writer文档中。
函数参数展示和解释
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, ...)
# 需运行上面的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
# 导出图形对象
graph2ppt(x=x, file=filen)
graph2doc(x=x, file=filen, aspectr=0.5)
### 2. Get the plot from current screen device
# 导出当前预览窗口呈现的图
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
# 导出自定义函数输出的一系列图
graph2ppt(fun=plot.fun, file=filen, aspectr=0.5, append=TRUE)
graph2doc(fun=plot.fun, file=filen, aspectr=0.5, append=TRUE)
导出到office(ppt和word)中的图形,是可编辑的:
其它导出到ppt的例子(设置长宽比)
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)
禁用矢量化图像导出
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)
函数参数解释
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, ...)
#需运行上面的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
# 导出图形对象
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")
# 导出当前预览窗口呈现的图
### 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")
# 导出自定义函数输出的一系列图
### 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: 将当前的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)
# 屏幕输出导出到文件
### 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)
# 更多参数
# 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")
原始数据的表格:
转换格式之后的,在console中的数据:
文件(csv和excel)中表格数据:
table2ppt: 导出统计输出到Microsoft Office PowerPoint/ LibreOffice Impress演示文稿中的表
table2doc: 将统计输出导出到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
将表格数据导出到ppt和word中:
table2html: 导出统计输出到HTML表。
table2tex(x=NULL, file="Rtable", type="TEX", digits=2,
digitspvals=2, trim.pval=TRUE, summary=FALSE, standAlone=TRUE,
add.rownames=FALSE, ...)
summary:是否汇总数据文件。
standAlone:导出的Latex代码应该是独立可编译的,还是应该粘贴到另一个文档中。
add.rownames:是否应该将行名添加到表中(在第一列之前插入一列)。
# 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)
导出到html或tex中的表格数据:
前面我们介绍使用小O地图EXCEL插件版能够在EXCEL中标注地图、绘制地图、可视化数据等操作。如下截图,保存地图成果只能通过截图方式,图片大小限制,不能很好满足地图打印、出图等应用需求。
为此,小O对【地图快照】功能进行升级,支持以下特性:
图:在地图上标注点位
图:数据地图可视化
通过小O地图提供的地图绘图、地图可视化功能在地图上标注图形之后,接下来就可以使用【地图快照】功能截取地图,将地图成果保存成大图。
选择右上角【新建快照】,选择【自定义范围】,在地图上出现截取范围的选择框
拖拽选择区域,确定范围后点击【相机】图标,快照窗口中会新增快照记录
如下图箭头所示
默认下,会截取当前地图比例尺的地图作为全图记录。
用户可以修改快照名称,以方便记忆,也可以全图界面中,使用鼠标滚轮缩放图片,也可复制图片至剪贴板,复制到Word、PPT等软件中使用。
接下来,切换到“大图”,可以对该范围进行多地图比例尺、多尺寸图片的截取工作。
如需对截取地图成果增加个性标志,可设置水印,在截取图片上增加水印文字。
如下图示,进入【下载进度】页面,点击【水印】按钮,在界面中设置水印,支持预览。
在大图界面中,选择需要截取的层级
选中每个层级记录,会在下方显示层级的尺寸像素、尺寸毫米、预计耗时等信息,用户可以根据需要自行选择。
在【下载进度】页面中,显示当前层级网格,表示该层级需要下载的网格数及网格构成。即该层级会下载多个网格,输出时会将网格拼接起来成大图。
如果需要重新下载图块,可以点击【重置所有】按钮,将清空所有层级已下载的数据,并将记录恢复到待下载状态。
选中层级后,在【下载进度】页面中,点击【启动】按钮开始下载至结束。下载过程请勿移动地图及窗口。
如下图所示。
数据下载完,切换至【预览】页面,点击【刷新】可以查看下载数据的效果。
所示的数据为下载地图层级的比例尺,整个图片为当前层级拼接后的大小。
点击【导出】按钮,在弹窗中选择导出类型,点击确定即可。
导出弹窗选择类型,目前支持TIFF大图、PNG、HTML网页三种格式,后续将继续新增PDF格式输出。
通过上述设置,使用小O地图截取的大图如下图示。
点击可看大图,下图是3768x3168像素尺寸的图片。
本文内容介绍完毕!
希望对您地图可视化应用所有帮助!
PowerBI、EXCEL自带地图功能都不支持哦!
*请认真填写需求信息,我们会在24小时内与您取得联系。