gpt4 book ai didi

r - 绘图区域颜色是否有 `par()` 设置?

转载 作者:行者123 更新时间:2023-12-04 09:50:39 24 4
gpt4 key购买 nike

我想知道是否有一种简单的方法可以只为绘图区域着色?相信par()$bg setting 定义了整个设备的背景颜色,所以我一直在应用低级绘图命令 polygon将彩色矩形添加到整个绘图区域。
例子

#colored device background
x11()
par(bg="grey90")
plot(x=1, y=2)
grid(col="white", lty=1)
points(x=1, y=2)

#colored plot area only
x11()
plot(x=1, y=2)
usr <- par()$usr
polygon(x=c(usr[1], usr[1], usr[2], usr[2]), y=c(usr[3], usr[4], usr[4], usr[3]), col="grey90")
grid(col="white", lty=1)
points(x=1, y=2)
这可能是唯一的方法,但如果 par 中有更直接的方法设置,我很想知道。提前感谢您的任何建议。

最佳答案

我很确定没有标准的论点,它本身就可以做你想做的事。

不过,这是一种比您更简单的方法。它使用 plot.default()panel.first在背景中绘制以原点为中心的单个巨大填充点的参数。点的范围在每个方向上至少是一个 googol 立方单位,我已经确认这适用于 R 的 native Windows 绘图设备以及 pdf 和 png 设备:它似乎是一个非常通用的解决方案。

## Your example
plot(x=1, y=2,
panel.first={points(0, 0, pch=16, cex=1e6, col="grey90")
grid(col="white", lty=1)})

## Or, for repeated use, make it a function:
ggbg <- function() {
points(0, 0, pch=16, cex=1e6, col="grey90")
grid(col="white", lty=1)
}
plot(x=1, y=2, panel.first=ggbg())

enter image description here
## Also works for plots running out to 1e300 in each direction
plot(x=-1e300, y=1e300, panel.first=ggbg())

关于r - 绘图区域颜色是否有 `par()` 设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16642811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com