R语言实现输出文本的多样式
Posted R语言交流中心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言实现输出文本的多样式相关的知识,希望对你有一定的参考价值。
大家也许习惯了在R控制台上单调的文本输出。但是有人就突发奇想开发了一个可以自定义结果颜色,属性的R包crayon。此包可以让用户在支持多颜色输出的控制台中实现多颜色的丰富输出,比如Rstudio。首先我们看下包的安装:
install.packages(“crayon”)
首先我们看下在这个包中可以修改的属性:
接下来我们直接通过实例看下具体的实现过程:
#载入包
library(crayon)
cat(red("Hello","world! "))
cat(blue("Hello","world! "))
#基于通道的多文本处理
cat(green(
'I am a green line ' %+%
blue$underline$bold('with a blue substring') %+%
'that becomes green again! '
))
#定义自己的主题,各属性通过$进行分割载入
error <- red $ bold
warn <- magenta $ underline
note <- cyan
cat(error("Error: subscript out of bounds! "))
cat(warn("Warning: shorter argument was recycled. "))
cat(note("Note: no such directory. "))
此包还有个更高级的功能那就是自己创建输出的属性,需要用到函数make_style(...,bg = FALSE, grey = FALSE, colors = num_colors())。此函数主要创建颜色的属性。此功能可以更加灵活的操纵文本及背景的展示颜色。我们直接看下两种使用的实例:
## Create a style function without creatinga style
pink <- make_style("pink")
bgMaroon <- make_style(rgb(0.93, 0.19,0.65), bg = TRUE)
cat(bgMaroon(pink("I am pink if yourterminal wants it, too. ")))
## Create a new style for pink and maroonbackground
make_style(pink = "pink")
make_style(bgMaroon = rgb(0.93, 0.19,0.65), bg = TRUE)
"pink" %in% names(styles())
"bgMaroon" %in% names(styles())
cat(style("I am pink, too! ","pink", bg = "bgMaroon"))
至此就是这个包的全部功能了。至于什么应用那就要看是否需要了,本人觉得在开发过程中应用很广。
欢迎大家学习交流!
以上是关于R语言实现输出文本的多样式的主要内容,如果未能解决你的问题,请参考以下文章
css CSS片段用于覆盖输入文本的chrome自动完成样式