r - shinythemes - tags$div shiny
¿Cómo aplicar sombreado cruzado a un polígono utilizando el sistema gráfico de cuadrícula? (1)
Aquí hay un ejemplo con gridSVG adaptado de stat.auckland.ac.nz/~paul/Talks/London2013/barchart/barchart.R de stat.auckland.ac.nz/~paul/Talks/London2013/barchart/barchart.R
library(gridSVG)
library(grid)
x = c(0, 0.5, 1, 0.5)
y = c(0.5, 1, 0.5, 0)
grid.newpage()
grid.polygon(x,y, name="goodshape")
pat <- pattern(linesGrob(gp=gpar(col="black",lwd=3)),
width = unit(5, "mm"), height = unit(5, "mm"),
dev.width = 1, dev.height = 1)
# Registering pattern
registerPatternFill("pat", pat)
# Applying pattern fill
grid.patternFill("goodshape", label = "pat")
grid.export("test-pattern.svg")
También se permiten grobs más complejos, ya que svg se encarga del recorte.
Varias funciones en el sistema gráfico base de R, incluidos rect()
y polygon()
, admiten el sombreado cruzado a través de sus argumentos de angle=
y density=
:
x = c(0, 0.5, 1, 0.5)
y = c(0.5, 1, 0.5, 0)
par(mar=c(0,0,0,0))
plot.new()
polygon(x, y, angle=45, density=10)
¿Cómo puedo aplicar un sombreado cruzado similar a un polígono dibujado por la función grid.polygon()
del sistema gráfico de cuadrícula ?
library(grid)
grid.newpage()
grid.polygon(x,y)
He buscado en la documentación ?grid.polygon
and ?gpar
, y he ?gpar
el libro de Paul Murrel en gráficos R, y hasta ahora me he quedado vacío. ¿Me estoy perdiendo algo obvio? Si no, ¿hay algún truco simple que hará esto posible?