如何用R语言的ggplot2+ggforce包绘制散点图并添加分组边界
发表于:2025-02-21 作者:千家信息网编辑
千家信息网最后更新 2025年02月21日,本篇文章给大家分享的是有关如何用R语言的ggplot2+ggforce包绘制散点图并添加分组边界,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看
千家信息网最后更新 2025年02月21日如何用R语言的ggplot2+ggforce包绘制散点图并添加分组边界image.png 添加圆形的分组边界
image.png image.png 添加椭圆分组边界
image.png 最后是无规则形状的分组边界image.png 还可以给每个组添加文字标签,加一个label参数就好了
本篇文章给大家分享的是有关如何用R语言的ggplot2+ggforce包绘制散点图并添加分组边界,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
今天查找桑基图的资料的时候发现了一份介绍ggforce这个包的使用方法的文章,发现发现添加分组边界还有其他的实现方法,今天的推文记录一下。
示例数据就直接使用R语言内置的鸢尾花数据集
首先是矩形的分组边界使用的是 geom_mark_rect()
函数
df<-iris
colnames(df)<-paste0("V",1:5)
library(ggplot2)
library(ggforce)
ggplot(data=df,aes(x=V1,y=V2,color=V5))+
geom_point()+
geom_mark_rect(aes(fill=V5),alpha=0.1)+
theme_bw()
使用到的是geom_mark_circle()
函数
df<-iris
colnames(df)<-paste0("V",1:5)
library(ggplot2)
library(ggforce)
ggplot(data=df,aes(x=V1,y=V2,color=V5))+
geom_point()+
geom_mark_circle(aes(fill=V5),alpha=0.1)+
theme_bw()+
coord_cartesian(clip = "off")+
theme(plot.margin = margin(50,50,50,150),
legend.background = element_blank())

这里又遇到了一个新的知识点
coord_cartesian(clip = "off")
,如果加上这一行命令,就能够让三个圆圈在最上层,不加的效果如下图,显示不全参考链接是 https://guangchuangyu.github.io/2018/05/ggplot2-clip/
用到的是geom_mark_ellipse()
函数
df<-iris
colnames(df)<-paste0("V",1:5)
library(ggplot2)
library(ggforce)
ggplot(data=df,aes(x=V1,y=V2,color=V5))+
geom_point()+
geom_mark_ellipse(aes(fill=V5),alpha=0.1)+
theme_bw()+
coord_cartesian(clip = "off")+
theme(plot.margin = margin(10,10,10,50),
legend.background = element_blank())

用到的是geom_mark_hull()
函数
df<-iris
colnames(df)<-paste0("V",1:5)
library(ggplot2)
library(ggforce)
#install.packages("concaveman")
library(concaveman)
ggplot(data=df,aes(x=V1,y=V2,color=V5))+
geom_point()+
geom_mark_hull(aes(fill=V5),alpha=0.1)+
theme_bw()+
coord_cartesian(clip = "off")+
theme(plot.margin = margin(10,10,10,50),
legend.background = element_blank())
这里会遇到一个警告信息Warning message: The concaveman package is required for geom_mark_hull
需要安装并加载concaveman这个包 ··· install.packages("concaveman") library(concaveman) ···
df<-iris
colnames(df)<-paste0("V",1:5)
library(ggplot2)
library(ggforce)
#install.packages("concaveman")
library(concaveman)
ggplot(data=df,aes(x=V1,y=V2,color=V5))+
geom_point()+
geom_mark_ellipse(aes(fill=V5,label=V5),alpha=0.1)+
theme_bw()+
coord_cartesian(clip = "off")+
theme(plot.margin = margin(10,10,10,50),
legend.background = element_blank())
以上就是如何用R语言的ggplot2+ggforce包绘制散点图并添加分组边界,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
边界
分组
函数
语言
知识
数据
文章
方法
更多
知识点
篇文章
实用
一行
三个
上层
使用方法
信息
参数
命令
圆圈
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
脚本可以修改数据库吗
常州软件开发公司哪家好
公共网络安全条例
mac电脑 软件开发
怎样用服务器搭建个人云
驻训网络安全
网络技术基础实训教程修订版
网络安全主管落实情况
为什么迷你玩家要炸mc服务器
医院网络安全工作规划和实施方案
信息通信和网络安全管理公安
连接imap服务器
公安 网络安全 职责
超凡先锋服务器怎么修改
山东联投网络技术公司
无锡合同管理软件开发平台
家装网络安全吗
超市系统的数据库服务器
龙族幻想捏脸数据库女
软件开发中的设计模式
科技互联网发展之迅速
jvm如何从服务器获取内存的
轴承软件开发
服务器如何发送快捷方式到桌面
长航公安局安庆分局网络安全
公安 网络安全 职责
关于网络安全的讲座
计算机网络技术大专好找工作吗
219网络安全吗
软件开发公司排行2016