熱線電話:13121318867

登錄
首頁精彩閱讀如何用R來定制個性化PPT
如何用R來定制個性化PPT
2016-10-07
收藏

如何用R來定制個性化PPT

ReporteRs包可以創建word,ppt,html文檔。它可以格式化R的輸出:如可編輯的矢量圖,復雜的表格報告功能,企業模板文檔的重用(.docx和.pptx)。它是一個很好的自動化報告工具,并且不需要你安裝微軟的任何產品。本文演示的是如何用它來制作PPT文檔。

入門

創建一個pptx對象

通過pptx函數創建的一個R對象可以表示一個PPT文檔。它包含兩個參數:標題和模板文件。如果未指定,模板文件在包目錄下是一個空文檔。

每當創建一個pptx對象的時候,你就可以使用一個模板文件。這個文件是從內存中復制過來的,并且副本可以通過R輸出為一個文檔。模板文件提供了可用的格式和幻燈片板式。

將R的輸出結果發送到一個對象

接下來,創建pptx文件的組成部分。

在將R的輸出發送到一個文檔(或幻燈片)之前,必須添加一個幻燈片。通過函數addSlide可以實現。

在添加幻燈片的時候,需要選定一個布局。然后添加文本,表格,圖形和其它組成部分。

將對象寫入到一個文件中

最后,使用函數writeDoc將對象寫入到后綴為.pptx的文件中。

示例

下面我們通過一個帶有注解的R腳本來做演示:

模板,版式和樣式

pptx函數可以通過"pptx"模板文件創建一個文檔。

如果沒有提供,可以使用一個空文檔(在包目錄下的templates文件中可以找到)


ReporteRs使用PPT文件作為模板。這個模板是一個最原始的PPT文檔,所有的幻燈片布局,外形(占位符)和樣式來自于:

模板中可用的幻燈片版式模板中自定義好的設計,模板格式和外形(模板中的占位符)

ppt模板的內容不會被刪除,以便在現有的演示文稿中添加內容,而不用再復制粘貼。

如果需要除了PPT內置的幻燈片母版版式,可以在你的PPT演示文稿中添加版式并做自定義。要添加自己的版式,只需在PPT中按如下操作即可:

1.切換到幻燈片母版視圖

2.插入版式

3.插入你想要增加到新版式中的占位符。根據需要包含的內容移動并調整它們的大小。

4.可以對新的占位符做些設置(如:修改背景顏色,字體等)

5.保存并關閉模板

6.通過pptx函數中參數template所指定的模板文件名創建一個pptx對象。

添加內容

添加幻燈片

利用addSlide函數可以在pptx對象中添加一個幻燈片??捎玫男螤顢蹈鶕x的版式通過R輸出來填充。例如,版式"Title and Content"只能接收一個R輸出,"Two Content"可以接收兩個R輸出。

如果你需要一個新的版式,在PPT中創建它。

當添加一個R輸出的時候,如果沒有指定位置和大小,R輸出會采用被定義的模板版式中的位置和尺寸。如果你不喜歡模板中的模型位置屬性,可以強制改變大小和位置。

將R的輸出結果發送到幻燈片

接下來,創建幻燈片的組成部分。

在幻燈片中添加文本,表格,圖形和其它組成部分??捎玫暮瘮狄娙缦潞瘮盗斜?。

如果現在的幻燈片沒有剩余空間或者是你想添加其它內容,可以強制設定模型的大小和位置。具體可參考幾個關鍵的函數和參數

函數列表

下面這些函數只能用于輸出格式為pptx的文檔:

添加標題:addTitle

添加表格:addFlexTable-見FlexTable和addFlexTable

添加圖形:見addPlot

添加外部圖像:見addImage

添加文本段落:addPagraph

添加語法高亮的R代碼:見addRScript

添加幻燈片:addSlide(見"幾個關鍵的函數和參數")

將pptx對象寫入PPT文檔:見writeDoc

添加日期:addDate(見下述"幾個特殊函數")

添加腳注:addFooter(見下述"幾個特殊函數")

添加頁數:addPageNumber(見下述"幾個特殊函數")

幾個關鍵的函數的參數

addSlide函數

函數addSlide可以添加一個幻燈片到pptx對象。參數slide.layout指定新建幻燈片的版式設計。


slide.layouts函數

模板中包含了可用的版式?;脽羝陌媸礁拍钤赗eporteRs中非常重要。

內容取決于所選擇的版式。當添加的幻燈片版式為"Title and Content"時,幻燈片只包含兩個部分:標題和內容。

外形(或占位符)的大部分格式都已經設置好了:圖形的大小由版式中的外形尺寸指定好了,默認字體和段落樣式也由外形的屬性值指定。

slide.layouts返回幻燈片版式名稱。用addSlide函數添加一個幻燈片的時候可能需要核對下有哪些版式可用。


檢查幻燈片版式

通過slide.layouts函數的可選參數layout獲取版式的設計圖。


這里,幻燈片可用接收如下形狀:標題,四個內容(圖形,表格,段落),日期和幻燈片數。

設置大小和位置

寬度,高度和輸出位置在PPT模板給定的時候就通過外形屬性值設定好了。當我們在幻燈片中添加內容的時候,ReporteRs會在當前幻燈片中讀取下一個可用外形的屬性值。你可以指定一些特定輸出(表格,文本,圖形和外部圖像)的外形位置和尺寸 如果沒有設定offx,offy,width,heigh這些參數。位置的尺寸會通過幻燈片的下一個可用形狀中的width和heigh默認設定好。 如果指定這些參數,可以得到新的外形位置和尺寸。這樣做可以在幻燈片沒有更多剩余的空間時添加新的內容。

以下R腳本可以生成

幾個特殊函數

日期

利用addDate函數可以在幻燈片中增加日期。它的外形通過模板文檔中的日期外形屬性值設定。

頁數

利用函數addPageNumber可以在幻燈片中添加幻燈片的頁數。同樣,它的外形通過模板文檔中的頁數外形屬性值設定。


頁腳

函數addFooter可以實現在幻燈片的頁腳處添加注解。同樣,通過模板文件默認設定。

副標題

函數addSubtitle實現在幻燈片中添加副標題。外形由模板默認設定。

副標題的外形只存在類型為"Title Slide"的幻燈片。

更換幻燈片

通過設定addSlide中的參數bookmark可以實現幻燈片的替換。

注:在本文中遇到的坑跟大家分享下。

1.前面已經提到創建一個模板有兩種方法。方法一,mydoc = pptx()通過調用包目錄下templates文件夾中的EMPTY_DOC.pptx作為模板。方法二,自己在當前工作目錄下新建一個ppt文檔作為模板。如:我在工作目錄下新建了一個名為"PP_example.pptx"文檔,通過mydoc = pptx( title = 'title', template = 'pp_example.pptx' )調用這個模板。這兩種方法會有些區別:i)版式

采用方法一

采用方法二

所以,如果用的是方法二調用的模板,在做幻燈片替換的時候做下中文設置即可:mydoc = addSlide( mydoc, slide.layout = '標題和內容', bookmark = 3 )。但這里有一個問題就是無法插入圖形,出現如下錯誤(如果有小伙伴解決了這個問題歡迎在下面評論中留言):

但文本,表格等可以插入。但通過方法一得到一個ppt文檔,再把它作為模板后就可以插入圖形了。

2.在做幻燈片替換的過程中,將pptx對象writeDoc()到ppt文檔的時候ppt需先關閉。

3.用方法二作為模板的時候,需先在工作目錄下新建一個ppt文檔,否則提示文件不存在。

完整案例

下面的代碼展示了可以用在pptx對象上的一些最有用的函數。



數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢