创建带有渐变颜色的箭头 [英] create an arrow with gradient color

查看:127
本文介绍了创建带有渐变颜色的箭头的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用R创建带有渐变颜色的箭头或线段?

how can I create an arrow or segment with gradient color using R?

推荐答案

尝试一下,

library(grid)

png("mask.png")
grid.polygon(c(-0.06, 0.06, 0.06, 0.15, 0, -0.15, -0.06),
             c(-5, -5, 2.5, 2, 5, 2, 2.5), gp=gpar(fill="black"),
             def="native",
             vp=viewport(xs=c(-0.15, 0.15), ys=c(-5, 5)))
dev.off()

library(png)
m <- readPNG("mask.png", native=FALSE)
mask <- matrix(rgb(m[,,1],m[,,2],m[,,3]),
               nrow=nrow(m))

rmat <- matrix(rgb(colorRamp(c("blue","white","red"))(seq(0,1,length=nrow(m))), maxColorValue=255),
               nrow=nrow(m), ncol=ncol(m))
rmat[mask == "#FFFFFF"] <- NA
grid.newpage()
grid.raster(rmat)

编辑:您可以在绘图中重复使用它,例如

Edit: you can reuse it in a plot, e.g.

library(ggplot2)
ggplot(iris) + geom_path(aes(Sepal.Length, Petal.Length, colour = Petal.Width)) +
  guides(colour = guide_colourbar()) +
  annotation_custom(rasterGrob(rmat, width=unit(1,"npc"), height=unit(1, "npc")),
                    x = 6, xmax=6.2, y=2.5, ymax=4)

这篇关于创建带有渐变颜色的箭头的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆