#r #r-grid
#r #r-сетка
Вопрос:
Я пытаюсь использовать функцию grid.gradientFill из пакета gridSVG, но, к сожалению, я не могу увидеть градиент в моем выводе 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")
Я очень заинтересован в том, чтобы придать сплайну градиент…
Любой намек приветствуется 🙂
Ответ №1:
Итак, наконец-то я нашел решение 🙂
Если вы хотите использовать
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")
И есть какой-то красивый градиент 🙂