- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码来绘制带有渐变的箭头:
csa <- function(x1,y1,x2,y2,first.col,second.col,length=0.15, ...) {
cols <- colorRampPalette( c(first.col,second.col))(250)
x <- approx(c(0,1),c(x1,x2), xout=seq(0,1,length.out=251))$y
y <- approx(c(0,1),c(y1,y2), xout=seq(0,1,length.out=251))$y
arrows(x[250],y[250],x[251],y[251], col=cols[250],length=length, ...)
segments(x[-251],y[-251],x[-1],y[-1],col=cols, ...)
}
color.scale.arrow <- Vectorize(csa, c('x1','y1','x2','y2') )
# Create sample data
x <- c(1,3,5,3,2,1,6,2)
y <- c(2,5,3,7,2,1,5,6)
x1 <- c(1,3,5,3)
y1 <- c(2,5,3,7)
x2 <- c(2,1,6,2)
y2 <- c(2,1,5,6)
# Plot sample data
plot(x,y, main='')
color.scale.arrow(x1,y1,x2,y2,'#5F9EA0','#CD3333',lwd=2)
产生了这个图:
我想让这些线条透明,但不幸的是,简单地在颜色代码中添加 50(即透明度比例 = 50%)是行不通的:
# Plot sample data (transparent?)
plot(x,y, main='')
color.scale.arrow(x1,y1,x2,y2,'#5F9EA050','#CD333350',lwd=2)
知道为什么这不起作用,以及如何使这些线透明吗?
最佳答案
我会在生成渐变之后添加透明度,而不是之前。您需要在 csa
内执行此操作函数,因此请考虑添加 alpha
两者的论据csa
和color.scale.arrow
。假设您已经这样做了,您可以在生成颜色渐变后将 Alpha 透明度添加到颜色渐变中:
cols <- colorRampPalette( c(first.col,second.col))(250)
cols <- paste0(cols, alpha)
还值得注意的是 alpha 透明度也是十六进制:所以 "50"
不是 50%,"7f"
是。
关于R:使用 colorRampPalette 的透明颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20469564/
我在 R 中使用 pheatmap 包来制作不同类型数据的热图……并使用 colorramppalette 制作颜色,但颜色非常明亮。 我想要一些深色,我该怎么做? 这是代码: hmcols<-col
我正在尝试合并两个 colorRampPalette在 leaflet 中使用的方案并且一直在关注这个不错的 example .该示例工作正常,但我似乎无法让它为我的工作工作,下面是可重现的示例。我正
我定义了一个 colorRampPalette: my.colors = colorRampPalette(c("light green", "yellow", "orange", "red")) 如
我正在使用 smoothScatter 来绘制一些数据。我正在尝试将密度的颜色从默认的 colorRampPalette(c("white", blues9) 更改为透明红色。我该如何执行此操作? 我
我有以下代码来绘制带有渐变的箭头: csa <- function(x1,y1,x2,y2,first.col,second.col,length=0.15, ...) { cols <- col
我是一名优秀的程序员,十分优秀!