如何更改 R 中子图/插图的背景颜色?

2024-01-01

我想向 R 中的现有绘图添加子图。子图(插图)应具有不同的背景颜色。我尝试了以下方法:

#install.packages("TeachingDemos", dependencies=T)
library(package="TeachingDemos")

d0 <- data.frame(x = rnorm(150, sd=5), y = rnorm(150, sd=5))
d0_inset <- data.frame(x = rnorm(1500, sd=5), y = rnorm(1500, sd=5))

plot(d0)
subplot( 
  fun = plot(
    d0_inset
    , col = 2
    , pch = '.'
    , mgp = c(1,0.4,0)
    , ann = F
    , cex.axis=0.5
  ) 
  , x = grconvertX(c(0.75,1), from='npc')
  , y = grconvertY(c(0,0.25), from='npc')
  , type = 'fig'
  , pars = list(
             mar = c(1.5,1.5,0,0) + 0.1
             , bg = "blue"              # this should change the background color
           )
)

在帮助下subplot()它说的是pars:

运行前要传递给 par 的参数列表fun.

更改绘图的背景颜色似乎非常困难,因为图形参数在plot()。所以必须使用设置背景颜色par()。但这为什么不起作用subplot? (我还尝试将绘图函数放入调用的外部函数中par() and plot(),但这没有帮助)。

为什么子图不能正常工作?


The bg的论证par更改设备的背景颜色而不是绘图的背景颜色。由于您只是将绘图添加到已经打开和使用的设备中,因此这是不可能的(因为笔和纸的方式base绘制了图)。相反,你可以做什么(建立在之前的这个答案 https://stackoverflow.com/questions/7236958/change-background-color-of-r-plot)如下:

plot(d0)
subplot(fun = {plot(d0_inset, mgp = c(1,0.4,0), ann = F, cex.axis=0.5);
               rect(par("usr")[1],par("usr")[3],par("usr")[2],par("usr")[4],col = "blue");
               points(d0_inset, col=2, pch=".") }, 
        x = grconvertX(c(0.75,1), from='npc'), 
        y = grconvertY(c(0,0.25), from='npc'), 
        pars = list(mar = c(1.5,1.5,0,0) + 0.1), type="fig")

Edit:如果您希望包含注释的区域为蓝色,我看到的另一个解决方案是在绘制子图之前绘制矩形(使用您为子图函数提供的坐标):

plot(d0)
rect(grconvertX(0.75, from='npc'), grconvertY(0, from='npc'),
     grconvertX(1, from='npc'), grconvertY(0.25, from='npc'), 
     col="blue", border=NA)
subplot(fun = plot(d0_inset, mgp = c(1,0.4,0), ann = F, 
                    cex.axis=0.5,col=2, pch=".") , 
        x = grconvertX(c(0.75,1), from='npc'), 
        y = grconvertY(c(0,0.25), from='npc'), 
        pars = list(mar = c(1.5,1.5,0,0) + 0.1), type="fig")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改 R 中子图/插图的背景颜色? 的相关文章

随机推荐

  • 使用 bash shell 脚本替换文件中的字符串

    我想在文件中找到一个字符串 进行一些操作并将该字符串放回文件中 下面给出的是我需要的示例 cat sample txt TimeStamp gt 123456 Name gt ABC Mail gt email protected cdn
  • 在makefile中写入依赖项,用makefile

    基于一些SO问题 以及发现的一些进一步的参考 我正在尝试构建一个能够 查找 给定目录 SRC the cpp待编译的文件 编译 cpp 生产 o物体 产生 so每个共享对象 o以前编译的 为了实现这一点 make 文件应该做的是 查找 给定
  • 解决方案。有代理时如何install_github

    当您尝试从 GitHub 存储库安装某些 R 包时 install github rWBclimate ropensci 如果您出现以下错误 Installing github repo s rWBclimate master from r
  • 从 mysql 网站检索时未选择数据库

    我有一个 mysql 数据库 我正在尝试从我们的网站主机 godaddy 检索该数据库 我遵循了一种似乎正确的格式 但它告诉我 java sql SQLException No database selected Code public s
  • 无缝循环音频 html5

    有人知道如何实现音频标签的无缝循环吗 我在想一些基于javascript的东西 我有一个循环 比如 1 小节 我希望它循环并保持节奏 所以我需要循环平滑 无间隙 当我简单地将 循环 设置为 true 时 它 会滞后并且不会保持节奏 虽然仍然
  • 在 JBoss Seam 上实现 SOAP Web 服务的最佳方法是什么?

    我需要在 Jboss Seam 2 1 0 上实现 SOAP Web 服务 这个想法是将无状态 bean 方法导出为 Web 服务 然而 我发现了两种方法 第一个是使用 Seam 自己的 Web 服务注释 这样做的问题是缺乏文档 第二个 是
  • C# ASP.NET MVC 控制器单元测试

    我对单元测试有点陌生 我想知道我这样做是否正确 Controller public ActionResult Index return View Message Index TestMethod public void MessageVie
  • 在张量流中compute_gradients返回什么

    mean sqr tf reduce mean tf pow y y 2 optimizer tf train AdamOptimizer LEARNING RATE gradients variables zip optimizer co
  • 在 Angularjs 中处理 $http.get 和 $http.post 错误

    Folks 我在用 http get and http post遍布我的代码 我对如何以全局方式处理这些调用期间发生的错误感到有点迷失 目前我有 success doSomething error doSomething 每次通话时 我想更
  • Lua 模式中的交替运算符是什么?

    在正则表达式中 用于交替 Lua模式中对应的字符是什么 首先 注意Luapatterns http www lua org manual 5 1 manual html 5 4 1不是正则表达式 它们是自己更简单的匹配语言 具有不同的优点和
  • 语音通话期间麦克风录制的音频被静音

    我正在尝试构建从麦克风记录音频以供以后处理的应用程序 除了以下问题之外 一切都运行得很好 在语音通话 传入和传出 期间 录制的文件不会获取任何音频数据 它只包含 NULL 我正在使用 AudioRecorder 和 MediaRecorde
  • *ngFor 使用函数,返回一个循环

    当我在 Angular 中使用 ngFor 和返回数据的函数时 该函数会被多次调用 有时甚至会导致循环 应用程序组件 ts export class AppComponent getArray string here i know when
  • gcc 如何在 constexpr 上下文中编译 C 函数?

    鉴于C 标准库 当前 不提供 cmath 函数的 constexpr 版本 https stackoverflow com questions 42189190 why doesnt the c standard library provi
  • 如何测试可续订订阅(App Store)

    我正在我的应用程序中实现自动更新订阅 我想知道是否有一种方法可以模拟订阅期结束并创建新交易的时间 该应用程序连接到一个在线服务 该服务始终跟踪用户以及他们是否具有 高级访问权限 正如我所理解的 有两种方法可以检测交易何时进行 该应用程序已启
  • Python 多索引数据框删除最大值

    我正在与 python pandas 中的 MultiIndex DataFrame 作斗争 假设我有一个像这样的 df count day group name A Anna 10 Monday Beatrice 15 Tuesday B
  • 对数据库进行 docker 化(容器化)有意义吗?

    我可以理解 Docker 化无状态服务背后的好处 例如 Web 服务器 应用程序服务器 负载均衡器等 如果您在机器集群上运行这些服务 则可以很容易地以较低的开销移动这些容器 但我不明白容器化数据库背后的目的是什么 数据库连接到持久存储在特定
  • 打开特定 URL 后将用户从浏览器重定向到我的应用程序

    我编写了一个应用程序 用户点击购买按钮后他 她重定向到互联网浏览器 例如 chrome 付款后我希望他回到我的应用程序 我的活动 所以我发现我应该使用意图过滤器 但是这对我不起作用 我在清单中添加这些代码
  • 如何通过安装驱动程序来检查Windows是否繁忙?

    我编写了通过 dpinst exe 安装 USB 设备驱动程序的程序 在程序启动时 我想通过搜索 安装 更新某些驱动程序来检查 Windows 是否繁忙 我想避免的主要情况是在 Windows 搜索插入设备的驱动程序时启动 dpinst e
  • 未找到 /usr/local/lib 中的库

    我正在使用名为的框架构建一个应用程序ohNet http wiki openhome org wiki OhNet 构建框架后 可以通过以下方式安装框架make install 默认情况下 库安装在 usr local lib includ
  • 如何更改 R 中子图/插图的背景颜色?

    我想向 R 中的现有绘图添加子图 子图 插图 应具有不同的背景颜色 我尝试了以下方法 install packages TeachingDemos dependencies T library package TeachingDemos d