【问题标题】:How to change the colour of the printed output in base R?如何更改base R中打印输出的颜色?
【发布时间】:2019-11-23 14:35:13
【问题描述】:

我想在不导入外部库的情况下更改在 R 中打印的某些输出的颜色。我该怎么做?

我已经知道了

print('this is black')

message('this is red')

但是我怎样才能做其他颜色呢?例如绿色或蓝色

注意

我的问题与this 类似,但我仅限于使用 base R(无软件包)

【问题讨论】:

  • 这取决于终端。例如,在许多系统上带有基本终端的 R 中,根本没有颜色。您使用的是什么系统和 R 发行版(例如 rstudio)?
  • 解决方法可能是使用 plot plot(0:1,0:1, type = 'n', axes = FALSE, ann = FALSE); text(0.5,0.5, 'test', col = 'orange')
  • 这不是为我准备的,而是为我正在编写的脚本的用户准备的。他们将使用最新版本的 rstudio。我只需要它比黑色更突出,但不像错误(红色)

标签: r


【解决方案1】:

你可以试试这个:

txt<-"test"
for(col in 29:47){ cat(paste0("\033[0;", col, "m",txt,"\033[0m","\n"))}

或者如果你想要其他有趣的功能,我会发现这个

https://github.com/r-lib/testthat/blob/717b02164def5c1f027d3a20b889dae35428b6d7/R/colour-text.r

【讨论】:

  • 这很棒。你能解释一下它是如何工作的,或者更具体地说,我怎样才能得到任何特定的颜色?它是使用十六进制还是什么? (我已经解决了类似cat("\033[0;32mtest\033[0m\n") 的问题,但我仍然不知道它是如何做到的
  • 你可以在这里找到一个很好的解释:stackoverflow.com/questions/4842424/…
  • 感谢您的链接!我读了它,加上一些谷歌搜索。说您不能生成 RGB 可以创建的所有 16,777,216 种颜色是真的吗? IE。只有these 那些?有没有办法获得其他颜色?例如。 #FF6600
  • 不好意思,不知道有没有其他方法可以得到其他颜色。如果你发现其他方法,写在这里,这样我也可以学习。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-14
  • 2013-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多