當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R windows Windows 圖形設備


R語言 windows 位於 grDevices 包(package)。

說明

僅適用於 Windows。圖形設備被打開。對於 windowswin.graphx11X11 來說,這是當前 Windows 顯示上的一個窗口:多個名稱是為了與其他係統兼容。 win.metafile 打印到文件,win.print 打印到 Windows 打印係統。

用法

windows(width, height, pointsize, record, rescale, xpinch, ypinch,
        bg, canvas, gamma, xpos, ypos, buffered, title,
        restoreConsole, clickToConfirm, fillOddEven,
        family, antialias)

win.graph(width, height, pointsize)

win.metafile(filename = "", width = 7, height = 7, pointsize = 12,
             family, restoreConsole = TRUE,
             xpinch = NA_real_, ypinch = NA_real_)

win.print(width = 7, height = 7, pointsize = 12, printer = "",
          family, antialias, restoreConsole = TRUE)

參數

width, height

繪圖窗口畫布的(標稱)寬度和高度(以英寸為單位)。默認7

pointsize

繪製文本的默認磅值,解釋為大點(1/72 英寸)。值四舍五入為最接近的整數:小於或等於零的值將重置為默認值 12

record

邏輯:設置記錄繪圖標誌的初始狀態。默認FALSE

rescale

字符, c("R", "fit", "fixed") 之一。控製調整設備大小的操作。默認"R"。請參閱“調整大小選項”部分。

xpinch, ypinch

雙倍的。每英寸像素數,水平和垂直。默認 NA_real_ ,表示從 Windows 獲取值。

bg

顏色。初始背景顏色。默認"transparent"

canvas

顏色。當背景顏色透明時可見的畫布顏色。應該是純色(並且任何 alpha 值都將被忽略)。默認"white"

gamma

伽馬校正模糊因子。 R中的顏色是sRGB;如果您的顯示器不符合 sRGB,您可以通過調整此參數對 RGB 通道應用額外的伽瑪校正來改進。默認為 1(無額外伽馬校正)。

xpos, ypos

整數。窗口左上角的位置(以像素為單位)。負值取自顯示器的另一邊。缺失值(默認值)意味著從‘utils Rwin configuration’ 文件,該文件默認為xpos = -25, ypos = 0:這會將窗口的右邊置於距顯示器右邊 25 個像素的位置。

buffered

合乎邏輯的。屏幕輸出應該是double-buffered嗎?默認TRUE

title

字符串,最多 100 個字節。使用默認的 "" ,在內部創建合適的標題。 C 風格的整數格式將被設備號替代。

filename

輸出文件的名稱:它將是一個增強的 Windows 圖元文件,通常給出擴展名“.emf' 或者 '.wmf’。最多允許 511 個字符。如果字符串中包含整數格式,則將替換頁碼(請參閱postscript有關更多詳細信息)和tilde-expansion(請參閱path.expand)執行。 (結果必須少於 600 個字符長。)默認值,"", 表示剪貼板。

printer

Windows 已知的打印機名稱。默認情況下會出現一個對話框供用戶選擇打印機。

restoreConsole

邏輯:請參閱下麵的“詳細信息”。對於屏幕設備,默認為FALSE

clickToConfirm

邏輯:是否通過單擊設備而不是在控製台中回答問題來真正確認新幀。默認TRUE

fillOddEven

邏輯控製多邊形填充模式:有關詳細信息,請參閱polygon。默認TRUE

family

指定默認字體係列的長度為一的字符向量。請參閱“字體”部分。

antialias

長度為一的字符向量,請求控製字體抗鋸齒。這與 "default""none""cleartype""gray" 部分匹配。請參閱“字體”部分。

細節

所有這些設備都是作為同一設備的變體來實現的。

windows 的所有參數都有 windows.options 設置的默認值:參數部分中給出的默認值是默認值的默認值。這些默認值也適用於 win.graphx11X11gammaxpinchypinchbufferedrestoreConsoleantialias 的內部值。

窗口的大小是根據提供的有關顯示的信息計算得出的:它取決於準確配置的係統。默認情況下,屏幕設備會向 Windows 詢問每英寸的像素數。這可以通過指定 xpinchypinch 來覆蓋(這通常是錯誤的),最方便的是通過 windows.options 。例如,13.3 英寸 1280x800 屏幕(典型的筆記本電腦顯示屏)的分辨率為 96 dpi,盡管其實際分辨率約為 114 dpi。這些參數也可能有助於將輸出的比例與圖元文件的大小相匹配(否則取決於準確配置的係統)。

不同的顏色需要仔細區分。設備區域之外的區域以 Windows 應用程序背景顏色著色。設備區域以畫布顏色著色。當調用新頁麵時,這是繪圖的背景顏色over-painted,但該背景顏色可以是透明的(默認情況下)。設置畫布顏色和背景顏色之間的一個區別是,保存繪圖時,會複製背景顏色,但不會複製畫布顏色。參數bg 設置基本圖形中par("bg") 和網格圖形中gpar("fill") 的初始值

記錄的情節曆史屬於 "SavedPlots" 類。他們有一個 print 方法和一個子集方法。由於各個圖屬於 "recordedplot" 類,因此可以通過打印來重播它們:請參閱 recordPlot 。活動繪圖曆史記錄存儲在工作區中的變量 .SavedPlots 中。

當屏幕設備為double-buffered(默認)時,屏幕在上次繪圖調用後 100 毫秒更新一次,或者在連續繪圖期間每 500 毫秒更新一次。在打開設備之前,可以通過將 options("windowsTimeout") 設置為兩個整數的向量來更改這些時間。

par(lwd =)控製的線寬是1/96英寸的倍數。允許小於 1 的倍數,小至一個像素寬度。

對於win.metafile,每個文件隻允許一個圖,並且 Windows 似乎不允許重複使用該文件。因此,允許多個繪圖的唯一方法是使用參數化的filename,如示例中所示。如果省略 filename (或指定為 "" ),則關閉設備時輸出將複製到剪貼板。

restoreConsole 參數是對多個 Windows 圖形設備當前實現中的問題的臨時修複,並且可能會在即將發布的版本中刪除。如果設置為 FALSE ,新設備打開後控製台將不會獲得焦點。

屏幕設備上支持線條、填充和文本的半透明顏色。這些適用於(從“文件”菜單)保存為 PDF、PNG、BMP、JPEG 和 TIFF,但如果保存為圖元文件和 PostScript,則將被忽略。底層 Windows API 的限製意味著半透明對象必須嚴格包含在設備區域內(允許線寬和連接)。

繪圖設備被打開:沒有任何內容返回到R口譯員。

調整大小選項

如果重新調整屏幕設備的大小,則默認行為 ( "R" ) 是重新繪製繪圖,就像最初指定了新大小一樣。使用 "fit" 將重新縮放現有繪圖以適應新的設備區域,同時保留縱橫比。使用 "fixed" 將使繪圖大小保持不變,如果部分繪圖被遮擋,則添加滾動條。

創建的圖形窗口永遠不會超過屏幕寬度或高度的 85%,但可以將其大小調整為更大的尺寸。對於前兩個 rescale 選項,如果需要,寬度和高度將按比例重新縮放,如果是 rescale = "fit",則繪圖將相應地重新縮放。如果rescale = "fixed"在這些約束內選擇最初顯示的部分,分別針對寬度和高度。在 MDI 模式下,限製為 MDI 客戶端區域的 85%。

重新縮放窗口後(使用 "fit" 時)使用 strwidthstrheight 會給出原始單位的尺寸,但僅近似於從重新縮放的字體的度量(整數大小)導出的尺寸

顯示區域可能大於‘paper’尺寸,並且‘paper’之外的區域以Windows應用程序背景顏色著色。如果重新縮放有效,"din" 等圖形參數指的是縮放圖。

字體

Windows 設備中繪製的文本所使用的字體可以通過兩種方式進行控製。文件 R_HOME\etc\Rdevga 可用於指定 par(font =)(或等效的 grid)的映射。或者,可以通過非空 family 參數(或圖形包中的 par(family =))指定字體係列,這將通過 Windows 字體數據庫用於字體 1:4(請參閱 windowsFonts ) 。

字體的外觀取決於通過 antialias 參數和機器設置進行的抗鋸齒設置。這些是對 Windows GDI 的提示,可能無法遵循,但antialias = "none" 應確保不使用抗鋸齒函數。對於屏幕設備,默認值取決於機器設置:如果已啟用,則默認值為"cleartype"。請注意,灰度抗鋸齒僅用於小字體(低於約 9 像素,典型顯示器上約為 7 點)。

通過遠程桌麵訪問係統時,遠程桌麵設置和用戶的本地帳戶設置都與是否使用抗鋸齒相關。

某些字體僅適用於 ClearType 抗鋸齒函數,例如 Meiryo 日語字體。

慣例

本節介紹“R Internals”手冊中規定的圖形設備約定的實現。

  • 默認設備尺寸為 7 平方英寸,盡管 Windows 經常錯誤地實現這一點:請參閱“詳細信息”。

  • 字體大小以大點為單位。

  • 默認字體係列是 Arial。

  • 線寬為 1/96 英寸的倍數,最小為 1 個像素。

  • 圓的最小半徑為 1 像素。

  • pch = "."cex = 1 對應於邊長為 1 像素和 0.01 英寸中較大者的矩形。

  • 顏色通過顯卡的未配置文件顏色映射進行解釋 - 假定符合 sRGB。

注意

x11()X11()win.graph() 是調用 windows() 的簡單包裝器,主要出於兼容性原因而存在。

此外,x11()X11() 有自己的 Unix-alikes 幫助頁麵(其中還有更多參數)。

例子

## Not run: ## A series of plots written to a sequence of metafiles
if(.Platform$OS.type == "windows")
   win.metafile("Rplot%02d.wmf", pointsize = 10)

## End(Not run)

也可以看看

windowsFontssavePlotbringToTopDevicespostscriptx11 適用於 Unix 類係統。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Windows Graphics Devices。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。