R语言的ggplot2+ggforce包绘制散点图并添加分组边界

Python015

R语言的ggplot2+ggforce包绘制散点图并添加分组边界,第1张

使用的是 geom_mark_rect() 函数

使用到的是 geom_mark_circle() 函数

用到的是 geom_mark_ellipse() 函数

用到的是 geom_mark_hull() 函数

这里会遇到一个警告信息 Warning message: The concaveman package is required for geom_mark_hull

需要安装并加载concaveman这个包

···

install.packages("concaveman")

library(concaveman)

···

饼图或者说扇形图在统计分析结果展示中非常常用,R语言自带做饼图的函数pie,做起来非常简单,只需提供比例,样品名称即可。

默认的颜色只有6中,循环使用的,不过这个颜色可以自定义。

用pie作图其实就够了,但奈何很“卷”,有其他好看的饼图,所以接下来还是结合ggplot2与ggforce做可以变换的饼图,例如空心饼图。单独用ggplot2作图比较繁琐,不建议去尝试了,太费时间没必要。

先做一个基本的饼图。

要想得到空心饼图,只需要将geom_arc_bar参数中r0改为1即可。

想要分割饼图,geom_arc_bar中添加explode参数。

可以发现,以上作图有一个bug就是添加比例标记很麻烦,要想实现自动化需要编写函数很麻烦。参考: https://stackoverflow.com/questions/52960015/how-to-avoid-label-overlap-in-pie-chart 。可以先将每个标签角度计算好,再添加,结果还好。

好了以上就是饼图的内容了,其本质是为了统计比例,结果解读比较直观,我们也是跟风做了一些变换的图形,其实最简单的饼图就可以了,各取所需。此外,还有很多其他方法制作饼图,感兴趣的自行百度了解。