[英]Add alpha value to lattice xyplot panel function
我想在xyplot
面板函數中分配兩個alpha值: alpha= 0.3
點和alpha=1
線 。 這是一個例子:
library(lattice)
library(sp)
data(meuse)
xyplot(elev~ copper,data=meuse,groups=factor(soil),grid = TRUE,scales=list(tck=c(1,0), x=list(cex=1.1), y=list(cex=1.1)),
auto.key = list(space = 'right',text=c("1", "2", "3")),
par.settings = list(superpose.symbol = list(pch =20, cex = 1,
col = c("#006837", "#41ab5d","#fd8d3c"))),
type = c("p", "smooth"),col.line =c("#006837", "#41ab5d","#fd8d3c"),lwd = 5,
panel = function(x, ...) {
panel.xyplot(x, ..., alpha = 0.3)
panel.lines(x, ..., alpha = 1)
})
十六進制值可以讀取為"#rrggbbaa"
,其中r =紅色,g =綠色,b =藍色和a = alpha。 由於不透明度的十進制值為0到255,因此采用傳統的rgb表示法; 30%不透明度的值應為round((256/100)*30) = 77
,並且此值的十六進制值為4d
( 此處有一些示例列表供參考,轉換表dec-hex可以在此處找到)。
因此,您只需要在十六進制代碼的末尾為點顏色添加4d
:
col = c("#0068374d", "#41ab5d4d","#fd8d3c4d")
並刪除
panel = function(x, ...) {
panel.xyplot(x, ..., alpha = 0.3)
panel.lines(x, ..., alpha = 1)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.