2014-02-17 46 views
7

在R(3.0.2在Windows 7中)段()函數不能處理透明度?R段無法處理透明度?

dev.new(width=10,height=10) 
par(mar=c(0,0,0,0)) 
x = 1:10 
y = 10:1 
plot(x,y) 
segments(0,0,10,10,col=rgb(0,0,0,0.5)) 

這應該在圖上畫一條灰線,但沒有畫任何東西。爲什麼?

+0

我無法重現此;這條線是爲我繪製的。 R數字窗口中的問題,還是寫入文件的問題?某些文件類型不支持所有系統上的透明度。 –

+0

在我的設備上(Windows 7 R2.15),如果在'par'命令中包含縮小的邊距,我可以在R圖形窗口*中重現此操作。如果我評論這一行,分段的行爲就像預期的那樣。這部分是否在繪圖窗口邊緣可能存在問題? –

+1

我得到了同樣的行爲(Win7,R302)和'segments'和'lines',但只有至少有一個margin('mar')被設置爲零。繪圖時也是如此。 '線(c(2,7),c(2,7),col = rgb(0,1,0,.5))',因此它不依賴於段端點。所以在零邊距參數和透明度參數之間會出現一些奇怪的現象。也證實了一個不透明的顏色情節罰款。我傾向於基本代碼中的一個bug。 –

回答

4

根據grDevices幫助,(?dev.capabilities

最新設備支持半透明顏色提供的圖形格式不(其的PostScript不)。另一方面,相對較少的圖形格式支持(完全或半透明)背景:通常後者僅在PDF和PNG圖中找到。

這似乎是正確的,符合原來的問題報告的行爲和報告的迴應提交的錯誤報告。 (查看評論)

這是Windows'GDI如何處理半透明(透明工作正常,但顏色不透明)的函數。 ...

+0

透明度和半透明度有什麼區別? – Rodrigo