r - 如何使用网格图形系统将剖面线应用于多边形?

标签 r graphics r-grid

R的基本图形系统中的几个功能(包括rect()polygon())通过它们的angle=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)




如何对网格图形系统的grid.polygon()函数绘制的多边形应用类似的阴影线:

library(grid)
grid.newpage()
grid.polygon(x,y)




我查看了?grid.polygon?gpar的文档,并浏览了Paul Murrel关于R图形的书,到目前为止还没有内容。我缺少明显的东西吗?如果没有,是否有一些简单的技巧可以使之成为可能?

最佳答案

这是来自Paul Murrell's presentation的gridSVG的示例

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")




也可以使用更复杂的杂项,因为svg负责剪辑。

关于r - 如何使用网格图形系统将剖面线应用于多边形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26110160/

相关文章:

c++ - 窗口老是失效怎么调试?

r - 在多个页面上使用 grid.arrange 或带有 layout_matrix 的 marrangeGrob

在 grid.xaxis 中旋转标签

r - 如何使用网格函数将y轴标题放在图形的左上角?

按名称删除嵌套的R列表中的元素

r - 计算包含 NA 的向量

r - ggplot2:更改图例元素之一的背景颜色

r - 条件求和 (R)

c# - 如何在不创建窗口的情况下将 WPF UserControl 呈现为位图

c++ - SDL 分辨率问题