作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 R 中的冲积图上绘制矩形。
我的代码是:
library(alluvial)
tit <- as.data.frame(Titanic)
tit2d <- aggregate(Freq ~ Class + Survived, data=tit, sum)
alluvial(tit2d, freq = tit2d$Freq, xw = 0.0, alpha = 0.8,
gap.width = 0.1, col = "steelblue", border = "white",
layer = tit2d$Survived != "Yes", blocks = F)
par(new = TRUE)
plot(c(0, 1), c(0, 1), type = "n", xlab = "", ylab = "")
rect(0, 0, 0.3, 0.4, col = "red")
最佳答案
通常 par("usr") 命令可以告诉您当前绘图区域的极值。但是这里有点困难,因为冲积函数调整了mar
函数内的图形参数。它将边距更改为 c(2,1,1,1)
.在函数结束时,它会将边距恢复到最初的状态。默认边距为 c(5, 4, 4, 2) + 0.1,表示底部、左侧、顶部和右侧外边距到绘图区域之间的行数(1 行 = 1/5 英寸)。查看 par
的帮助页面并向下滚动,直到您到达 mai 以查看良好的图表。冲积函数所做的另一个调整是将轴的默认样式从常规 (xaxs="r", yaxs="r") 更改为内部 (xaxs="i", yaxs="i"),这会导致轴进一步延伸。
例如:
alluvial( tit2d, freq=tit2d$Freq, xw=0.0, alpha=0.8,
gap.width=0.1, col= "steelblue", border="white",
layer = tit2d$Survived != "Yes", blocks = F )
u <- par("usr"); u
par(new=TRUE)
plot(0, type= "n", xlab = "", ylab = "", las=1, xaxs = "i", yaxs = "i",
xlim=c(u[1], u[2]), ylim=c(u[3], u[4]))
rect(u[1], u[3], u[2], u[4], col = "red")
op <- par(mar=c(2,1,1,1))
par(new=TRUE)
plot(0, type= "n", xlab = "", ylab = "", las=1,
xlim=c(u[1], u[2]), ylim=c(u[3], u[4]))
rect(u[1], u[3], u[2], u[4], col = "green")
par(op)
par(new=TRUE, mar=c(2,1,1,1))
u <- par("usr")
rect(u[1], temp$endpoints[[1]][1,1], u[1]+0.2, # Note: cw has a default value of 0.1
temp$endpoints[[1]][1,2], col = "red")
rect(u[1]+1, temp$endpoints[[1]][1,1], u[1]+1.2,
temp$endpoints[[1]][1,2], col = "red")
rect(u[1]+2, temp$endpoints[[1]][1,1], u[1]+2.2,
temp$endpoints[[1]][1,2], col = "red")
rect()
没有用于修改轴样式的“xaxs”参数,因为轴已经存在!
关于r - 覆盖两个相同尺寸的冲积地 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60409269/
我是一名优秀的程序员,十分优秀!