R成精系列-如何用R语言画出精美的图形

Python028

R成精系列-如何用R语言画出精美的图形,第1张

色彩是一门重要的艺术语言。

在不同的领域,色彩都以其扑面而来的色感,带给人们直观的生理和心理感受,产生想象和联想。

R语言无与伦比的绘图系统能够产出精美的图,如何构造精美的图片,色彩起着举足轻重的作用,良好的配色往往在图表中起到点睛的作用。

但往往都是别人的图很精美,自己画的图则丑得哭。

希望通过本文能够提升R语言的色彩的基本运用,如果看完做的图任然很丑,那就是审美的问题,可以找个美术老师补习一下审美的知识。

初中物理课我们大概都做过棱镜实验,白光通过棱镜后被分解成多种颜色逐渐过渡的色谱带,颜色依次为红、橙、黄、绿、青、蓝、紫,这就是可见光谱,对啦,彩虹就是光色散的现象。

而色彩的混合模式分为:

红、绿、蓝三种色光无法被分解,故称“三原色光”,因此将红(R)、绿(G)、蓝(B)三色作为色光三原色。可见光谱中的大部分颜色可以由三种基本色光按不同的比例混合而成,色光三原色被广泛应用于电视机、监视器等主动发光的产品中。

由于颜料本身是不发光的,我们之所以看到颜料的各种颜色是光源照射到颜料后,被颜料吸收部分色光后反射的一部分色光。因此颜料三原色是色光混合原理的延伸,它是色光做在做减法,所以亦称为减法三原色。青色、品红、黄色三种颜料两两混合能产生其他各种颜色,所以把青色、品红、黄色称为颜料三基色。颜料三基色的混色在绘画、印刷中得到广泛应用。

palette()调色板

colors()生成R的颜色

rgb()生成颜色编码

col2rgb()将颜色转为rgb色值。

rgb2hsv(col2rgb("blue"))

R自带的grDevices包有如下6个调色板,传入获取颜色的个数,就获得相应个数的颜色列表,gray()的参数需在[0,1]。

当我们不知道怎么配色,或者怎么配色都不好看的时候,可以直接用别人定义好的主题是最方便的做法,你只负责出图,颜色的事情交给专业的人士来处理。

ggthemes包中的色彩方案都是打包好,命名过的,所以我们引用的时候,只需赋值即可。

在使用ggplot的过程中可使用的就比较多。

增加Viridis 色带

RColorBrewer

GGSCI

www

查看支持的色板

系统会自动生成你想使用的颜色,不用一个一个单独设置,非常方便。

数据准备

函数:legend(location, title, legend, ....)

参数详解:

x和y:用于定位图例,也可用关键词"bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right" 和 "center";当图例用关键词设置位置后,inset = 分数,可以设置其相对位置;

legend:指定图例标签,字符或表达式向量;

fill:用特定的颜色进行填充;

col:设置图例中出现的点或线的颜色;

border:当fill = 参数存在的情况下,用于指定填充的边框颜色;

lty, lwd:图例中线的类型与宽度;

pch:点的类型;

angle:阴影的角度;

density:阴影线的密度;

cex:指定图例显示大小;

bg:指定图例的背景色;

bty:指定图例框是否画出,默认o为画出,n为不画出;

box.lty, box.lwd, box.col: 设置图例边框线型,线粗,颜色,box.lty为虚线,box.lwd决定粗线,box.col决定颜色;

pt.bg:图例中点的背景色;

pt.cex:图例中点的大小;

pt.lwd:图例中点边缘的线宽;

x.intersp:图例中文字离图片的水平距离;

y.intersp:图例中文字离图片的垂直距离;

adj:图例中字体的相对位置;

text.width:图例中字体所占的宽度,调整后图例整个宽度也跟着变化了;

text.col:图例字体的颜色;

text.font:图例字体;

merge:逻辑值,merge=TRUE,合并点与线,但不填充图例框,默认为TRUE;

trace:逻辑值,trace=TRUE显示图例信息;

plot:逻辑值,plot=FALSE不画出图例;

ncol:图例中分类的列数;

horiz:逻辑值,horiz=TRUE,水平放置图例;

title:给图例加标题;

xpd:xpd=FALSE,即不允许在作图区域外作图,改为TRUE即可,与par()参数配合使用;

title.col:标题颜色;

title.adj:图例标题的相对位置,0.5为默认,在中间。0最左,1为最右;

seg.len:指定图例中线的线长,长度单位为字符宽度。

1 图例方位

2 修饰图例

3 图例绘制在图外

4 自定义图例

有时候绘制出的图是分组图,这时候需要自定义绘制图例。

参考资料:

《R语言实战》(中文版),人民邮电出版社,2013.

R语言绘制图例(legend)的各种问题_详细综合解析, https://blog.csdn.net/xiangyong58/article/details/54579293

投必得R语言教程,第二讲 R作图-基础-图形参数设置:标题、图例、文字, https://mp.weixin.qq.com/s?__biz=MzU1Mzc3OTIwNg==&mid=2247495531&idx=1&sn=cdd80d4e950ae2b344cf188c68922fa8&chksm=fbef0602cc988f14e93b71bc6fcc2fda782d3ae9a3a67601a6c87756f4ae85bcc5d9c56d9b51&scene=21#wechat_redirect

一幅图解决R语言绘制图例的各种问题, https://blog.csdn.net/weixin_30469895/article/details/96649305