0

我正在尝试使用 gridSVG 包中的函数 grid.gradientFill ,但不幸的是我无法在我的 SVG 输出中看到渐变。

我不确定我的代码是否正确或我的浏览器无法正常工作(Chrome:35.0.1916.153 m),您能提供一些建议吗?

这是我的 R 代码:

library(grid)
library(gridSVG)

lg <- linearGradient(col = c("black", "white", "black"))

x <- c(0.2,0.2,0.35,0.5,0.65,0.8,0.8,0.65,0.5,0.35)
y <- c(0.5,0.6,0.61,0.7,0.81,0.8,0.7,0.71,0.6,0.51)

s <- c(0,0,-1,0,-1,0,0,-1,0,-1)

grid.newpage()
vp <- viewport(width=0.75, height=0.75)
pushViewport(vp)
grid.rect(gp=gpar(col="blue"))
pushViewport(viewport(layout.pos.col=1, layout.pos.row=1))

grid.rect(x = unit(0.5, "npc"), y = unit(0.5, "npc"),
      width = unit(1, "npc"), height = unit(1, "npc"),
      just = "centre", 
      default.units = "npc",
      gp=gpar(col="green", fill = "blue"), draw = TRUE, name = "tom")
grid.xspline(x = x, y = y,shape=s, open=FALSE, gp=gpar(col=NA, fill="darkred"), name="spline")

grid.gradientFill("spline", lg)
grid.gradientFill("tom", lg)

grid.export("c:/@temp/somekindofgradient.SVG")

我对给样条曲线一个渐变很感兴趣......

任何提示表示赞赏:-)

4

1 回答 1

0

所以,最后我找到了解决方案:-)

如果你想使用

grid.gradientFill(对象, ...)

该对象,在我的问题中,称为“样条线”的 grid.xspline(...) 对象不必具有填充参数,这意味着...

更换

grid.xspline(x = x, y = y,shape=s, open=FALSE, gp=gpar(col=NA, fill="darkred"), name="spline")

grid.xspline(x = x, y = y,shape=s, open=FALSE, gp=gpar(col=NA), name="spline")

还有一些漂亮的渐变:-)

于 2014-06-24T16:12:45.313 回答