萬(wàn)能轉(zhuǎn)換:R圖和統(tǒng)計(jì)表轉(zhuǎn)成發(fā)表級(jí)的Word髓绽、PPT敛苇、Excel、HTML顺呕、Latex枫攀、矢量圖等

R包export可以輕松的將R繪制的圖和統(tǒng)計(jì)表輸出到 Microsoft Office (Word、PowerPoint和Excel)株茶、HTML和Latex中来涨,其質(zhì)量可以直接用于發(fā)表。

  • 你和PPT高手之間启盛,就只差一個(gè)iSlide

  • Excel改變了你的基因名蹦掐,30% 相關(guān)Nature文章受影響技羔,NCBI也受波及

  • 特點(diǎn)

  • 可以用命令將交互式R圖或

    ggplot2

    Latticebase R圖保存到Microsoft Word卧抗、Powerpoint或其他各種位圖或矢量格式堕阔。
  • 完全可編輯的Powerpoint矢量格式輸出,支持手動(dòng)整理繪圖布局颗味。

  • 統(tǒng)計(jì)分析

    的輸出保存為Excel、Word牺弹、PowerPoint浦马、Latex或HTML文檔的表格形式。
  • 自定義R輸出格式张漂。

  • 安裝

    export包可以在Windows晶默、Ubuntu和Mac上跨平臺(tái)運(yùn)行。不過(guò)有些Mac發(fā)行版默認(rèn)情況下沒(méi)有安裝cairo設(shè)備航攒,需要自行安裝磺陡。如果Mac用戶已安裝XQuartz,這個(gè)問(wèn)題就解決了漠畜,它可以從https://www.xquartz.org/免費(fèi)獲得币他。

    官方CRAN發(fā)布 (以不能用)

    install.packages("export")

    從 Github 安裝 (推薦


    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

  • graph2office

  • graph2vector

  • rgl2bitmap 轉(zhuǎn)換3D圖

  • table2office

  • table2spreadsheet

  • table2tex

  • graph2bitmap: 將當(dāng)前R圖保存到bmp文件中

  • graph2png: 將當(dāng)前R圖保存到png文件中

  • graph2tif: 將當(dāng)前R圖保存到TIF文件中

  • graph2jpg: 將當(dāng)前R圖保存為JPEG文件

  • 使用幫助信息如下:

    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, ...)

  • aspectr: 期望縱橫比。如果設(shè)置為空憔狞,則使用圖形設(shè)備的縱橫比蝴悉。

  • width: 所需寬度(英寸);可以與期望的縱橫比aspectr組合。

  • height: 所需高度(英寸);可以與期望的縱橫比aspectr組合瘾敢。

  • scaling: 按一定比例縮放寬度和高度拍冠。

  • font: PNG和TIFF輸出中標(biāo)簽所需的字體; Windows系統(tǒng)默認(rèn)為Arial,其他系統(tǒng)默認(rèn)為Helvetica簇抵。

  • bg: 所需的背景顏色庆杜,例如“白色”或“透明”。

  • cairo: 邏輯碟摆,指定是否使用Cairographics導(dǎo)出晃财。

  • tiffcompression: 用于TIF文件的壓縮。

  • jpegquality: JPEG壓縮的質(zhì)量典蜕。

  • 準(zhǔn)備開(kāi)始

    安裝完?export包后拓劝,先調(diào)用該包

    library(export)

    ggplot2繪圖

    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)需要好幾行代碼才能解決的問(wèn)題郑临,用qplot只需要一行就能完成。

    使用半透明的顏色可以有效減少圖形元素重疊的現(xiàn)象屑宠,要?jiǎng)?chuàng)建半透明的顏色厢洞,可以使用alpha圖形屬性,其值從0(完全透明)到1(完全不透明)。更多ggplot2繪圖見(jiàn)

    ggplot2高效實(shí)用指南 (可視化腳本躺翻、工具丧叽、套路、配色)

    ?(往期教程更有很多

    生物信息

    相關(guān)的例子)公你。

    鳶尾花(iris)是數(shù)據(jù)挖掘常用到的一個(gè)數(shù)據(jù)集踊淳,包含150個(gè)鳶尾花的信息,每50個(gè)取自三個(gè)鳶尾花種之一(setosa,versicolourvirginica)陕靠。每個(gè)花的特征用下面的5種屬性描述萼片長(zhǎng)度(Sepal.Length)迂尝、萼片寬度(Sepal.Width)、花瓣長(zhǎng)度(Petal.Length)剪芥、花瓣寬度(Petal.Width)垄开、類(lèi)(Species)。

    在console里展示數(shù)據(jù)圖 (長(zhǎng)寬比自己調(diào)節(jié)):

    導(dǎo)出圖形對(duì)象

    # 需運(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)

    導(dǎo)出當(dāng)前繪圖窗口展示的圖

    ### 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)

    導(dǎo)出自定義函數(shù)輸出的一組圖

    ### 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)換后的圖形:

    與Office系列的交互

    大部分圖的細(xì)節(jié)修改都是用代碼完成的,不需要后續(xù)的修飾益兄;但如果某一些修改比較特異锻梳,不具有程序的通用性特征,或?qū)崿F(xiàn)起來(lái)比較困難净捅,就可以考慮后期修改唱蒸。比如用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, ...)

  • margins: 預(yù)設(shè)留白邊距向量捉腥。

  • paper: 紙張尺寸——“A5”至“A1”用于Powerpoint導(dǎo)出氓拼,或“A5”至“A3”用于Word輸出;默認(rèn)“auto”自動(dòng)選擇適合您的圖形的紙張大小。如果圖太大抵碟,無(wú)法在給定的紙張大小上顯示桃漾,則按比例縮小。

  • orient: 所需的紙張方向-“自動(dòng)”拟逮,“縱向”或“橫向”; Word輸出默認(rèn)為“自動(dòng)”撬统,Powerpoint默認(rèn)為“橫向”。

  • vector.graphic: 指定是否以可編輯的向量DrawingML格式輸出敦迄。默認(rèn)值為T(mén)RUE恋追,在這種情況下凭迹,編輯Powerpoint或Word中的圖形時(shí),可以先對(duì)圖形元素進(jìn)行分組苦囱。如果設(shè)置為FALSE嗅绸,則將該圖以300 dpi的分辨率柵格化為PNG位圖格式。(柵(shān)格化,是PS中的一個(gè)專(zhuān)業(yè)術(shù)語(yǔ),柵格即像素,柵格化即將矢量圖形轉(zhuǎn)化為位圖撕彤。)

  • 同樣有3種導(dǎo)出方式

    # 需運(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)出圖形對(duì)象

    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è)置長(zhǎng)寬比)

    graph2ppt(file="ggplot2_plot.pptx", aspectr=1.7)

    增加第二張同樣的圖,9英寸寬和A4長(zhǎng)寬比的幻燈片 (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)

    輸出矢量圖

  • graph2svg: 將當(dāng)前的R圖保存為SVG格式

  • graph2pdf: 將當(dāng)前的R圖保存為PDF格式

  • graph2eps: 將當(dāng)前的R圖保存為EPS格式

  • 函數(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, ...)

  • fallback_resolution: dpi中的分辨率用于柵格化不支持的矢量圖形。

  • #需運(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)出圖形對(duì)象
    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")

    轉(zhuǎn)換3D圖形

    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格式:

    輸出統(tǒng)計(jì)結(jié)果到表格?table2spreadsheet

  • table2excel: 導(dǎo)出統(tǒng)計(jì)輸出到Microsoft Office Excel/ LibreOffice Calc電子表格中的一個(gè)表.

  • table2csv:將統(tǒng)計(jì)輸出以CSV格式導(dǎo)出到表中(“,”表示值分隔撼唾,“廉邑。”表示小數(shù))

  • table2csv2: 將統(tǒng)計(jì)輸出以CSV格式導(dǎo)出到表中(“;”表示值分隔倒谷,”蛛蒙,”表示小數(shù))

  • 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, ...)

  • sheetName: 一個(gè)字符串,給出創(chuàng)建的新工作表的名稱(chēng)(僅針對(duì)type==”XLS”)渤愁。它必須是惟一的(不區(qū)分大小寫(xiě))牵祟,不受文件中任何現(xiàn)有工作表名稱(chēng)的影響。

  • digits:除具有p值的列外抖格,要顯示所有列的有效位數(shù)的數(shù)目诺苹。

  • digitspvals:具有p值的列要顯示的有效位數(shù)的數(shù)目。

  • # 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
    # 輸出對(duì)象
    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ù):

    導(dǎo)出為Word中的表收奔,再也不用復(fù)制粘貼調(diào)格式了?table2office

    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中:

    table2tex

    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ù):

    最后編輯于
    ?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
    • 序言:七十年代末翩肌,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子禁悠,更是在濱河造成了極大的恐慌念祭,老刑警劉巖,帶你破解...
      沈念sama閱讀 206,013評(píng)論 6 481
    • 序言:濱河連續(xù)發(fā)生了三起死亡事件碍侦,死亡現(xiàn)場(chǎng)離奇詭異棒卷,居然都是意外死亡顾孽,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
      沈念sama閱讀 88,205評(píng)論 2 382
    • 文/潘曉璐 我一進(jìn)店門(mén)比规,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)若厚,“玉大人,你說(shuō)我怎么就攤上這事蜒什〔饨眨” “怎么了?”我有些...
      開(kāi)封第一講書(shū)人閱讀 152,370評(píng)論 0 342
    • 文/不壞的土叔 我叫張陵灾常,是天一觀的道長(zhǎng)霎冯。 經(jīng)常有香客問(wèn)我,道長(zhǎng)钞瀑,這世上最難降的妖魔是什么沈撞? 我笑而不...
      開(kāi)封第一講書(shū)人閱讀 55,168評(píng)論 1 278
    • 正文 為了忘掉前任,我火速辦了婚禮雕什,結(jié)果婚禮上缠俺,老公的妹妹穿的比我還像新娘。我一直安慰自己贷岸,他們只是感情好壹士,可當(dāng)我...
      茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
    • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著偿警,像睡著了一般躏救。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上螟蒸,一...
      開(kāi)封第一講書(shū)人閱讀 48,954評(píng)論 1 283
    • 那天盒使,我揣著相機(jī)與錄音,去河邊找鬼七嫌。 笑死忠怖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的抄瑟。 我是一名探鬼主播凡泣,決...
      沈念sama閱讀 38,271評(píng)論 3 399
    • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼皮假!你這毒婦竟也來(lái)了鞋拟?” 一聲冷哼從身側(cè)響起,我...
      開(kāi)封第一講書(shū)人閱讀 36,916評(píng)論 0 259
    • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤惹资,失蹤者是張志新(化名)和其女友劉穎贺纲,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體褪测,經(jīng)...
      沈念sama閱讀 43,382評(píng)論 1 300
    • 正文 獨(dú)居荒郊野嶺守林人離奇死亡猴誊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
      茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
    • 正文 我和宋清朗相戀三年潦刃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片懈叹。...
      茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
    • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡乖杠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出澄成,到底是詐尸還是另有隱情胧洒,我是刑警寧澤,帶...
      沈念sama閱讀 33,624評(píng)論 4 322
    • 正文 年R本政府宣布墨状,位于F島的核電站卫漫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏肾砂。R本人自食惡果不足惜列赎,卻給世界環(huán)境...
      茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
    • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望镐确。 院中可真熱鬧包吝,春花似錦、人聲如沸辫塌。這莊子的主人今日做“春日...
      開(kāi)封第一講書(shū)人閱讀 30,199評(píng)論 0 19
    • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)臼氨。三九已至,卻和暖如春芭届,著一層夾襖步出監(jiān)牢的瞬間储矩,已是汗流浹背。 一陣腳步聲響...
      開(kāi)封第一講書(shū)人閱讀 31,418評(píng)論 1 260
    • 我被黑心中介騙來(lái)泰國(guó)打工褂乍, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留持隧,地道東北人。 一個(gè)月前我還...
      沈念sama閱讀 45,401評(píng)論 2 352
    • 正文 我出身青樓逃片,卻偏偏與公主長(zhǎng)得像屡拨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子褥实,可洞房花燭夜當(dāng)晚...
      茶點(diǎn)故事閱讀 42,700評(píng)論 2 345