簡體   English   中英

將Alpha值添加到點陣xyplot面板函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM