R语言可视化及作图11--图片分面函数和一页多图

Python022

R语言可视化及作图11--图片分面函数和一页多图,第1张

R语言绘图系列:

根据cyl变量把图形分成4列

根据drv变量把图形分成3行

每个小图x轴和y轴的轴标签完全一致,会导致极值显示不出来

使用scales参数释放坐标轴刻度

2.1 grid.arrange函数

生成四张图

将四张图拼到一张图

2.2 ggrepel包 在图上添加文本,可以自动把叠加的文本分开。

geom_text_repel函数

再举个形象的栗子,假如你是一本养花工具宣传册的摄影师,你正在拍摄一个水壶。水壶是三维的,但是照片是二维的,为了更全面的把水壶展示给客户,你需要从不同角度拍几张图片。下图是你从四个方向拍的照片:

第一张图里水壶的背面可以看到,但是看不到前面。

第二张图是拍前面,可以看到壶嘴,这张图可以提供了第一张图缺失的信息,但是壶把看不到了。

第三张俯视图既可以看到壶嘴,也可以看到壶把,但是无法看出壶的高度。

第四张图是你打算放进目录的,水壶的高度,顶部,壶嘴和壶把都清晰可见。

PCA的设计理念与此类似,它可以将高维数据集映射到低维空间的同时,尽可能的保留更多变量。

使用 R 语言能做出像 SIMCA-P 一样的 PCA 图吗?

答案是肯定的,使用 R 语言不仅能做出像 SIMCA-P 一样的 PCA 图,还能做出比 SIMCA-P 更好看的图,而且好看的上限仅取决于个人审美风格。

主成分分析图 = 散点图 + 置信椭圆 ,散点的横纵坐标对应 PCA 的第一主成分、第二主成分。

接下来想给散点加上分类颜色:

颜色是加上了,但是椭圆咋变成了 3 个?

原来是 stat_ellipse 函数默认对每个类别的数据计算自己的置信区间。如何对多类样本只计算一个置信区间呢?查看 stat_ellipse 的帮助文档:

原来是 stat_ellipse 函数默认会继承 ggplot 中的 aes 设置,如果希望 stat_ellipse 使用自己的 aes 设置,需要将参数 inherit.aes 设置为 FALSE。

接下来对样式进行微调:为不同类别样本自定义着色,添加 x 轴、y 轴标题,添加 title:

将作图结果和 SIMCA-P 对比,散点、椭圆基本完全一致,只是比它更顺眼一些罢了~

欢迎留言讨论,如果本文有帮助到你,点个赞就更好啦!

[1] Master Machine Learning With scikit-learn

[1] R 数据可视化:水平渐变色柱状图

[2] R 数据可视化:双坐标系柱线图

[3] R 数据可视化:BoxPlot

[4] R 数据可视化:环形柱状图

R语言绘图系列:

⚠️在不确定将图例添加在什么位置时,可使用 locator函数

locator()函数可以定位图上的点。运行locator函数之后在图上随便点一个点,点击finish就会返回刚刚那个点的位置坐标。

使用text函数在每个条图下面添加标签

设置气泡透明度

⚠️调色板函数中有个参数叫alpha,也可以设置气泡的透明度。(在ggplot2中很容易实现)

关于layout函数: