【问题标题】:Add alpha value to lattice xyplot panel function将 alpha 值添加到 lattice xyplot 面板函数
【发布时间】:2018-05-01 18:25:56
【问题描述】:

我想在xyplot 面板函数中分配两个 alpha 值: pointsalpha= 0.3linesalpha=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)
            })

【问题讨论】:

    标签: r lattice


    【解决方案1】:

    十六进制值可以读作"#rrggbbaa",其中 r = 红色,g = 绿色,b = 蓝色,a = alpha。由于不透明度的十进制值范围为 0 到 255,采用传统的 rgb 表示法; 30% 不透明度的值是round((256/100)*30) = 77,而十六进制值是4d(有一个包含一些示例的列表here 供参考和一个十进制转换表 - 十六进制可以找到here)。

    因此,您只需在十六进制代码末尾添加 4d 即可将点颜色设为:

    col = c("#0068374d", "#41ab5d4d","#fd8d3c4d")
    

    并删除

    panel = function(x, ...) {
                panel.xyplot(x, ..., alpha = 0.3)
                panel.lines(x, ...,  alpha = 1)
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-24
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-06
      相关资源
      最近更新 更多