数据可视化一直都是我非常感兴趣的地方,不同的图形有不同的数据展示能力,因此可视化的内容是不断在更新的,在这我首先聊一下R语言中的基础可视化的相关内容,了解关于数据可视化的关键元素。

一、R中的高级绘图函数

=所谓的R语言中的高级绘图函数,意思是不需依靠其他函数的帮助,能直接实现数据绘图的功能。常见的有散点图函数plot(),柱状图函数barplot(),饼图pie()和直方图hist()。而高级绘图函数有一些共同的参数选项,下面就来认识比较常见的参数:

1.plot(x,y,...)
·x和y为向量,指定散点的坐标
·标题参数:主标题main,副标题sub,横轴名称xlab,纵轴名称ylab
·add = T : 使函数像低级绘图函数那样不是开始一个新图形而是在原图基础上添加。
·aexs = F:暂不画坐标轴,随后可以用axis()函数更精确地规定坐标轴的画法。
·绘图方式参数:type='p'(画点) 、type='I'(画线)、type='b'(画点并在中间用线连接)
type='o'(画点并画线穿过各点)、type='h'(从点到横轴画垂线)
type='s'(左连续阶梯函数)、type='S'(右连续阶梯函数)
type='n'(不画任何点、线,但仍画坐标轴并建立坐标系)

2.barplot(height,...)
·height:通过这个参数可以指定要画多少个柱子以及每个柱子的高度,可以是向量和矩阵。
·标题参数同上
·width:设置条形的宽度
·space:设置各个条形间的宽度。相当于各个条形宽度的一部分。
· horiz:为F时条形垂直排列,反之水平排列。
·beside:如果F,那么将绘画堆叠式的条形;如果是T,将绘画并列式条形。
·border:设置条形边缘颜色。如果设置为NA,则消除了边缘。

3.pie(x,...)
·x:表示一个非负的数值向量,表示每个扇形的面积。
·labels:各扇形面积标签的字符型向量。
·radius:饼图的圆的半径。
·clockwise:逻辑值,用来指示饼图各个切片是否按顺时针做出分割。
·density:底纹的密度。默认值为NULL。
·angle:设置底纹的斜率。
·标题参数同上

4.hist(x,...)
·x:样本向量
·freq:为T时绘出频率直方图,F时绘出密度直方图。
·col:直方图中填充的颜色。
·plot:为T时表示给出直方图,为F时表示绘出直方图的各种结果。

上面这些函数所绘制的图形如果不调整其他元素的话,出来的效果其实是比较普通的,因此我们下面重点介绍绘图元素,如何调整绘图元素或者搭配参数的组合,是提升数据可视化效果的重要一环。

二、绘图元素

1.颜色元素
颜色可是称得上可视化的重点之一了,适当的颜色搭配能够起到意想不到的效果,在R中,我们可以使用colors()查看R中自带的颜色。其次,如果有懂得三原色的小伙伴,可以使用rgb(red = , green = , blue =)自己调配颜色。

当然R语言中也为了方便使用者,其自带了主题调色板(即为有顺序的颜色集合)。R中有5个调色板,分别为rainbow()— 彩虹色,heat.colors() —从红到黄,再到白,terrain.colors()—从绿到黄,再到棕,到白,topo.colors()—从蓝到青,再到黄,到棕 和 cm.colors()—从青到白,到粉红。我们可以使用scales包中的show_col()去查看颜色:




library(scales)	
show_col(heat.colors(9)) #查看heat.colors()调色板前9中颜色,并且输出其16进制的颜色标签

r语言barplot图例 r语言中barplot_图例

2.点元素

点元素的形状由高级函数中的参数pch决定,其取值是0到25,代表26种不同的点形状,如图



r语言barplot图例 r语言中barplot_图例_02

而点的颜色由参数col控制,大小有cex控制。

3.线元素

线元素的样式由参数lty决定,其取值为1到6,代表6种线的形式,如图:

r语言barplot图例 r语言中barplot_r语言barplot图例_03

而线的粗细由参数lwd控制,颜色由col控制。

4.字体元素

字体元素由参数font控制,取值为1到4,分别是1-正常,2-粗体,3-斜体和4-粗斜。其字体大小有cex参数控制。当然除了这四种常规的字体,我们可以使用window自带的字体,"win+R"
打开运行,输入fonts,就能查看系统自带的字体,如图:

r语言barplot图例 r语言中barplot_图例_04

可以使用参数family来指定特定的字体,并使用windowsFonts()引用系统字体。R语言中还有sysfonts包,能使用更多有趣的字体。而网上也有一些图形字体,下载就能使用。

三、布局

绘图布局在整个数据可视化过程中起到了最为基础的作用,常用到有par()函数。该函数中有非常多的参数与布局和画布设置有关。另外一个函数就是layout(),在布局设置也经常被使用

四、低级绘图函数

在R中,除了上面提到的高级绘图函数,还有低级绘图函数,即需要在使用高级绘图函数的基前提下才能使用。虽然是说“低级”,但是这些函数确是高级绘图函数的补充,也是能更好地调整可视化效果重要的函数。在使用高级绘图函数之后,再使用低级绘图函数去作出可视化效果的调整,通常以“高绘函数+低绘函数”的形式搭配。下面就大概地来了解一下这些函数及其参数。

1.图例函数 legend()

当我们的高级绘图需要用到图例时,我们可以使用legend()来调整图例。
·图例的位置,可以使用(x,y)具体的坐标指定位置或者使用bottomright、bottomleft等固定的位置参数。
·图例排列而参数horiz控制图例的排列(水平或者垂直)。当图例有多个需要分行或者分列排序时,ncol和nrow可以指定列数或者行数。
·图例的形式,pch指定图例点样式,lty指定图例线样式,图例点/线颜色col参数,图例背景颜色bg参数,图例框bty参数,图例标题title。

2.坐标轴函数axis()


·控制坐标轴的边参数side,1-4代表四边
·轴刻度名称 用参数labels指定
·刻度标记的字体 用参数 font.axis设置
·刻度标记颜色 用参数col.axis设置
·设置坐标轴的刻度标记位置:at=c()
·是否画坐标轴 tick = T/F
·坐标颜色参数 col
·小刻度的颜色设置 col.ticks
·轴的样式参数 lty
·轴宽度参 lwd

3.点函数point()

4.线函数:曲线lines() 、直线abline()、线段segments()和箭头arrows()

5.文本函数text(),在指定的位置添加文本标注。

6.多边形函数polygon()

五、其他

1.边框函数 box(),高级绘图函数也有关于边框的参数bty

2.网格线函数 grid(nx = 垂直网格线,ny = 水平网格线,lty,lwd,col,...)

3.标题函数title()

大概地介绍了一下R中的basic plot的内容,当然其内容远不止这些,有兴趣的小伙伴可以去了解更多。虽然basic plot 要想展现很突出的效果则需要花很多的时间在调整参数上,但我觉得若是能深刻地认识这些参数并能根据要求去调整,可视化的能力必然是杠杠的。R语言关于可视化的内容到此可以进入下一个阶段——ggplot2包,借助拓展包,让可视化水平更上一层楼,具体内容就下次再更新了。




—————————————